name: lsp-test
-version: 0.1.0.0
+version: 0.11.0.0
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>.
- @lsp-test@ launches your server as a subprocess and allows you to simulate a session
- down to the wire.
- Used for testing in <https://github.com/haskell/haskell-ide-engine haskell-ide-engine>.
- > runSession "hie" fullCaps "path/to/root/dir" $ do
- > doc <- openDoc "Desktop/simple.hs" "haskell"
- > diags <- waitForDiagnostics
- > let pos = Position 12 5
- > params = TextDocumentPositionParams doc
- > hover <- request TextDocumentHover params
-homepage: https://github.com/Bubba/haskell-lsp-test#readme
+ @Language.Haskell.LSP.Test@ launches your server as a subprocess and allows you to simulate a session
+ down to the wire, and @Language.Haskell.LSP.Test@ can replay captured sessions from
+ <haskell-lsp https://hackage.haskell.org/package/haskell-lsp>.
+ 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/bubba/lsp-test#readme
license: BSD3
license-file: LICENSE
author: Luke Lau
maintainer: luke_lau@icloud.com
-stability: experimental
-bug-reports: https://github.com/Bubba/haskell-lsp-test/issues
-copyright: 2018 Luke Lau
+bug-reports: https://github.com/bubba/lsp-test/issues
+copyright: 2020 Luke Lau
category: Testing
build-type: Simple
cabal-version: 2.0
extra-source-files: README.md
-tested-with: GHC == 8.2.2 , GHC == 8.4.2 , GHC == 8.4.3
+ , ChangeLog.md
+tested-with: GHC == 8.2.2 , GHC == 8.4.2 , GHC == 8.4.3, GHC == 8.6.4, GHC == 8.6.5, GHC == 8.8.1, GHC == 8.10.1
source-repository head
type: git
- location: https://github.com/Bubba/haskell-lsp-test/
+ location: https://github.com/bubba/lsp-test/
+
+Flag DummyServer
+ Description: Build the dummy server executable used in testing
+ Default: False
+ Manual: True
library
hs-source-dirs: src
, haskell-lsp:Language.Haskell.LSP.Types.Capabilities
, parser-combinators:Control.Applicative.Combinators
default-language: Haskell2010
- build-depends: base >= 4.7 && < 5
- , haskell-lsp >= 0.5
+ build-depends: base >= 4.10 && < 5
+ , haskell-lsp >= 0.22 && < 0.23
, aeson
, aeson-pretty
, ansi-terminal
+ , async
, bytestring
, conduit
- , conduit-parse
- , containers
+ , conduit-parse == 0.2.*
+ , containers >= 0.5.9
, data-default
, Diff
, directory
, filepath
+ , Glob ^>= 0.10
, lens
, mtl
- , parser-combinators
- , process
+ , parser-combinators >= 1.2
+ , process >= 1.6
, text
, transformers
, unordered-containers
- , yi-rope
if os(windows)
build-depends: Win32
else
Language.Haskell.LSP.Test.Session
ghc-options: -W
+executable dummy-server
+ main-is: Main.hs
+ hs-source-dirs: test/dummy-server
+ ghc-options: -W
+ build-depends: base >= 4.10 && < 5
+ , haskell-lsp
+ , data-default
+ , aeson
+ , unordered-containers
+ , directory
+ , filepath
+ default-language: Haskell2010
+ scope: private
+ if !flag(DummyServer)
+ buildable: False
+
test-suite tests
type: exitcode-stdio-1.0
main-is: Test.hs
hs-source-dirs: test
ghc-options: -W
- build-depends: base >= 4.7 && < 5
+ build-depends: base >= 4.10 && < 5
, hspec
, lens
- , data-default
- , haskell-lsp >= 0.5
+ , haskell-lsp >= 0.22 && < 0.23
, lsp-test
+ , data-default
, aeson
, unordered-containers
, text
+ , directory
+ , filepath
default-language: Haskell2010
-
+ build-tool-depends: lsp-test:dummy-server