In favour of


Haskell library for the Microsoft Language Server Protocol, data types

Version on this page:
LTS Haskell 19.33:
Stackage Nightly 2022-03-17:
Latest on Hackage:

See all snapshots haskell-lsp-types appears in

MIT licensed by Alan Zimmerman
Maintained by [email protected]
This version can be pinned in stack with:haskell-lsp-types-,2941

Module documentation for

  • Language
    • Language.Haskell
      • Language.Haskell.LSP
        • Language.Haskell.LSP.Types
          • Language.Haskell.LSP.Types.Capabilities
          • Language.Haskell.LSP.Types.Constants
          • Language.Haskell.LSP.Types.Lens
          • Language.Haskell.LSP.Types.MessageFuncs
          • Language.Haskell.LSP.Types.Utils



Haskell library for the data types for Microsoft Language Server Protocol

Useful links

Other resource

See #haskell-ide-engine on IRC freenode


Revision history for haskell-lsp-types

  • Don’t log errors for ‘$/’ notifications (@jinwoo)
  • Force utf8 encoding when writing vfs temp files (@jneira)
  • Store a hash in a NormalizedUri (@mpickering)
  • Move “Semigroup WorkspaceEdit” instance (@sheaf)
  • Fix vfs line endings (@jneira) – 2019-12-14

  • Fix vfs line endings (@jneira)
  • Fix typo in .cabal (@turion)
  • Normalize file paths before converting to Uri’s (@jneira)
  • Fixes to persistVirtualFile (@mpickering) – 2019-11-17

  • Fix response type for CodeLensResolve, add the ContentModified error code (@SquidDev)
  • Add missing fmClientPrepareRenameRequest to MessageFuncs export (@alanz)
  • Rework Core.Options and infer all server capabilities from handlers (@bubba)
  • Generate lenses for WorkDoneProgress data types (@alanz) – 2019-10-18

  • Update progress reporting to match the LSP 3.15 specification (@cocreature)
  • Ensure ResponseMessage has either a result or an error (@cocreature) – 2019-09-07

  • Add support for CodeActionOptions (@thomasjm)
  • Add support for textDocument/prepareRename request (@thomasjm)
  • Fix diagnostic code parsing (@thomasjm)
  • Fix shutdown response type (@bubba)
  • Relax base constraints for GHC 8.8 (@bubba) – 2019-07-01

  • Normalize URIs to avoid issues with percent encoding (@cocreature) – 2019-06-13

  • Fix Haddock error – 2019-06-13

  • Add support for custom request and notification methods (@cocreature) – 2019-04-28

  • Fix window/progress/cancel notification being a from server notification when it should be a from client notification
  • Fix typo in FoldingRange request name – 2019-04-22

  • Add types for window/progress notifications.

  • Add MarkupContent to HoverResponse, and (some) json roundtrip tests. – 2019-04-11

  • Add applyTextEdit and editTextEdit helpers – 2018-10-27

  • Support GHC 8.6.1 by loosening constraints. Via @domenkozar – 2018-09-08

  • Update Hover to be a nullable according to spec
  • Move Lenses into a separate module, Language.Haskell.LSP.Types.Lens – 2018-08-14

  • Update CompletionItem
  • Add commitCharacters field
  • Add MarkupContent option for documentation
  • Add preselect field
  • Add CompletionContext
  • Add new server capabilities
  • Add workspace folder support
  • Add document color and color presentation
  • Add folding range support
  • Add goto type support
  • s/TH/Types/g
  • Move all types into haskell-lsp-types
  • Hide Language.Haskell.LSP.TH.DataTypesJSON - Use Language.Haskell.LSP.Types instead
  • Add lenses for Language.Haskell.LSP.Types.Capabilities – 2018-08-06

  • Add new DocumentSymbol type and hierarchal support
  • Rename CommandOrCodeAction to CAResult – 2018-08-03

  • Update Command.arguments to match specification
  • Update ClientCapabilities to v3.10
  • Add MarkupContent
  • Add new CompletionKinds
  • Add new SymbolKinds
  • Add preset version capabilities – 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.

  • GHC 8.4.3 support
  • Introduce additional error codes as per the LSP spec. By @Bubba – 2018-05-04

  • Make Diagnostic relatedInformation optional, as per the LSP Spec. By @Bubba. – 2018-05-02

  • Broken out from the haskell-lsp package, to simplify development by not having to run massive TH processes when working on the framework.