Rename Language.Haskell.LSP.Test => Language.LSP.Test
authorLuke Lau <luke_lau@icloud.com>
Tue, 13 Oct 2020 11:20:58 +0000 (12:20 +0100)
committerLuke Lau <luke_lau@icloud.com>
Tue, 13 Oct 2020 11:20:58 +0000 (12:20 +0100)
15 files changed:
README.md
cabal.project
example/Test.hs
lsp-test.cabal
src/Language/LSP/Test.hs [moved from src/Language/Haskell/LSP/Test.hs with 97% similarity]
src/Language/LSP/Test/Compat.hs [moved from src/Language/Haskell/LSP/Test/Compat.hs with 97% similarity]
src/Language/LSP/Test/Decoding.hs [moved from src/Language/Haskell/LSP/Test/Decoding.hs with 94% similarity]
src/Language/LSP/Test/Exceptions.hs [moved from src/Language/Haskell/LSP/Test/Exceptions.hs with 97% similarity]
src/Language/LSP/Test/Files.hs [moved from src/Language/Haskell/LSP/Test/Files.hs with 97% similarity]
src/Language/LSP/Test/Parsing.hs [moved from src/Language/Haskell/LSP/Test/Parsing.hs with 96% similarity]
src/Language/LSP/Test/Replay.hs [moved from src/Language/Haskell/LSP/Test/Replay.hs with 95% similarity]
src/Language/LSP/Test/Server.hs [moved from src/Language/Haskell/LSP/Test/Server.hs with 90% similarity]
src/Language/LSP/Test/Session.hs [moved from src/Language/Haskell/LSP/Test/Session.hs with 94% similarity]
test/Test.hs
test/dummy-server/Main.hs

index dbf803cdb2eff01de2c22747e0d62b5c0a3269e3..7ba10d6a2b273dbb0ec4b095814c716b6805b684 100644 (file)
--- 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
index 5c4a6478b97d8de6b2adf1e7cadc50377552592f..b41d336dfdf10bbe3d86b8336ef285d207f5ae4e 100644 (file)
@@ -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
index 9d1fc0bd36eca2068de6cf8f2e08c854c9faa74f..5e2809465f986aed5e38769d87d6272bc9a660da 100644 (file)
@@ -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"
index 1fcd4ec25b5acc076e4b215855a015b65067985d..0f32eb365a9de4d0a1c0450aa86b8f36bc64b1be 100644 (file)
@@ -4,8 +4,8 @@ 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.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
   <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
@@ -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
similarity index 97%
rename from src/Language/Haskell/LSP/Test.hs
rename to src/Language/LSP/Test.hs
index 1ed07d5e06211ed583251cd066271385d2310565..4447373b78955e5fb4b1d6c196f4af4622297d7e 100644 (file)
@@ -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
 <https://github.com/Microsoft/language-server-protocol Language Server Protocol servers>.
-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
similarity index 97%
rename from src/Language/Haskell/LSP/Test/Compat.hs
rename to src/Language/LSP/Test/Compat.hs
index 12031c34dff77d8f44f4245feeecbf23063844bd..8055d7c5951639892bf928d33048c5097328f2cd 100644 (file)
@@ -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
similarity index 94%
rename from src/Language/Haskell/LSP/Test/Decoding.hs
rename to src/Language/LSP/Test/Decoding.hs
index 5e1846634638867dc6f2a18333d8dfcff9972592..78337a1d57bc65b0c5d188ee7faf8a524a2b4be0 100644 (file)
@@ -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
similarity index 97%
rename from src/Language/Haskell/LSP/Test/Exceptions.hs
rename to src/Language/LSP/Test/Exceptions.hs
index b28e256cc0857522c4558dd2d38e3823b6b3efbf..b35baba707a83233acef0448b0eff18cbbaee1ad 100644 (file)
@@ -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
similarity index 97%
rename from src/Language/Haskell/LSP/Test/Files.hs
rename to src/Language/LSP/Test/Files.hs
index 693dabd4cd5b0737df11fed53b65bf844c51812a..55f6814070c2dcd6c9f0247fdf55f31bc20563f8 100644 (file)
@@ -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
similarity index 96%
rename from src/Language/Haskell/LSP/Test/Parsing.hs
rename to src/Language/LSP/Test/Parsing.hs
index 92ab99faea5898c646f888f25aaed22bf50968df..26625b555111bbf554643baf3ad18690a632f17b 100644 (file)
@@ -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" $
similarity index 95%
rename from src/Language/Haskell/LSP/Test/Replay.hs
rename to src/Language/LSP/Test/Replay.hs
index f1272d5d30ea6101c40d51d103a853a56b076bf3..63c850147bc34afa48dd74079e4eff817edf6c82 100644 (file)
@@ -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
similarity index 90%
rename from src/Language/Haskell/LSP/Test/Server.hs
rename to src/Language/LSP/Test/Server.hs
index e66ed0adb9fbfbb221ec030a7590b625b0d7b46a..b8467d4521b27c47cc8303c019485cb8a5847963 100644 (file)
@@ -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)
 
similarity index 94%
rename from src/Language/Haskell/LSP/Test/Session.hs
rename to src/Language/LSP/Test/Session.hs
index b98dca84f975ccfd10035b27a43476e969090002..5839a15619a18963296a35d632a1f4233a95944c 100644 (file)
@@ -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
index 12db7851dc4c00c5e667f2d9e31d9db73d0c9c2a..60d3a38d0c9ab9016dfa2ba90359020bffc78383 100644 (file)
@@ -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
index 5ecf12645bc0ccf1702b213bd01677a0062393d5..95b98c9576c8163cbda8d60c2eed164a2a445892 100644 (file)
@@ -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