RFE: Function list

Bug #828711 reported by mati
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Scribes
Fix Committed
Low
Unassigned

Bug Description

I'm having a terrible experience with long PHP files. When opened in editors with function list (Geany, Eclipse PDT) I can see what's happening here and quickly find the function that is my candidate for updating (and clicking the name gets me straight to the code).

When I don't know what name to look for (hence Control-F is useless), there is no other option than browsing all the file (which is far from optimal solution).

I think it's pretty common situation - users edit and change files from open source projects or made by other people.
Is there a way in Scribes to help them see a bigger picture of a file?
If not, I think the function list would make a pretty great improvement in programers' workflow :)

Revision history for this message
proycon (proycon) wrote :

I agree. I'm about to try to switch to Scribes from Geany. For Python it seems scribes has everything I need, including the nice Python symbol browser which works very well, but for other languages (most notably C++), I miss the symbol browser to quickly see the classes and functions in my source. It would be very nice if the symbol browser could get support for more languages. I'd be mostly looking for C/C++ support.

Revision history for this message
Mystilleef (mystilleef) wrote :

I agree. I'll work on this after the port to GTK 3.

Changed in scribes:
status: New → Triaged
importance: Undecided → Low
Revision history for this message
proycon (proycon) wrote :

I've been working in scribes ever since my previous post, and I like it a lot! I could however no longer live without a C++ symbol browser, as it's too much of a hassle to find my functions and classes without one. I didn't want to sacrifice my minimalism and switch back to geany either, so I took it upon myself to implement a simple C++ symbol browser for scribes, using exuberant-ctags to do the actual C++ source parsing. It was hacked together rather quickly so you may want to adjust it a bit (remove hard-coded /tmp paths etc). I've send the patch to you using bzr, as it may perhaps be useful for others interested in such a feature. Expanding it to other languages (providing ctags supports it), should be fairly trivial. It does introduce a third-party dependency though (exuberant-ctags).

Revision history for this message
proycon (proycon) wrote :

Here is the abovementioned patch:

Revision history for this message
Mystilleef (mystilleef) wrote :

Thank you for your work!

Will update the branch once I have time to figure out how to uncorrupt my local branch. :-)

Revision history for this message
proycon (proycon) wrote :

I have added improvements and fixes to the (C++) Symbol Browser:

 - Symbols are properly ordered (classes always first though)
 - Now supports C/C++ Header files
 - MORE GENERIC: now supports other languages as well, Java, Perl, PHP (limited), and others..

 - INSTAJUMP SUPPORT: selecting a symbol will instantly jump the editor to its location. This facilitates easy navigation. I also patched the Python Symbol Browser with this new behaviour.

The patch is attached and can be applied (no need to first apply my earlier patch) through 'bzr patch'.

Revision history for this message
proycon (proycon) wrote :
Revision history for this message
proycon (proycon) wrote :
proycon (proycon)
Changed in scribes:
status: Triaged → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.