[...]
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:
- You need to have ctags installed in your system
- 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@uvena.de https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel