One of the stated goals of our Emacs configuration is to:
Have a focus on excellent support for individual languages.
The problem of supporting many languages is a complicated one. For the community, the workload required to support m languages on n editors is O(mn), as you might expect.
LSP, the Language Server Protocol, aims to turn this from O(mn) to O(m + n), by offloading general tasks to a separate process that is implemented for the specific language. In this way, an editor only needs to implement bindings to connect to a language server and handle its responses, and the language server can be provided by those who are familiar with the language.
Is there interest in adopting lsp-mode? It has nice integrations with flycheck and company-mode too.
Here's an example of what lsp-ui presents in rust-mode. Quite rich!
One of the stated goals of our Emacs configuration is to:
The problem of supporting many languages is a complicated one. For the community, the workload required to support m languages on n editors is O(m n), as you might expect.
LSP, the Language Server Protocol, aims to turn this from O(m n) to O(m + n), by offloading general tasks to a separate process that is implemented for the specific language. In this way, an editor only needs to implement bindings to connect to a language server and handle its responses, and the language server can be provided by those who are familiar with the language.
Is there interest in adopting lsp-mode? It has nice integrations with flycheck and company-mode too.
Here's an example of what
lsp-ui
presents in rust-mode. Quite rich!