import Language.Haskell.LSP.Test
import Language.Haskell.LSP.TH.DataTypesJSON
-import Data.Proxy
import Control.Monad.IO.Class
-main = runSession "test/recordings/renamePass" $ do
+main = runSession "hie --lsp" "test/recordings/renamePass" $ do
+ docItem <- openDoc "Desktop/simple.hs" "haskell"
- docItem <- getDocItem "Desktop/simple.hs" "haskell"
- docId <- TextDocumentIdentifier <$> getDocUri "Desktop/simple.hs"
+ let params = DocumentSymbolParams docItem
+ _ <- sendRequest TextDocumentDocumentSymbol params :: Session DocumentSymbolsResponse
- sendNotification TextDocumentDidOpen (DidOpenTextDocumentParams docItem)
+ skipMany loggingNotification
- sendRequest (Proxy :: Proxy DocumentSymbolRequest) TextDocumentDocumentSymbol (DocumentSymbolParams docId)
-
- syms <- getMessage :: Session DocumentSymbolsResponse
- liftIO $ print syms
\ No newline at end of file
+ anyResponse >>= liftIO . print