From: Luke Lau Date: Tue, 13 Oct 2020 11:20:58 +0000 (+0100) Subject: Rename Language.Haskell.LSP.Test => Language.LSP.Test X-Git-Tag: 0.13.0.0~7^2~8 X-Git-Url: https://git.lukelau.me/?p=lsp-test.git;a=commitdiff_plain;h=cf9e06e2eb79b113ff861866690f14166d1fa4e7 Rename Language.Haskell.LSP.Test => Language.LSP.Test --- diff --git a/README.md b/README.md index dbf803c..7ba10d6 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ lsp-test is a functional testing framework for Language Server Protocol servers. ```haskell -import Language.Haskell.LSP.Test +import Language.LSP.Test main = runSession "hie" fullCaps "proj/dir" $ do doc <- openDoc "Foo.hs" "haskell" skipMany anyNotification diff --git a/cabal.project b/cabal.project index 5c4a647..b41d336 100644 --- a/cabal.project +++ b/cabal.project @@ -7,6 +7,6 @@ haddock-quickjump: True source-repository-package type: git location: https://github.com/alanz/lsp.git - tag: fd92be6d65f82f098cc0576e7e2200e38fb1cf94 + tag: ba6a7409f830be09f815489265a76499d7b7debb subdir: . lsp-types diff --git a/example/Test.hs b/example/Test.hs index 9d1fc0b..5e28094 100644 --- a/example/Test.hs +++ b/example/Test.hs @@ -1,7 +1,7 @@ import Control.Applicative.Combinators import Control.Monad.IO.Class -import Language.Haskell.LSP.Test -import Language.Haskell.LSP.Types +import Language.LSP.Test +import Language.LSP.Types main = runSession "haskell-language-server" fullCaps "../test/data/" $ do doc <- openDoc "Rename.hs" "haskell" diff --git a/lsp-test.cabal b/lsp-test.cabal index 1fcd4ec..0f32eb3 100644 --- a/lsp-test.cabal +++ b/lsp-test.cabal @@ -4,8 +4,8 @@ synopsis: Functional test framework for LSP servers. description: A test framework for writing tests against . - @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 + @Language.LSP.Test@ launches your server as a subprocess and allows you to simulate a session + down to the wire, and @Language.LSP.Test@ can replay captured sessions from . To see examples of it in action, check out , and @@ -35,9 +35,9 @@ Flag DummyServer library hs-source-dirs: src - exposed-modules: Language.Haskell.LSP.Test - reexported-modules: lsp-types:Language.Haskell.LSP.Types - , lsp-types:Language.Haskell.LSP.Types.Capabilities + exposed-modules: Language.LSP.Test + reexported-modules: lsp-types:Language.LSP.Types + , lsp-types:Language.LSP.Types.Capabilities , parser-combinators:Control.Applicative.Combinators default-language: Haskell2010 build-depends: base >= 4.10 && < 5 @@ -68,13 +68,13 @@ library build-depends: Win32 else build-depends: unix - other-modules: Language.Haskell.LSP.Test.Compat - Language.Haskell.LSP.Test.Decoding - Language.Haskell.LSP.Test.Exceptions - Language.Haskell.LSP.Test.Files - Language.Haskell.LSP.Test.Parsing - Language.Haskell.LSP.Test.Server - Language.Haskell.LSP.Test.Session + 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 executable dummy-server diff --git a/src/Language/Haskell/LSP/Test.hs b/src/Language/LSP/Test.hs similarity index 97% rename from src/Language/Haskell/LSP/Test.hs rename to src/Language/LSP/Test.hs index 1ed07d5..4447373 100644 --- a/src/Language/Haskell/LSP/Test.hs +++ b/src/Language/LSP/Test.hs @@ -10,7 +10,7 @@ {-# LANGUAGE ExistentialQuantification #-} {-| -Module : Language.Haskell.LSP.Test +Module : Language.LSP.Test Description : A functional testing framework for LSP servers. Maintainer : luke_lau@icloud.com Stability : experimental @@ -18,9 +18,9 @@ Portability : non-portable Provides the framework to start functionally testing . -You should import "Language.Haskell.LSP.Types" alongside this. +You should import "Language.LSP.Types" alongside this. -} -module Language.Haskell.LSP.Test +module Language.LSP.Test ( -- * Sessions Session @@ -32,7 +32,7 @@ module Language.Haskell.LSP.Test , defaultConfig , C.fullCaps -- ** Exceptions - , module Language.Haskell.LSP.Test.Exceptions + , module Language.LSP.Test.Exceptions , withTimeout -- * Sending , request @@ -41,7 +41,7 @@ module Language.Haskell.LSP.Test , sendNotification , sendResponse -- * Receving - , module Language.Haskell.LSP.Test.Parsing + , module Language.LSP.Test.Parsing -- * Utilities -- | Quick helper functions for common tasks. @@ -109,18 +109,18 @@ import Data.Default import qualified Data.HashMap.Strict as HashMap import Data.List import Data.Maybe -import Language.Haskell.LSP.Types -import Language.Haskell.LSP.Types.Lens hiding +import Language.LSP.Types +import Language.LSP.Types.Lens hiding (id, capabilities, message, executeCommand, applyEdit, rename) -import qualified Language.Haskell.LSP.Types.Lens as LSP -import qualified Language.Haskell.LSP.Types.Capabilities as C -import Language.Haskell.LSP.VFS -import Language.Haskell.LSP.Test.Compat -import Language.Haskell.LSP.Test.Decoding -import Language.Haskell.LSP.Test.Exceptions -import Language.Haskell.LSP.Test.Parsing -import Language.Haskell.LSP.Test.Session -import Language.Haskell.LSP.Test.Server +import qualified Language.LSP.Types.Lens as LSP +import qualified Language.LSP.Types.Capabilities as C +import Language.LSP.VFS +import Language.LSP.Test.Compat +import Language.LSP.Test.Decoding +import Language.LSP.Test.Exceptions +import Language.LSP.Test.Parsing +import Language.LSP.Test.Session +import Language.LSP.Test.Server import System.Environment import System.IO import System.Directory @@ -471,7 +471,7 @@ waitForDiagnostics = do return diags -- | The same as 'waitForDiagnostics', but will only match a specific --- 'Language.Haskell.LSP.Types._source'. +-- 'Language.LSP.Types._source'. waitForDiagnosticsSource :: String -> Session [Diagnostic] waitForDiagnosticsSource src = do diags <- waitForDiagnostics diff --git a/src/Language/Haskell/LSP/Test/Compat.hs b/src/Language/LSP/Test/Compat.hs similarity index 97% rename from src/Language/Haskell/LSP/Test/Compat.hs rename to src/Language/LSP/Test/Compat.hs index 12031c3..8055d7c 100644 --- a/src/Language/Haskell/LSP/Test/Compat.hs +++ b/src/Language/LSP/Test/Compat.hs @@ -3,11 +3,11 @@ -- Control.Monad.IO.Class but it's needed for -- MonadIO {-# OPTIONS_GHC -Wunused-imports #-} -module Language.Haskell.LSP.Test.Compat where +module Language.LSP.Test.Compat where import Data.Maybe import System.IO -import Language.Haskell.LSP.Types +import Language.LSP.Types #if MIN_VERSION_process(1,6,3) -- We have to hide cleanupProcess for process-1.6.3.0 diff --git a/src/Language/Haskell/LSP/Test/Decoding.hs b/src/Language/LSP/Test/Decoding.hs similarity index 94% rename from src/Language/Haskell/LSP/Test/Decoding.hs rename to src/Language/LSP/Test/Decoding.hs index 5e18466..78337a1 100644 --- a/src/Language/Haskell/LSP/Test/Decoding.hs +++ b/src/Language/LSP/Test/Decoding.hs @@ -4,7 +4,7 @@ {-# LANGUAGE PolyKinds #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE DataKinds #-} -module Language.Haskell.LSP.Test.Decoding where +module Language.LSP.Test.Decoding where import Prelude hiding ( id ) import Data.Aeson @@ -18,9 +18,9 @@ import qualified Data.ByteString.Lazy.Char8 as B import Data.Maybe import System.IO import System.IO.Error -import Language.Haskell.LSP.Types -import Language.Haskell.LSP.Types.Lens -import Language.Haskell.LSP.Test.Exceptions +import Language.LSP.Types +import Language.LSP.Types.Lens +import Language.LSP.Test.Exceptions import Data.IxMap import Data.Kind diff --git a/src/Language/Haskell/LSP/Test/Exceptions.hs b/src/Language/LSP/Test/Exceptions.hs similarity index 97% rename from src/Language/Haskell/LSP/Test/Exceptions.hs rename to src/Language/LSP/Test/Exceptions.hs index b28e256..b35baba 100644 --- a/src/Language/Haskell/LSP/Test/Exceptions.hs +++ b/src/Language/LSP/Test/Exceptions.hs @@ -1,7 +1,7 @@ -module Language.Haskell.LSP.Test.Exceptions where +module Language.LSP.Test.Exceptions where import Control.Exception -import Language.Haskell.LSP.Types +import Language.LSP.Types import Data.Aeson import Data.Aeson.Encode.Pretty import Data.Algorithm.Diff diff --git a/src/Language/Haskell/LSP/Test/Files.hs b/src/Language/LSP/Test/Files.hs similarity index 97% rename from src/Language/Haskell/LSP/Test/Files.hs rename to src/Language/LSP/Test/Files.hs index 693dabd..55f6814 100644 --- a/src/Language/Haskell/LSP/Test/Files.hs +++ b/src/Language/LSP/Test/Files.hs @@ -4,14 +4,14 @@ {-# LANGUAGE GADTs #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE OverloadedStrings #-} -module Language.Haskell.LSP.Test.Files +module Language.LSP.Test.Files ( swapFiles , rootDir ) where -import Language.Haskell.LSP.Types -import Language.Haskell.LSP.Types.Lens +import Language.LSP.Types +import Language.LSP.Types.Lens import Control.Lens import qualified Data.HashMap.Strict as HM import qualified Data.Text as T diff --git a/src/Language/Haskell/LSP/Test/Parsing.hs b/src/Language/LSP/Test/Parsing.hs similarity index 96% rename from src/Language/Haskell/LSP/Test/Parsing.hs rename to src/Language/LSP/Test/Parsing.hs index 92ab99f..26625b5 100644 --- a/src/Language/Haskell/LSP/Test/Parsing.hs +++ b/src/Language/LSP/Test/Parsing.hs @@ -10,7 +10,7 @@ {-# LANGUAGE RankNTypes #-} {-# LANGUAGE OverloadedStrings #-} -module Language.Haskell.LSP.Test.Parsing +module Language.LSP.Test.Parsing ( -- $receiving satisfy , satisfyMaybe @@ -35,8 +35,8 @@ import Data.Conduit.Parser hiding (named) import qualified Data.Conduit.Parser (named) import qualified Data.Text as T import Data.Typeable -import Language.Haskell.LSP.Types -import Language.Haskell.LSP.Test.Session +import Language.LSP.Types +import Language.LSP.Test.Session -- $receiving -- To receive a message, specify the method of the message to expect: @@ -46,7 +46,7 @@ import Language.Haskell.LSP.Test.Session -- msg2 <- message STextDocumentHover -- @ -- --- 'Language.Haskell.LSP.Test.Session' is actually just a parser +-- 'Language.LSP.Test.Session' is actually just a parser -- that operates on messages under the hood. This means that you -- can create and combine parsers to match speicifc sequences of -- messages that you expect. @@ -198,7 +198,7 @@ loggingNotification = named "Logging notification" $ satisfy shouldSkip shouldSkip (FromServerMess SWindowShowMessageRequest _) = True shouldSkip _ = False --- | Matches a 'Language.Haskell.LSP.Test.PublishDiagnosticsNotification' +-- | Matches a 'Language.LSP.Test.PublishDiagnosticsNotification' -- (textDocument/publishDiagnostics) notification. publishDiagnosticsNotification :: Session PublishDiagnosticsNotification publishDiagnosticsNotification = named "Publish diagnostics notification" $ diff --git a/src/Language/Haskell/LSP/Test/Replay.hs b/src/Language/LSP/Test/Replay.hs similarity index 95% rename from src/Language/Haskell/LSP/Test/Replay.hs rename to src/Language/LSP/Test/Replay.hs index f1272d5..63c8501 100644 --- a/src/Language/Haskell/LSP/Test/Replay.hs +++ b/src/Language/LSP/Test/Replay.hs @@ -1,6 +1,6 @@ -- | A testing tool for replaying captured client logs back to a server, -- and validating that the server output matches up with another log. -module Language.Haskell.LSP.Test.Replay +module Language.LSP.Test.Replay ( -- replaySession ) where @@ -10,8 +10,8 @@ import Control.Concurrent import Control.Monad.IO.Class import qualified Data.ByteString.Lazy.Char8 as B import qualified Data.Text as T -import Language.Haskell.LSP.Types -import Language.Haskell.LSP.Types.Lens as LSP +import Language.LSP.Types +import Language.LSP.Types.Lens as LSP import Data.Aeson import Data.Default import Data.List @@ -20,12 +20,12 @@ import Control.Lens hiding (List) import Control.Monad import System.FilePath import System.IO -import Language.Haskell.LSP.Test -import Language.Haskell.LSP.Test.Compat -import Language.Haskell.LSP.Test.Files -import Language.Haskell.LSP.Test.Decoding -import Language.Haskell.LSP.Test.Server -import Language.Haskell.LSP.Test.Session +import Language.LSP.Test +import Language.LSP.Test.Compat +import Language.LSP.Test.Files +import Language.LSP.Test.Decoding +import Language.LSP.Test.Server +import Language.LSP.Test.Session {- -- | Replays a captured client output and diff --git a/src/Language/Haskell/LSP/Test/Server.hs b/src/Language/LSP/Test/Server.hs similarity index 90% rename from src/Language/Haskell/LSP/Test/Server.hs rename to src/Language/LSP/Test/Server.hs index e66ed0a..b8467d4 100644 --- a/src/Language/Haskell/LSP/Test/Server.hs +++ b/src/Language/LSP/Test/Server.hs @@ -1,8 +1,8 @@ -module Language.Haskell.LSP.Test.Server (withServer) where +module Language.LSP.Test.Server (withServer) where import Control.Concurrent.Async import Control.Monad -import Language.Haskell.LSP.Test.Compat +import Language.LSP.Test.Compat import System.IO import System.Process hiding (withCreateProcess) diff --git a/src/Language/Haskell/LSP/Test/Session.hs b/src/Language/LSP/Test/Session.hs similarity index 94% rename from src/Language/Haskell/LSP/Test/Session.hs rename to src/Language/LSP/Test/Session.hs index b98dca8..5839a15 100644 --- a/src/Language/Haskell/LSP/Test/Session.hs +++ b/src/Language/LSP/Test/Session.hs @@ -7,7 +7,7 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE RankNTypes #-} -module Language.Haskell.LSP.Test.Session +module Language.LSP.Test.Session ( Session(..) , SessionConfig(..) , defaultConfig @@ -60,14 +60,14 @@ import qualified Data.Text.IO as T import qualified Data.HashMap.Strict as HashMap import Data.Maybe import Data.Function -import Language.Haskell.LSP.Types.Capabilities -import Language.Haskell.LSP.Types -import Language.Haskell.LSP.Types.Lens -import qualified Language.Haskell.LSP.Types.Lens as LSP -import Language.Haskell.LSP.VFS -import Language.Haskell.LSP.Test.Compat -import Language.Haskell.LSP.Test.Decoding -import Language.Haskell.LSP.Test.Exceptions +import Language.LSP.Types.Capabilities +import Language.LSP.Types +import Language.LSP.Types.Lens +import qualified Language.LSP.Types.Lens as LSP +import Language.LSP.VFS +import Language.LSP.Test.Compat +import Language.LSP.Test.Decoding +import Language.LSP.Test.Exceptions import System.Console.ANSI import System.Directory import System.IO @@ -80,9 +80,9 @@ import System.Timeout -- | A session representing one instance of launching and connecting to a server. -- -- You can send and receive messages to the server within 'Session' via --- 'Language.Haskell.LSP.Test.message', --- 'Language.Haskell.LSP.Test.sendRequest' and --- 'Language.Haskell.LSP.Test.sendNotification'. +-- 'Language.LSP.Test.message', +-- 'Language.LSP.Test.sendRequest' and +-- 'Language.LSP.Test.sendNotification'. newtype Session a = Session (ConduitParser FromServerMessage (StateT SessionState (ReaderT SessionContext IO)) a) deriving (Functor, Applicative, Monad, MonadIO, Alternative) @@ -106,8 +106,8 @@ data SessionConfig = SessionConfig , logColor :: Bool -- ^ Add ANSI color to the logged messages, defaults to True. , lspConfig :: Maybe Value -- ^ The initial LSP config as JSON value, defaults to Nothing. , ignoreLogNotifications :: Bool - -- ^ Whether or not to ignore 'Language.Haskell.LSP.Types.ShowMessageNotification' and - -- 'Language.Haskell.LSP.Types.LogMessageNotification', defaults to False. + -- ^ Whether or not to ignore 'Language.LSP.Types.ShowMessageNotification' and + -- 'Language.LSP.Types.LogMessageNotification', defaults to False. -- -- @since 0.9.0.0 , initialWorkspaceFolders :: Maybe [WorkspaceFolder] @@ -115,7 +115,7 @@ data SessionConfig = SessionConfig -- Defaults to Nothing. } --- | The configuration used in 'Language.Haskell.LSP.Test.runSession'. +-- | The configuration used in 'Language.LSP.Test.runSession'. defaultConfig :: SessionConfig defaultConfig = SessionConfig 60 False False True Nothing False Nothing @@ -397,7 +397,7 @@ sendMessage msg = do logMsg LogClient msg liftIO $ B.hPut h (addHeader $ encode msg) --- | Execute a block f that will throw a 'Language.Haskell.LSP.Test.Exception.Timeout' exception +-- | Execute a block f that will throw a 'Language.LSP.Test.Exception.Timeout' exception -- after duration seconds. This will override the global timeout -- for waiting for messages to arrive defined in 'SessionConfig'. withTimeout :: Int -> Session a -> Session a diff --git a/test/Test.hs b/test/Test.hs index 12db785..60d3a38 100644 --- a/test/Test.hs +++ b/test/Test.hs @@ -17,12 +17,12 @@ import Control.Concurrent import Control.Monad.IO.Class import Control.Monad import Control.Lens hiding (List) -import Language.Haskell.LSP.Test -import Language.Haskell.LSP.Types -import Language.Haskell.LSP.Types.Lens hiding +import Language.LSP.Test +import Language.LSP.Types +import Language.LSP.Types.Lens hiding (capabilities, message, rename, applyEdit) -import qualified Language.Haskell.LSP.Types.Lens as LSP -import Language.Haskell.LSP.Types.Capabilities as LSP +import qualified Language.LSP.Types.Lens as LSP +import Language.LSP.Types.Capabilities as LSP import System.Directory import System.FilePath import System.Timeout diff --git a/test/dummy-server/Main.hs b/test/dummy-server/Main.hs index 5ecf126..95b98c9 100644 --- a/test/dummy-server/Main.hs +++ b/test/dummy-server/Main.hs @@ -7,9 +7,9 @@ import Data.Aeson import Data.Default import qualified Data.HashMap.Strict as HM import Data.List (isSuffixOf) -import Language.Haskell.LSP.Control -import Language.Haskell.LSP.Core -import Language.Haskell.LSP.Types +import Language.LSP.Control +import Language.LSP.Core +import Language.LSP.Types import System.Directory import System.FilePath import UnliftIO