Gnu global patches
Table of Contents
Global
I really like global
, it is a tag generator (just like ctags
), but
better at least from my point of view. Pretty much, it does the same
job as any other tag generator but I feel it much more ergonomic and
complete, it includes a cscope-like (although I should say
clone/fork!) tool called gtags-cscope
, a Emacs package and a CLI
tool to query the tag files for symbols, definitions and more.
For me, at least, it has been helpful, and an improvement in my workflow, I use less tools, it has integration with Emacs and is a completely independent, I do not need Emacs or any editor. Another plus is that it can be easily compiled and ported to different OS and Architectures, which is quite helpful when I want to just start developing in other OS, quite Handy!
LSP
I tried different LSPs, but I just do not like them, I felt them clunky, over-engineered and cumbersome. I tested 5 (to say at least) for different languages, and all of them have different setups, which is understandable since are different tools, however, all of them relied on the same core technologies: pipes, socket, network sockets, a common protocol, and most of the cases a compiler or interpreter for error handling, syntactical and semantic analysis.
Well, I know that this "LSPs" have another purpose, perhaps the main purpose of their existence, which is being used as servers (just like in its name) for a "cloud" experience of a partial or total development environment , i.e. a complete remote editor or just some amenities for local running editors. This is not something that hypes me up, or something that is interesting to me, I like editing on my own machine, or editing in a VM with a easily to compile tool.
Patches
Fix processing of $EDITOR
editor-options.patch: for version 6.6.12 (also tested in 6.6.9), it
should work on previous versions, the source code of gtags-cscope
has not been modify in a while.
gtags-cscope
normally fails to find the $EDITOR when this variable has
options or arguments, if this patch is applied it will be able to
correctly process the arguments and options.
Notice, however, that $EDITOR usually should not have options (I thought it was normal for it to have options), and thus it is normal and better for standard conformance to not process this options. So, you can just make a bash script if you just want to have the behavior of the patch without applying the patch [1].
If you read [1] you can infer that… I made a patch for something
that was not a bug, and for something that was already the intended
behavior, also, I did not think about solving it through bash. Sounds
like a bitter ending, but it was quite insightful, I learned that I
did not know the definition of $EDITOR
, therefore I had to search
the definition of $EDITOR
and I had to start with the easiest path
which was bash. I learned CVS, and I hate it! but that is another
story.