de933570a41f67c5f57302e097b852f93bfff92a
[lsp-test.git] / lsp-test.cabal
1 name:                lsp-test
2 version:             0.8.0.0
3 synopsis:            Functional test framework for LSP servers.
4 description:
5   A test framework for writing tests against
6   <https://microsoft.github.io/language-server-protocol/ Language Server Protocol servers>.
7   @Language.Haskell.LSP.Test@ launches your server as a subprocess and allows you to simulate a session
8   down to the wire, and @Language.Haskell.LSP.Test@ can replay captured sessions from
9   <haskell-lsp https://hackage.haskell.org/package/haskell-lsp>.
10   It's currently used for testing in <https://github.com/haskell/haskell-ide-engine haskell-ide-engine>.
11 homepage:            https://github.com/bubba/lsp-test#readme
12 license:             BSD3
13 license-file:        LICENSE
14 author:              Luke Lau
15 maintainer:          luke_lau@icloud.com
16 stability:           experimental
17 bug-reports:         https://github.com/bubba/lsp-test/issues
18 copyright:           2019 Luke Lau
19 category:            Testing
20 build-type:          Simple
21 cabal-version:       2.0
22 extra-source-files:  README.md
23                    , ChangeLog.md
24 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
25
26 source-repository head
27   type:     git
28   location: https://github.com/bubba/lsp-test/
29
30 library
31   hs-source-dirs:      src
32   exposed-modules:     Language.Haskell.LSP.Test
33                      , Language.Haskell.LSP.Test.Replay
34   reexported-modules:  haskell-lsp:Language.Haskell.LSP.Types
35                      , haskell-lsp:Language.Haskell.LSP.Types.Capabilities
36                      , parser-combinators:Control.Applicative.Combinators
37   default-language:    Haskell2010
38   build-depends:       base >= 4.10 && < 5
39                      , haskell-lsp == 0.17.*
40                      , aeson
41                      , aeson-pretty
42                      , ansi-terminal
43                      , async
44                      , bytestring
45                      , conduit
46                      , conduit-parse == 0.2.*
47                      , containers
48                      , data-default
49                      , Diff
50                      , directory
51                      , filepath
52                      , lens
53                      , mtl
54                      , parser-combinators
55                      , process >= 1.6
56                      , rope-utf16-splay
57                      , text
58                      , transformers
59                      , temporary
60                      , unordered-containers
61   if os(windows)
62     build-depends:     Win32
63   else
64     build-depends:     unix
65   other-modules:       Language.Haskell.LSP.Test.Compat
66                        Language.Haskell.LSP.Test.Decoding
67                        Language.Haskell.LSP.Test.Exceptions
68                        Language.Haskell.LSP.Test.Files
69                        Language.Haskell.LSP.Test.Messages
70                        Language.Haskell.LSP.Test.Parsing
71                        Language.Haskell.LSP.Test.Server
72                        Language.Haskell.LSP.Test.Session
73   ghc-options:         -W
74
75 test-suite tests
76   type:                exitcode-stdio-1.0
77   main-is:             Test.hs
78   hs-source-dirs:      test
79   ghc-options:         -W
80   build-depends:       base >= 4.10 && < 5
81                      , hspec
82                      , lens
83                      , haskell-lsp == 0.17.*
84                      , lsp-test
85                      , data-default
86                      , aeson
87                      , unordered-containers
88                      , text
89   default-language:    Haskell2010