From a3f3199c221524124aeabce9a91e73655800a862 Mon Sep 17 00:00:00 2001 From: Luke Lau Date: Sun, 14 Feb 2021 02:34:59 +0000 Subject: [PATCH] Move more String types to Text types --- src/Language/LSP/Test.hs | 14 +++++++------- test/dummy-server/Main.hs | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Language/LSP/Test.hs b/src/Language/LSP/Test.hs index 90000fd..6c5c4a6 100644 --- a/src/Language/LSP/Test.hs +++ b/src/Language/LSP/Test.hs @@ -371,7 +371,7 @@ sendResponse = sendMessage -- The initialize requests and responses are not included the session, -- so if you need to test it use this. initializeResponse :: Session (ResponseMessage Initialize) -initializeResponse = initRsp <$> ask >>= (liftIO . readMVar) +initializeResponse = ask >>= (liftIO . readMVar) . initRsp -- | /Creates/ a new text document. This is different from 'openDoc' -- as it sends a workspace/didChangeWatchedFiles notification letting the server @@ -383,7 +383,7 @@ initializeResponse = initRsp <$> ask >>= (liftIO . readMVar) -- -- @since 11.0.0.0 createDoc :: FilePath -- ^ The path to the document to open, __relative to the root directory__. - -> String -- ^ The text document's language identifier, e.g. @"haskell"@. + -> T.Text -- ^ The text document's language identifier, e.g. @"haskell"@. -> T.Text -- ^ The content of the text document to create. -> Session TextDocumentIdentifier -- ^ The identifier of the document just created. createDoc file languageId contents = do @@ -398,7 +398,7 @@ createDoc file languageId contents = do watchHits :: FileSystemWatcher -> Bool watchHits (FileSystemWatcher pattern kind) = -- If WatchKind is exlcuded, defaults to all true as per spec - fileMatches pattern && createHits (fromMaybe (WatchKind True True True) kind) + fileMatches (T.unpack pattern) && createHits (fromMaybe (WatchKind True True True) kind) fileMatches pattern = Glob.match (Glob.compile pattern) relOrAbs -- If the pattern is absolute then match against the absolute fp @@ -423,7 +423,7 @@ createDoc file languageId contents = do -- | Opens a text document that /exists on disk/, and sends a -- textDocument/didOpen notification to the server. -openDoc :: FilePath -> String -> Session TextDocumentIdentifier +openDoc :: FilePath -> T.Text -> Session TextDocumentIdentifier openDoc file languageId = do context <- ask let fp = rootDir context file @@ -432,12 +432,12 @@ openDoc file languageId = do -- | This is a variant of `openDoc` that takes the file content as an argument. -- Use this is the file exists /outside/ of the current workspace. -openDoc' :: FilePath -> String -> T.Text -> Session TextDocumentIdentifier +openDoc' :: FilePath -> T.Text -> T.Text -> Session TextDocumentIdentifier openDoc' file languageId contents = do context <- ask let fp = rootDir context file uri = filePathToUri fp - item = TextDocumentItem uri (T.pack languageId) 0 contents + item = TextDocumentItem uri languageId 0 contents sendNotification STextDocumentDidOpen (DidOpenTextDocumentParams item) pure $ TextDocumentIdentifier uri @@ -724,4 +724,4 @@ getCodeLenses tId = do -- -- @since 0.11.0.0 getRegisteredCapabilities :: Session [SomeRegistration] -getRegisteredCapabilities = (Map.elems . curDynCaps) <$> get +getRegisteredCapabilities = Map.elems . curDynCaps <$> get diff --git a/test/dummy-server/Main.hs b/test/dummy-server/Main.hs index aee3449..6beee8b 100644 --- a/test/dummy-server/Main.hs +++ b/test/dummy-server/Main.hs @@ -6,6 +6,7 @@ import Control.Monad.Reader import Data.Aeson hiding (defaultOptions) import qualified Data.HashMap.Strict as HM import Data.List (isSuffixOf) +import Data.String import Language.LSP.Server import Language.LSP.Types import System.Directory @@ -106,7 +107,7 @@ handlers = DidChangeWatchedFilesRegistrationOptions $ List [ FileSystemWatcher - (curDir "*.watch") + (fromString $ curDir "*.watch") (Just (WatchKind True True True)) ] Just token <- runInIO $ -- 2.30.2