X-Git-Url: http://git.lukelau.me/?p=lsp-test.git;a=blobdiff_plain;f=src%2FLanguage%2FHaskell%2FLSP%2FTest.hs;h=068fc2dd0a3cbc17e9da1b98b0f92c5238263f5b;hp=4de02fe1324b184835fe09b3d8ba5e8c63997d67;hb=3081abf6552222c5dfc7928d4c708dd03015548e;hpb=dee96dc60f35d20adc03294acd14ba6bc22bb6c8 diff --git a/src/Language/Haskell/LSP/Test.hs b/src/Language/Haskell/LSP/Test.hs index 4de02fe..068fc2d 100644 --- a/src/Language/Haskell/LSP/Test.hs +++ b/src/Language/Haskell/LSP/Test.hs @@ -60,6 +60,7 @@ module Language.Haskell.LSP.Test , (<|>) , satisfy -- * Utilities + , openDoc , getDocItem , getDocUri ) where @@ -213,6 +214,13 @@ sendMessage msg = do h <- serverIn <$> ask liftIO $ B.hPut h $ addHeader (encode msg) +-- | Opens a text document and sends a notification to the client. +openDoc :: FilePath -> String -> Session TextDocumentIdentifier +openDoc file languageId = do + item <- getDocItem file languageId + sendNotification TextDocumentDidOpen (DidOpenTextDocumentParams item) + TextDocumentIdentifier <$> getDocUri file + -- | Reads in a text document as the first version. getDocItem :: FilePath -- ^ The path to the text document to read in. -> String -- ^ The language ID, e.g "haskell" for .hs files.