Haskell library for the Microsoft Language Server Protocol
Warning: this library and its associated ecosystem is under development at the moment. So do not have high expectations, it is not ready for casual use.
To see this library in use you need to install the haskell-ide-engine
git clone https://github.com/haskell/haskell-ide-engine --recursive cd haskell-ide-engine stack install
This will put the
hie executable in your path.
Then, run the plugin in vscode:
git clone https://github.com/alanz/vscode-hie-server cd vscode-hie-server code .
In vscode, press F5 to run the extension in development mode.
You can see a log from
hie by doing
tail -F /tmp/hie-vscode.log
There are also facilities on the code to send back language-server-protocol log and show events.
It can also be used with emacs, see https://github.com/emacs-lsp/lsp-haskell
Using the example server
will generate a
Changing the server to be called in the
vscode-hie-server plugin from
lsp-hello will run the example server instead of hie.
Likewise, changing the executable in
lsp-haskell for emacs.
See #haskell-ide-engine on IRC freenode
Revision history for haskell-lsp
0.4.0.0 – 2018-07-10
- CodeAction support as per v3.8 of the specification, by @Bubba
- Update VersionedTextDocumentIdentifier to match specification, by @Bubba
- Handle TextDocumentSync fallbacks with new TDS type.
0.2.3.0 – 2018-99-99
- GHC 8.4.3 support
- Apply changes to the VFS in the order received in a message. This fixes vscode undo behaviour. By @Bubba
- Introduce additional error codes as per the LSP spec. By @Bubba
- Add preliminary support for recording LSP traffic for later playback in test scenarios. By @Bubba
0.2.2.0 – 2018-05-04
- Make Diagnostic relatedInformation optional, as per the LSP Spec. By @Bubba.
0.2.1.0 – 2018-05-02
- Support GHC 8.4.2
- Split into two packages
- Language.Haskell.LSP.TH.DataTypesJSON becomes Language.Haskell.LSP.Types
- Diagnostic now has _relatedInformation. Can default it to mempty. via @AlexeyRaga
- Correct the name of the DidChangeWatchedFilesParams field, by @robrix
- Make sure to escape URIs properly for Windows file paths Fixes #75. Also added a couple of pretty dumb tests!, by @johnsonw
0.2.0.1 – 2017-12-27
- Built with LTS 10.1 (stack)
- Don’t escape semicolons after drive letters by @nponeccop
- Add Foldable and Traversable instance to List by @noughtmare
0.2.0.0 – 2017-11-23
- Major changes as implementation continued. Now seems stable, used in haskell-ide-engine
0.1.0.0 – 2017-07-19
- First version. Implements version 3 of the Microsoft Language Server Protocol