Sorry to hijack a bit the thread. I have been using Emacs for the past 20+ years. Before I could live in Emacs, now, I find it harder (software forced on me by external customers, AI tools, ...).
I try everywhere I can to install an Emacs mode for code/text navigation. But they tend to be inconsistent and for some software, it is simply not possible.
Do you have good resources to help there (running Linux/Gnome)? Do you keep the faith or switched "out"?
Install the latest emacs release and you will be able to do `M-x eglot` – this by default knows about language servers for many programming languages, so if you e.g. do this while in a C++ file in some project, it will start clang or ccls (whatever's in PATH); the language server will then be active for all files in that project and you can use `M-.` (xref-find-definitions), `M-,` (xref-go-back), `M-?` (xref-find-references). Try also `M-x eglot-code-actions` on a symbol to see all available actions (renaming, add imports, refactoring etc.; what you get here depends on the language server).
I also use this plugin https://github.com/minad/consult which has the command `consult-ripgrep`, very useful for e.g. looking up all occurrences of the symbol at point (and text navigation across multiple files).
For "AI", start with https://github.com/karthink/gptel/ (its README lists alternative packages, as you can see there is no lack of llm support in emacs, both chat, "agents" and more specific use-cases)
To add to this, consult works great with embark, and orderless, which make for a wonderful emacs experience.
Also, on the llm point even though I know elisp, and use emacs heavily, they can be great for creating little personal commands that just make things a little nicer to use (lowering the barrier of "I'll write a command for this" from 15 minutes to 2 minutes is huge and means I can be bothered to do it for more marginal things which makes the editor even more pleasant to use).
I try everywhere I can to install an Emacs mode for code/text navigation. But they tend to be inconsistent and for some software, it is simply not possible.
Do you have good resources to help there (running Linux/Gnome)? Do you keep the faith or switched "out"?