7ee3f92cd414db960a5b14d98d3804d1745c6995
[opengl.git] / example / Main.hs
1 import Control.Applicative.Combinators
2 import Control.Monad.IO.Class
3 import Language.Haskell.LSP.Test
4 import Language.Haskell.LSP.Types
5
6 main = runSession "hie --lsp" fullCaps "test/data/renamePass" $ do
7   docItem <- openDoc "Desktop/simple.hs" "haskell"
8   
9   -- Use your favourite favourite combinators.
10   skipManyTill loggingNotification (count 2 publishDiagnosticsNotification)
11
12   -- Send requests and notifications and receive responses
13   let params = DocumentSymbolParams docItem
14   response <- sendRequest TextDocumentDocumentSymbol params :: Session DocumentSymbolsResponse
15   liftIO $ print response
16
17   -- Or use one of the helper functions
18   getDocumentSymbols docItem >>= liftIO . print
19