Comment by RahulMJ
15 hours ago
A bit of extra info:
- `ts` stands for "tree-sitter", meaning this mode uses tree-sitter under the hood, which is, among other things, very performant.
- There's support for the CommonMark spec and GFM, so things like `- [ ]` checkboxes and ~~strikethrough~~ work out of the box, along with many other small QoL features.
- This mode is BUILT-IN, so no extra packages are needed.
- This is currently in the experimental phase, so users need to "opt in" and load the mode to play with it, hence the first part of the guide.
I think in 31 registering the file types isnt necessary any more, the mode opens automatically for me (and i did manually delete the old markdown-mode)
Tree sitter support is half baked in the same way official LSP support is, only kind of worse.
Eglot won't help you get your system ready for LSP work, it will only avail itself if what's there. It doesn't even auto detect and configure that, either. There's no user prompting, so you'll have to read the docs to know that this even needs to be done.
Similarly, tree sitter support doesn't include the grammars! And those aren't typically sitting in your package repository, so users have to find a grammar and compile it themselves. There's not even a good recommendation given by Emacs on where to get them, leaving users to hope that whatever repository showed up on a Google search is both in good working order and safe to use.
It's really quite a failure on Emacs.
In Emacs 31 none of what you’re saying is true. Grammars auto install and setting them up is easy.
https://www.reddit.com/r/emacs/comments/1utghab/treesitter_s...
Well that's a nice change; I'm still on Emacs 30.
But note that this is not the default. Users have to enable that behaviour, and know to enable it. That's a bad default.
10 replies →
The critique converning lsp and eglot support is nonetheless true.
If it can't find an LSP binary, Eglot will prompt you to pick one, and tell you which one it was looking for. That seems reasonable to me. I wouldn't want Emacs to download and install random binaries on my system automatically.
My experience with Emacs 30 is that Eglot will prompt and show nothing of meaningful assistance beyond a name. That leaves me to run a google search to find whatever binaries fit the description.
They host binaries already; why not host all of the binaries necessary for the supported features to function?