GNU GLOBAL source code tagging system
gnu.org
gnu.org
As a Vim user, the comparisons to Ctags and cscope were informative.
And the list of supported languages is impressive! Awk, Dos batch, COBOL, C, C++, C#, Erlang, Fortran, Java, JavaScript, Lisp, Lua, Pascal, Perl, PHP, Python, Ruby, Matlab, OCaml, Scheme, Tcl, TeX, Verilog, Vhdl and Vim.
The cscope caller/callee search is apparently still just text search in the code (rather than unambiguous call-graph resolution by compilation).
1. Where is symbol "foo" mentioned? 2. Where is function "foo" called? 3. What other functions does function "foo" call?
GNU global can do #1, but not #2 or #3.
I use it in Linux and Windows. I mostly work on C/C++ (Linux kernel, Windows drivers etc) and also have used it for few C# projects (via exuberant ctags backend).
One real advantage I get: I switch platforms between Linux and Windows (the place I work for has both). So I use emacs in both platforms and same gtags customization works out of box in both platforms. This relieves me in learning/using new editor/tagging system for each platform.
FWIW: my dot emacs https://github.com/surki/dotemacs/blob/master/init.org
It uses clang (llvm) to figure out all the cross-refs so doesn't have false positives from fuzzy matching.
rtags - https://github.com/Andersbakken/rtags vim plugin - https://github.com/lyuts/vim-rtags
I doubt it, since this basically requires a C++ compiler and GLOBAL does not seem to have that. Yet that is what, after years now, I'm still looking for for Vim...
Incidentally I remember there was a work in progress code navigation system posted to HN semi-recently (written in Go?), but its name eludes me. Anyone want to point me to it? I'm curious how it's progressed since it was posted.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574947
https://bugs.launchpad.net/ubuntu/+source/global/+bug/127502...
Hope it help.