packages feed

lsp-2.7.0.0: lsp.cabal

cabal-version:      2.2
name:               lsp
version:            2.7.0.0
synopsis:           Haskell library for the Microsoft Language Server Protocol
description:
  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

homepage:           https://github.com/haskell/lsp
license:            MIT
license-file:       LICENSE
author:             Alan Zimmerman
maintainer:         alan.zimm@gmail.com
copyright:          Alan Zimmerman, 2016-2021
category:           Development
build-type:         Simple
extra-source-files:
  ChangeLog.md
  README.md

source-repository head
  type:     git
  location: https://github.com/haskell/lsp

common warnings
  ghc-options: -Wall -Wunused-packages -Wno-unticked-promoted-constructors

library
  import: warnings
  hs-source-dirs:     src
  default-language:   GHC2021
  ghc-options:        -fprint-explicit-kinds
  reexported-modules:
    , Language.LSP.Protocol.Types
    , Language.LSP.Protocol.Lens
    , Language.LSP.Protocol.Capabilities
    , Language.LSP.Protocol.Message

  exposed-modules:
    Language.LSP.Diagnostics
    Language.LSP.Logging
    Language.LSP.Server
    Language.LSP.VFS

  other-modules:
    Language.LSP.Server.Control
    Language.LSP.Server.Core
    Language.LSP.Server.Processing
    Language.LSP.Server.Progress

  build-depends:
    , aeson                 >=2      && <2.3
    , async                 ^>=2.2
    , attoparsec            ^>=0.14
    , base                  >=4.11   && <5
    , bytestring            >=0.10   && <0.13
    , co-log-core           ^>=0.3
    , containers            >=0.6 && < 0.8
    , data-default          ^>=0.7
    , directory             ^>=1.3
    , exceptions            ^>=0.10
    , extra                 ^>=1.7
    , filepath              >=1.4 && < 1.6
    , hashable              ^>=1.4
    , lens                  >=5.1    && <5.4
    , lens-aeson            ^>=1.2
    , lsp-types             ^>=2.3
    , mtl                   >=2.2    && <2.4
    , prettyprinter         ^>=1.7
    , sorted-list           ^>=0.2.1
    , stm                   ^>=2.5
    , text                  >=1      && <2.2
    , text-rope             ^>=0.2
    , transformers          >=0.5    && <0.7
    , unliftio              ^>=0.2
    , unliftio-core         ^>=0.2
    , unordered-containers  ^>=0.2

executable lsp-demo-reactor-server
  import:             warnings
  main-is:            Reactor.hs
  hs-source-dirs:     example
  default-language:   GHC2021
  build-depends:
    , aeson
    , base
    , co-log-core
    , lens
    , lsp
    , prettyprinter
    , stm
    , text

  -- the package library. Comment this out if you want repl changes to propagate
  if !flag(demo)
    buildable: False

executable lsp-demo-simple-server
  import:             warnings
  main-is:            Simple.hs
  hs-source-dirs:     example
  default-language:   GHC2021
  build-depends:
    , base
    , lsp
    , text

  -- the package library. Comment this out if you want repl changes to propagate
  if !flag(demo)
    buildable: False

flag demo
  description: Build the demo executables
  default:     False

test-suite lsp-test
  import:             warnings
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test
  main-is:            Main.hs
  other-modules:
    DiagnosticsSpec
    Spec
    VspSpec

  build-depends:
    , base
    , containers
    , hspec
    , lsp
    , sorted-list
    , text
    , text-rope
    , unordered-containers

  build-tool-depends: hspec-discover:hspec-discover
  ghc-options:        -threaded -rtsopts -with-rtsopts=-N
  default-language:   GHC2021