| CARVIEW |
haskell-lsp: Haskell library for the Microsoft Language Server Protocol
An implementation of the types, and basic message server to allow language implementors to support the Language Server Protocol for their specific language.
An example of this is for Haskell via the Haskell IDE Engine, at https://github.com/haskell/haskell-ide-engine
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Language
- Haskell
- LSP
- Language.Haskell.LSP.Capture
- Language.Haskell.LSP.Constant
- Language.Haskell.LSP.Control
- Language.Haskell.LSP.Core
- Language.Haskell.LSP.Diagnostics
- Language.Haskell.LSP.Messages
- Language.Haskell.LSP.Types
- Language.Haskell.LSP.Types.Capabilities
- Language.Haskell.LSP.Types.Lens
- Language.Haskell.LSP.Utility
- Language.Haskell.LSP.VFS
- LSP
- Haskell
Flags
Automatic Flags
| Name | Description | Default |
|---|---|---|
| demo | Build the lsp-hello demo executable | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- haskell-lsp-0.24.0.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.1.0.0, 0.2.0.0, 0.2.0.1, 0.2.1.0, 0.2.2.0, 0.4.0.0, 0.5.0.0, 0.6.0.0, 0.7.0.0, 0.8.0.0, 0.8.0.1, 0.8.1.0, 0.8.2.0, 0.9.0.0, 0.10.0.0, 0.11.0.0, 0.12.0.0, 0.12.1.0, 0.13.0.0, 0.14.0.0, 0.15.0.0, 0.15.0.1, 0.16.0.0, 0.17.0.0, 0.18.0.0, 0.19.0.0, 0.20.0.0, 0.20.0.1, 0.21.0.0, 0.22.0.0, 0.23.0.0, 0.24.0.0 (info) |
|---|---|
| Change log | ChangeLog.md |
| Dependencies | aeson (>=1.0.0.0 && <1.6), async, attoparsec, base (>=4.9 && <4.15), bytestring, containers, data-default, directory, filepath, hashable, haskell-lsp, haskell-lsp-types (>=0.24 && <0.25), hslogger, lens (>=4.15.2), mtl, network-uri, rope-utf16-splay (>=0.3.1.0), sorted-list (>=0.2.1 && <0.2.2), stm, temporary, text, time, transformers, unordered-containers, vector [details] |
| License | MIT |
| Copyright | Alan Zimmerman, 2016-2020 |
| Author | Alan Zimmerman |
| Maintainer | alan.zimm@gmail.com |
| Uploaded | by wz1000 at 2021-01-13T15:27:59Z |
| Revised | Revision 2 made by Bodigrim at 2021-10-21T18:13:30Z |
| Category | Development |
| Home page | https://github.com/alanz/haskell-lsp |
| Source repo | head: git clone https://github.com/alanz/haskell-lsp |
| Distributions | |
| Reverse Dependencies | 13 direct, 32 indirect [details] |
| Executables | lsp-hello |
| Downloads | 31167 total (101 in the last 30 days) |
| Rating | 2.25 (votes: 2) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2021-01-13 [all 1 reports] |
Readme for haskell-lsp-0.24.0.0
[back to package description]haskell-lsp
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.
Hacking
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
stack install :lsp-hello --flag haskell-lsp:demo
will generate a lsp-hello executable.
Changing the server to be called in the vscode-hie-server plugin from hie to
lsp-hello will run the example server instead of hie.
Likewise, changing the executable in lsp-haskell for emacs.
Useful links
Other resource
See #haskell-ide-engine on IRC freenode