3 ms·
To my mind there are two camps of language support in Emacs: 1. Languages where people put a lot of effort into implementing bespoke support inside Emacs itsel
by amake 6y ago
To my mind there are two camps of language support in Emacs:
1. Languages where people put a lot of effort into implementing bespoke support inside Emacs itself (as Elisp packages)
2. Languages where no one bothered to make Emacs-specific features, but are now supported quite well via LSP
Python seems to be in the #1 camp, and that seems to be what you describe.
The #2 camp, however, is superior in my experience, so I would suggest trying that instead.
I haven't worked that much with Python for a while, but at one point I used lsp-mode and pyls and it seemed pretty good:
https://emacs-lsp.github.io/lsp-mode/page/lsp-pyls/ https://emacs-lsp.github.io/lsp-mode/page/lsp-pyls/
You can also choose Microsoft's Python LSP server instead:
https://emacs-lsp.github.io/lsp-python-ms/ https://emacs-lsp.github.io/lsp-python-ms/
- kqr 6y agoCategory 1 can be further subdivided into 1.1. Languages where people have written full parsers and analysers in Emacs Lisp. 1.2. Languages where the Emacs support relies on external programs to provide intelligence. Only very few languages (e.g. JavaScript) fall in subcategory 1.1.
- throwanem 6y agoUnfortunately, js2-mode's parser isn't updated to keep pace with modern language development. I've had much better results over the last year with an LSP integration, and rarely if ever go back to js2-mode these days. Similarly, while js2-mode's built-in formatter is quite good, Prettier is both more (and more easily) configurable and more shareable - it can enforce an agreed-upon style at the codebase level without any editor-specific tooling or configuration, and the consequent absence of bikeshedding is welcome.
- deleted 6y ago[deleted]
- brlewis 6y agoYeah LSP is taking over. I don't think category 1.1 is going to last.
- mijoharas 6y agoSurprisingly, I never got to a good C++ setup in emacs. Something about how we used CMakeLists and had our project set out made it difficult to get autocomplete/gtags and everything to work the way I wanted. I know it's possible, but could never get everything to play nicely together. On the other hand, every other language I've had a brilliant experience with in emacs (using spacemacs).