packages feed

lsp-1.0.0.0: lsp.cabal

cabal-version:       2.4
name:                lsp
version:             1.0.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 IDE
                     Engine, at https://github.com/haskell/haskell-ide-engine

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

library
  reexported-modules:  Language.LSP.Types
                     , Language.LSP.Types.Capabilities
                     , Language.LSP.Types.Lens
                     , Language.LSP.VFS
  exposed-modules:     Language.LSP.Server
                     , Language.LSP.Diagnostics
  other-modules:       Language.LSP.Server.Core
                     , Language.LSP.Server.Control
                     , Language.LSP.Server.Processing
  ghc-options:         -Wall
  build-depends:       base >= 4.9 && < 4.15
                     , async
                     , aeson >=1.0.0.0
                     , attoparsec
                     , bytestring
                     , containers
                     , directory
                     , data-default
                     , filepath
                     , hslogger
                     , hashable
                     , lsp-types == 1.0.*
                     , dependent-map
                     , lens >= 4.15.2
                     , mtl
                     , network-uri
                     , sorted-list == 0.2.1.*
                     , stm == 2.5.*
                     , scientific
                     , text
                     , transformers >= 0.5.6 && < 0.6
                     , time
                     , unordered-containers
                     , unliftio-core
                     -- used for generating random uuids for dynamic registration
                     , random
                     , uuid >= 1.3
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options: -Wall -fprint-explicit-kinds

executable lsp-demo-reactor-server
  main-is:             Reactor.hs
  hs-source-dirs:      example
  default-language:    Haskell2010
  ghc-options:         -Wall -Wno-unticked-promoted-constructors

  build-depends:       base >= 4.9 && < 4.15
                     , aeson
                     , bytestring
                     , containers
                     , directory
                     , filepath
                     , hslogger
                     , lens >= 4.15.2
                     , mtl
                     , stm
                     , text
                     , transformers
                     , unordered-containers
                     , unliftio
                     -- the package library. Comment this out if you want repl changes to propagate
                     , lsp
  if !flag(demo)
    buildable:         False

executable lsp-demo-simple-server
  main-is:             Simple.hs
  hs-source-dirs:      example
  default-language:    Haskell2010
  ghc-options:         -Wall -Wno-unticked-promoted-constructors
  build-depends:       base >= 4.9 && < 5
                    -- the package library. Comment this out if you want repl changes to propagate
                     , lsp
                     , text
  if !flag(demo)
    buildable:         False

flag demo
  description: Build the demo executables
  default:     False


test-suite unit-test
  type:                exitcode-stdio-1.0
  -- hs-source-dirs:      test src
  hs-source-dirs:      test
  main-is:             Main.hs
  other-modules:       Spec
                       CapabilitiesSpec
                       JsonSpec
                       DiagnosticsSpec
                       MethodSpec
                       ServerCapabilitiesSpec
                       TypesSpec
                       URIFilePathSpec
                       VspSpec
                       WorkspaceEditSpec
  build-depends:       base
                     , QuickCheck
                     , aeson
                     , bytestring
                     , containers
                     , data-default
                     , directory
                     , filepath
                     , hashable
                     , lsp
                     , hspec
                     -- , hspec-jenkins
                     , lens >= 4.15.2
                     , network-uri
                     , quickcheck-instances
                     , rope-utf16-splay >= 0.2
                     , sorted-list == 0.2.1.*
                     , stm
                     , text
                     , unordered-containers
                     -- For GHCI tests
                     -- , async
                     -- , haskell-lsp-types
                     -- , hslogger
                     -- , temporary
                     -- , time
                     -- , unordered-containers
  build-tool-depends:  hspec-discover:hspec-discover
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
  default-language:    Haskell2010

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