packages feed

lsp-test-0.17.0.2: lsp-test.cabal

cabal-version:      2.4
name:               lsp-test
version:            0.17.0.2
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

common warnings
  ghc-options: -Wunused-packages

library
  import:             warnings
  hs-source-dirs:     src
  default-language:   GHC2021
  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               >=2     && <2.3
    , aeson-pretty        ^>=0.8
    , ansi-terminal       >=0.10  && <1.2
    , async               ^>=2.2
    , base                >=4.10  && <5
    , bytestring          >=0.10  && <0.13
    , co-log-core         ^>=0.3
    , conduit             ^>=1.3
    , conduit-parse       ^>=0.2
    , containers          ^>=0.6
    , data-default        ^>=0.7
    , Diff                >=0.4   && <0.6
    , directory           ^>=1.3
    , exceptions          ^>=0.10
    , extra               ^>=1.7
    , filepath            >=1.4 && < 1.6
    , Glob                >=0.9   && <0.11
    , lens                >=5.1   && <5.3
    , lens-aeson          ^>=1.2
    , lsp                 ^>=2.6
    , lsp-types           ^>=2.2
    , mtl                 >=2.2   && <2.4
    , parser-combinators  ^>=1.3
    , process             ^>=1.6
    , some                ^>=1.0
    , text                >=1     && <2.2
    , time                >=1.10  && <1.13
    , transformers        >=0.5   && <0.7

  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
  import:             warnings
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test
  main-is:            Test.hs
  default-language:   GHC2021
  ghc-options:        -W
  other-modules:      DummyServer
  build-depends:
    , aeson
    , base
    , containers
    , data-default
    , directory
    , extra
    , filepath
    , hspec
    , lens
    , lsp
    , lsp-test
    , mtl
    , parser-combinators
    , process
    , text
    , unliftio

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

test-suite example
  import:             warnings
  type:               exitcode-stdio-1.0
  hs-source-dirs:     example
  default-language:   GHC2021
  main-is:            Test.hs
  build-depends:
    , base
    , lsp-test
    , parser-combinators

  build-tool-depends: lsp:lsp-demo-reactor-server

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