Make ClientCapabilities a mandatory parameter
[lsp-test.git] / src / Language / Haskell / LSP / Test / Capabilities.hs
diff --git a/src/Language/Haskell/LSP/Test/Capabilities.hs b/src/Language/Haskell/LSP/Test/Capabilities.hs
new file mode 100644 (file)
index 0000000..f1237e3
--- /dev/null
@@ -0,0 +1,51 @@
+module Language.Haskell.LSP.Test.Capabilities where
+import Language.Haskell.LSP.Types
+import Language.Haskell.LSP.Types.Capabilities
+
+-- | Capabilities for full conformance to the LSP specification.
+-- The whole shebang.
+fullCaps :: ClientCapabilities
+fullCaps = ClientCapabilities (Just w) (Just td) Nothing
+  where
+    w = WorkspaceClientCapabilities
+          (Just True)
+          (Just (WorkspaceEditClientCapabilities (Just True)))
+          (Just (DidChangeConfigurationClientCapabilities (Just True)))
+          (Just (DidChangeWatchedFilesClientCapabilities (Just True)))
+          (Just (SymbolClientCapabilities (Just True)))
+          (Just (ExecuteClientCapabilities (Just True)))
+    td = TextDocumentClientCapabilities
+          (Just sync)
+          (Just (CompletionClientCapabilities 
+                  (Just True)
+                  (Just (CompletionItemClientCapabilities (Just True)))))
+          (Just (HoverClientCapabilities (Just True)))
+          (Just (SignatureHelpClientCapabilities (Just True)))
+          (Just (ReferencesClientCapabilities (Just True)))
+          (Just (DocumentHighlightClientCapabilities (Just True)))
+          (Just (DocumentSymbolClientCapabilities (Just True)))
+          (Just (FormattingClientCapabilities (Just True)))
+          (Just (RangeFormattingClientCapabilities (Just True)))
+          (Just (OnTypeFormattingClientCapabilities (Just True)))
+          (Just (DefinitionClientCapabilities (Just True)))
+          (Just codeAction)
+          (Just (CodeLensClientCapabilities (Just True)))
+          (Just (DocumentLinkClientCapabilities (Just True)))
+          (Just (RenameClientCapabilities (Just True)))
+    sync = SynchronizationTextDocumentClientCapabilities
+            (Just True)
+            (Just True)
+            (Just True)
+            (Just True)
+    codeAction = CodeActionClientCapabilities
+                  (Just True)
+                  (Just (CodeActionLiteralSupport kinds))
+    kinds = CodeActionKindValueSet
+              (List [ CodeActionQuickFix
+                    , CodeActionRefactor
+                    , CodeActionRefactorExtract
+                    , CodeActionRefactorInline
+                    , CodeActionRefactorRewrite
+                    , CodeActionSource
+                    , CodeActionSourceOrganizeImports
+                    ])