KDevelop ctags symbol browsing on external dependencies (solution)
Roland Krause
rokrau at yahoo.com
Tue Nov 6 06:42:59 UTC 2001
Markus,
I looked at your patch and while the idea is very good, I am not sure
that this is really what we want. It'd be much better to implement a
dialog that allows the configuration of the ctags command and to have
multiple tags files. One for the actual project and another one for
source code that doesnt change as much, e.g. kdelibs, qt, /usr/include.
This tags file doesnt have to be regenerated and should be stored in a
central location.
Still, if you think it makes your live easier I can apply the patch.
There are definitely portability issues with the grep command,
especially on older Solaris.
Roland
--- Markus Kuehni <markus.kuehni at trilab.ch> wrote:
> Hi
>
> the ctags symbol browsing solution currently only supports
> project-internal
> symbols. Symbols included from external dependencies (headers) are
> not
> catalogued.
>
> The attached patch changes this by directing ctags to also scan
> #include-d
> files. Using this technique you can now fully browse symbols
> (including Qt,
> KDE, etc.) like in M$ Visual Studio.
>
> In my configuration this only about doubles the ctag-ging time and it
> works
> nicely even on large projects (3.1s for kdevelop.kdevprj).
>
> External symbol scanning is done by evaluating the
> <source-dir>/.deps/*.P
> files generated (and updated) by the make process. The file list is
> generated using simple shell command expansion.
>
> The solution is not perfect:
> - does only work, if the source directories are first-level
> subdirectories
> of the project directory
> - does emit ugly grep error if .deps do not exist (suppress stderr or
> show
> dialog?)
> - may not be portable if grep -e is not or if command-line expansions
> has
> severe limits on other systems
> - user may be confused when system headers are opened in editor
> without full
> path in caption (or visibly read-only)
> - no config option to disable this
>
> Wishful thinking:
> ...if only ctags browsing wasn't a dialog but embedded in an output
> pane...
>
> -- Mark
>
>
> ATTACHMENT part 2 application/octet-stream
name=ckdevelop_noslot.cpp.patch
__________________________________________________
Do You Yahoo!?
Find a job, post your resume.
http://careers.yahoo.com
-
to unsubscribe from this list send an email to kdevelop-devel-request at kdevelop.org with the following body:
unsubscribe »your-email-address«
More information about the KDevelop-devel
mailing list