Move example to separate cabal file
[lsp-test.git] / example / Test.hs
diff --git a/example/Test.hs b/example/Test.hs
new file mode 100644 (file)
index 0000000..0f5cdb4
--- /dev/null
@@ -0,0 +1,19 @@
+import Control.Applicative.Combinators
+import Control.Monad.IO.Class
+import Language.Haskell.LSP.Test
+import Language.Haskell.LSP.Types
+
+main = runSession "hie --lsp" fullCaps "../test/data/" $ do
+  docItem <- openDoc "Rename.hs" "haskell"
+  
+  -- Use your favourite favourite combinators.
+  skipManyTill loggingNotification (count 2 publishDiagnosticsNotification)
+
+  -- Send requests and notifications and receive responses
+  let params = DocumentSymbolParams docItem
+  rsp <- request TextDocumentDocumentSymbol params :: Session DocumentSymbolsResponse
+  liftIO $ print rsp
+
+  -- Or use one of the helper functions
+  getDocumentSymbols docItem >>= liftIO . print
+