Comment by crabbone

1 year ago

For years now Emacs had integration with LSP. The experience isn't quite the same as VSCode (I think, there are some proprietary extensions to LSP protocol, or some such, but don't quote me on this). But it's good enough to work in most cases (this is how I write in Ada and Rust, for instance). So, if you use Emacs: https://github.com/joaotavora/eglot I believe this is the most popular implementation.

I had thought LSP was basically an editor-independent way to implement language editing modes. Since I mostly use languages Emacs already has modes for, I haven't pursued LSP, but I figure that it's there if I need it. Thanks.

PS, I would be interested in seeing a serious Ada vs Rust comparison by an actual fluent user of both.

  • Well, I'm not there yet :) My knowledge of both languages is quite superficial. And, unfortunately, it tends to stay that way, unless I work on a commercial project in a particular language. I sort of worked on a Rust project, but I barely touched the Rust code (mostly the automation around it). With Ada, I don't expect to ever find a job that requires it...

    As for the "proprietary" part, this is my understanding, which might be totally wrong, and maybe some VSCode users will correct me (I don't use VSCode):

    Some LSP servers are proprietary (even though the protocol itself is open-source). Furthermore, some VSCode extensions (which is what LSP servers usually are) are both closed-source and have a license that only allows them to be used with VSCode. So, other tools that can interface using LSP won't necessarily have as good of a support as VSCode. LSP being a complex interface means that it can be implemented to a lesser degree by any individual server.