GNU GLOBAL source code tagging system
1–10 of 21 posts
Re: GNU GLOBAL source code tagging system
#2As 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.
Re: GNU GLOBAL source code tagging system
#3I 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.
Re: GNU GLOBAL source code tagging system
#4For me, the most useful information was the "Comparison with Similar Tools" table (in the OpenGrok project wiki), which was linked-to from the GNU GLOBAL page: https://github.com/OpenGrok/OpenGrok/wiki/Comparison-with-Si... 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,…
Re: GNU GLOBAL source code tagging system
#5For me, the most useful information was the "Comparison with Similar Tools" table (in the OpenGrok project wiki), which was linked-to from the GNU GLOBAL page: https://github.com/OpenGrok/OpenGrok/wiki/Comparison-with-Si... 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,…
The fancy language support is provided by exuberant ctags, so look into that if that excites you. As for cscope, GNU global is very similar; it's a bit slower for some things and a bit faster for others. Global can only find references, not callers/callees like cscope can. And the Debian maintainer of GNU Global thinks that the GNU Global maintainer is an idiot, and a consequence of this is that on Debian and derived…
The cscope caller/callee search is apparently still just text search in the code (rather than unambiguous call-graph resolution by compilation).
Re: GNU GLOBAL source code tagging system
#6I 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
Re: GNU GLOBAL source code tagging system
#7Earlier quoted context omitted.
The fancy language support is provided by exuberant ctags, so look into that if that excites you. As for cscope, GNU global is very similar; it's a bit slower for some things and a bit faster for others. Global can only find references, not callers/callees like cscope can. And the Debian maintainer of GNU Global thinks that the GNU Global maintainer is an idiot, and a consequence of this is that on Debian and derived…
Can you elaborate on the difference between finding references (in GLOBAL) and finding callers/callees (in cscope)? 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.
Re: GNU GLOBAL source code tagging system
#8But can it resolve method calls (in C++, or really any language) to the correct methods, rather than just listing all methods with the same name implemented for any class? 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 t…
Re: GNU GLOBAL source code tagging system
#9Re: GNU GLOBAL source code tagging system
#10Earlier quoted context omitted.
Can you elaborate on the difference between finding references (in GLOBAL) and finding callers/callees (in cscope)? The cscope caller/callee search is apparently still just text search in the code (rather than unambiguous call-graph resolution by compilation).
Both cscope and GNU global are "just text search", but cscope's C parsing is fancier. Among other things, you can ask cscope 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.