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

[Skip to Readme]
Versions [RSS] [faq],,,,,,
Change log
Dependencies aeson (>=, 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 (>=, unordered-containers, uuid (>=1.3) [details]
License MIT
Copyright Alan Zimmerman, 2016-2021
Author Alan Zimmerman
Category Development
Home page
Source repo head: git clone
Uploaded by michaelpj at 2021-12-28T16:48:18Z
Distributions Arch:, LTSHaskell:, NixOS:, Stackage:
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]


[Index] [Quick Jump]

Manual Flags

Automatic Flags

Build the demo executables


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


Maintainer's Corner

For package maintainers and hackage trustees


Readme for lsp-

[back to package description]


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