4 ms·
I'm in the same position. I've used Emacs intensively for 20 years and I'm the author of Emacs packages that other people use. Nowadays I work on Python, Rust,
by da39a3ee 6y ago
I'm in the same position. I've used Emacs intensively for 20 years and I'm the author of Emacs packages that other people use. Nowadays I work on Python, Rust, and Typescript/$JSFramework projects. Here are some of the requirememts:
- Completions need to take the type system into account (even in Python), etc.
- Emacs has to provide intelligent completions, linting, type-checking, compiler error annotations, type information, format-on-save, jump-to-definition, code search, etc
- It has to be easy to set the interpreter path for every one of the executables involved.
- This all must work in a dockerized development environment, including setting breakpoints in 3rd party code that may exist only in a container volume.
Clearly nowadays this has to be done with LSP.
I initially got a bad impression of lsp-mode and tried Eglot. However, (a) Eglot has been under heavy development, and (b) it has a complicated relationship to other core Emacs modules such as eldoc and flycheck/flymake (who can remember which is which) and (c) it threatens to become part of Emacs which means that its development will no longer be done openly with PRs but in an old-school mailing list with a lot of bickering.
So, it now looks like I'm switching to VS Code for programming on real projects, but sticking to Emacs for Magit and everything else.
- TeMPOraL 6y agoTo the four bullet points you mention, I'll add a meta-point: this all needs to be easy to set up simultaneously, per language. That's where commercial IDEs and editors shine - you get all these things properly set up out of the box. In Emacs, I ordinarily have to wire half a dozen components to get this to work, and a different language may use different components. LSP is a great step forward here, in that most of the data and actions for aforementioned features come through a single pipe, so it's a matter of patching up the UI to taste.
- da39a3ee 6y agoIt's definitely possible in principle with LSP in Emacs I think at the very least if I'm going to put time in the future into getting this working well in Emacs then it makes sense to take a break and see what the cutting edge is like in a mainstream thing like VS Code, so I know what we're really aiming for in Emacs.
- jonnycomputer 6y agoIs Eglot the go-to for LSP in Emacs these days?
- da39a3ee 6y agoI think the answer is no there's heathy competition between Eglot and lsp-mode. I'm not aware of others yet personally.
- jonnycomputer 6y agoThanks.
- hvis 6y ago> it has a complicated relationship to other core Emacs modules such as eldoc and flycheck/flymake (who can remember which is which) It, uh, depends on the 1st and the 3rd of the mentioned packages. > it threatens to become part of Emacs which means that its development will no longer be done openly with PRs but in an old-school mailing list with a lot of bickering Joao has been saying that for a while, but seems like he has noticed after all that only a tiny percentage of the users get around to reporting bugs to Debbugs. Hopefully, that idea is dead now, or at least very much dormant. On the other end, lsp-mode has been making strides in becoming more stable and polished, and making bells-and-whistles easy to turn off. So maybe try it again too.
- deleted 6y ago[deleted]