packages feed

lsp-test-0.16.0.1: lsp-test.cabal

cabal-version:      2.4
name:               lsp-test
version:            0.16.0.1
synopsis:           Functional test framework for LSP servers.
description:
  A test framework for writing tests against
  <https://microsoft.github.io/language-server-protocol/ Language Server Protocol servers>.
  @Language.LSP.Test@ launches your server as a subprocess and allows you to simulate a session
  down to the wire.
  To see examples of it in action, check out <https://github.com/haskell/haskell-ide-engine haskell-ide-engine>,
  <https://github.com/haskell/haskell-language-server haskell-language-server> and
  <https://github.com/digital-asset/ghcide ghcide>.

homepage:
  https://github.com/haskell/lsp/blob/master/lsp-test/README.md

license:            BSD-3-Clause
license-file:       LICENSE
author:             Luke Lau
maintainer:         luke_lau@icloud.com
bug-reports:        https://github.com/haskell/lsp/issues
copyright:          2021 Luke Lau
category:           Testing
build-type:         Simple
extra-source-files:
  ChangeLog.md
  README.md
  test/data/**/*.hs

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

library
  hs-source-dirs:     src
  default-language:   Haskell2010
  default-extensions: ImportQualifiedPost
  exposed-modules:    Language.LSP.Test
  reexported-modules:
    lsp-types:Language.LSP.Protocol.Types
    , lsp-types:Language.LSP.Protocol.Message
    , lsp-types:Language.LSP.Protocol.Capabilities
    , parser-combinators:Control.Applicative.Combinators

  build-depends:
    , aeson
    , aeson-pretty
    , ansi-terminal
    , async                 >=2.0
    , base                  >=4.10  && <5
    , bytestring
    , co-log-core
    , conduit
    , conduit-parse         ^>=0.2
    , containers            >=0.5.9
    , data-default
    , Diff                  >=0.3
    , directory
    , exceptions
    , filepath
    , Glob                  >=0.9   && <0.11
    , lens
    , lens-aeson
    , lsp                   ^>=2.3
    , lsp-types             ^>=2.1
    , mtl                   <2.4
    , parser-combinators    >=1.2
    , process               >=1.6
    , row-types
    , some
    , text
    , time
    , transformers

  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

  other-modules:
    Language.LSP.Test.Compat
    Language.LSP.Test.Decoding
    Language.LSP.Test.Exceptions
    Language.LSP.Test.Files
    Language.LSP.Test.Parsing
    Language.LSP.Test.Server
    Language.LSP.Test.Session

  ghc-options:        -W

test-suite tests
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  main-is:          Test.hs
  default-language: Haskell2010
  default-extensions: ImportQualifiedPost
  ghc-options:      -W
  other-modules:    DummyServer
  build-depends:
    , aeson
    , base          >=4.10 && <5
    , containers
    , data-default
    , directory
    , filepath
    , hspec
    , lens
    , lsp           ^>=2.3
    , lsp-test
    , mtl           <2.4
    , parser-combinators
    , process
    , text
    , unliftio


test-suite func-test
  type:             exitcode-stdio-1.0
  hs-source-dirs:   func-test
  default-language: Haskell2010
  default-extensions: ImportQualifiedPost
  main-is:          FuncTest.hs
  build-depends:
    , base
    , co-log-core
    , hspec
    , lens
    , lsp
    , lsp-test
    , parser-combinators
    , process
    , unliftio


test-suite example
  type:               exitcode-stdio-1.0
  hs-source-dirs:     example
  default-language:   Haskell2010
  default-extensions: ImportQualifiedPost
  main-is:            Test.hs
  build-depends:
    , base
    , lsp-test
    , parser-combinators
  build-tool-depends: lsp:lsp-demo-reactor-server

benchmark simple-bench
  type:             exitcode-stdio-1.0
  hs-source-dirs:   bench
  default-language: Haskell2010
  default-extensions: ImportQualifiedPost
  main-is:          SimpleBench.hs
  ghc-options:      -Wall -O2 -eventlog -rtsopts
  build-depends:
    , base
    , extra
    , lsp
    , lsp-test
    , process