X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=example%2FMain.hs;h=c992b8ea67390760497b6fdee187078c428489a8;hb=c6e68648c1e3b586e1ee8b0dcda1485ff5ae28ba;hp=4891c6c12219cf34d85b1b23bb1a303cbb17bd6f;hpb=22df37c703e39fa5ebeb130be5785b3a9713c520;p=opengl.git diff --git a/example/Main.hs b/example/Main.hs index 4891c6c..c992b8e 100644 --- a/example/Main.hs +++ b/example/Main.hs @@ -1,13 +1,19 @@ -import Language.Haskell.LSP.Test -import Language.Haskell.LSP.TH.DataTypesJSON - +import Control.Applicative.Combinators import Control.Monad.IO.Class +import Language.Haskell.LSP.Test +import Language.Haskell.LSP.Types main = runSession "hie --lsp" "test/recordings/renamePass" $ do docItem <- openDoc "Desktop/simple.hs" "haskell" - sendRequest TextDocumentDocumentSymbol (DocumentSymbolParams docItem) + -- Use your favourite favourite combinators. + skipManyTill loggingNotification (count 2 publishDiagnosticsNotification) + + -- Send requests and notifications and receive responses + let params = DocumentSymbolParams docItem + response <- sendRequest TextDocumentDocumentSymbol params :: Session DocumentSymbolsResponse + liftIO $ print response - skipMany loggingNotification + -- Or use one of the helper functions + getDocumentSymbols docItem >>= liftIO . print - anyResponse >>= liftIO . print