lsp: Haskell library for the Microsoft Language Server Protocol

[ development, library, mit ] [ Propose Tags ]

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 Language Server, at https://github.com/haskell/haskell-language-server


[Skip to Readme]
Versions [RSS] [faq] 1.0.0.0, 1.0.0.1, 1.1.0.0, 1.1.1.0, 1.2.0.0, 1.2.0.1, 1.4.0.0
Change log ChangeLog.md
Dependencies aeson (>=1.0.0.0), async, attoparsec, base (>=4.11 && <5), bytestring, containers, data-default, exceptions, hashable, hslogger, lens (>=4.15.2), lsp, lsp-types (==1.4.*), mtl, network-uri, random, scientific, sorted-list (==0.2.1.*), stm (==2.5.*), text, time, transformers (>=0.5.6 && <0.6), unliftio-core (>=0.2.0.0), unordered-containers, uuid (>=1.3) [details]
License MIT
Copyright Alan Zimmerman, 2016-2021
Author Alan Zimmerman
Maintainer alan.zimm@gmail.com
Category Development
Home page https://github.com/haskell/lsp
Source repo head: git clone https://github.com/haskell/lsp
Uploaded by michaelpj at 2021-12-28T16:48:18Z
Distributions Arch:1.2.0.1, LTSHaskell:1.2.0.0, NixOS:1.2.0.1, Stackage:1.4.0.0
Executables lsp-demo-simple-server, lsp-demo-reactor-server
Downloads 4301 total (451 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2021-12-28 [all 1 reports]

Modules

[Index] [Quick Jump]

Manual Flags

NameDescriptionDefault
Automatic Flags
NameDescriptionDefault
demo

Build the demo executables

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for lsp-1.4.0.0

[back to package description]

lsp

lsp is a library for building language servers, handling:

  • JSON-RPC transport
  • Keeping track of the document state in memory with the Virtual File System (VFS)
  • Responding to notifications and requests via handlers
  • Setting the server capabilities in the initialize request based on registered handlers
  • Dynamic registration of capabilities
  • Cancellable requests and progress notifications
  • Publishing and flushing of diagnostics

It is part of the lsp family of packages, along with lsp-test and lsp-types

For more information, check https://github.com/haskell/lsp/blob/master/README.md