
I'm very glad to hear this, huge thanks for taking the time to work on this!
One question: why does the haskell LSP require a separate plugin? I thought
LSP was meant to not require any editor plugins to use a different backend?
Alan & Kim Zimmerman
Some of you have been wondering what has happened to the haskell-ide-engine[1], and whether it may perhaps have died.
Development has resumed, based mainly on the existence of an enabling technology in the Language Server Protocol[2] which is starting to have implementations for IDEs and Languages[3].
It was always the intention to leverage off common infrastructure at the IDE side, and this protocol is making that possible.
The current state for haskell-ide-engine is that support is provided in master[4], which has been tested in emacs using[5] (and [6] until the branch is merged).
It is also tested against vscode[7] using the vscode-hie-server plugin[8].
Current features include
- diagnostics provided via hlint and ghc-mod (using flycheck in emacs) - hover support giving the type under the cursor - ability to apply hlint suggestions as codeActions, via apply-refact - HaRe refactorings exposed in the emacs version. The vscode plugin lags in this, my skills are limited
There is a lot of development happening on the emacs lsp-mode, as it benefits many languages, not just haskell, and so developers from other languages are also contributing.
The LSP support for haskell-ide-engine is supplied by a separate library[9] which is being used in at least 3 other LSP servers to my knowledge. These will be made public when/if it suits their creators to do so.
The general plan going forward is to focus HIE on being an LSP server. Other transports will not be removed, but the driving paradigm will be LSP support.
The longer term plan is to use this as a platform to drive more interactivity back into GHC, starting with exploring incremental parsing driven by the document change notifications provided in the LSP protocol, and supported in haskell-lsp[9].
Alan
[1] https://github.com/haskell/haskell-ide-engine/issues/218 [2] https://github.com/Microsoft/language-server-protocol [3] https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implemen... [4] https://github.com/haskell/haskell-ide-engine [5] https://github.com/alanz/lsp-haskell [6] https://github.com/alanz/lsp-mode/tree/project-ask [7] http://code.visualstudio.com/ [8] https://github.com/alanz/vscode-hie-server [9] https://github.com/alanz/haskell-lsp
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.