[Geany-devel] Request: multithreaded tag generation?

Lex Trotman elextr at xxxxx
Sat Jan 28 02:31:31 UTC 2012


[...]
> OK, there's a plugin called gctags which I've been using for almost
> two years now but haven't had time to polish it and make part of
> geany-plugins. I've uploaded the plugin here:
>
> https://github.com/techee/geany-gctags
>
> How it works:
> 1. You need to have ctags installed in your system
> 2. In project->properties you set the file patterns which should be
> scanned for tags
> 3. There's a new menu item Project->generate tags - it scans all the
> files satisfying the patterns and creates tags file with the same name
> as the project file but with the extension .tags
> 4. There's Project->Find tag menu item: it pops up a dialog where you
> can search for the tag (you can assign keybinding for this action).
> After hitting enter, all the tags which are found are printed to the
> Messages window. I use some space-based indentation so it's better to
> use monospace font for the Messages window. After clicking a tag, you
> get to the corresponding line/file.
> 5. Instead of (4) you can use the context menu which has two new
> entries - "Find tag definition" and "Find tag declaration" - these
> print the definition/declaration of the symbol under cursor
> immediately.

Good one, does navigation, now all we need to add is completion :)

>
> The plugin doesn't do any smart reloading of tags - you have to do it
> manually from the menu. However in practice this has never been a
> problem for me -

And after all, this is how ctags has worked in editors since emacs was
a teco macro and vim was a vi in short pants.

> for recently used files you can use Geany's search in
> open files. When you find the tags are off or cannot be found, you can
> regenerate them manually - this is extremely FAST compared to what
> Geany needs for "parsing" (parsing is in apostrophes because it's not
> the parsing which is slow - it's some crazyness in the tag manager).
>

Yeah, sadly that makes my suggestion of saving the tags unlikely to
save much time, though I havn't tested it, anecdotally loading large
saved tags files is still slow.

> I've been working on very large projects (2 millions LOC in C) and
> this has been working very well for me. I've always disabled the tag
> generation by Geany because it's way too slow for any bigger project.
>

Lets encourage and help Colomban with his experiments of replacing
tagmangler, and add ctags loading.

Cheers
Lex

> Cheers,
> Jiri
> _______________________________________________
> Geany-devel mailing list
> Geany-devel at uvena.de
> https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel



More information about the Devel mailing list