aboutsummaryrefslogtreecommitdiff
path: root/src/server/types.odin
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2023-03-10 19:51:49 +0100
committerDanielGavin <danielgavin5@hotmail.com>2023-03-10 19:51:49 +0100
commit998ac324d217b6b7ca32fb7c6bd31af830148f5a (patch)
treec95d37111d5ae853adca01dc30646396149adb9a /src/server/types.odin
parentd0a4169a4eb2a2a703af41ae1c221d449030516b (diff)
Start working on labeldetails
Diffstat (limited to 'src/server/types.odin')
-rw-r--r--src/server/types.odin28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/server/types.odin b/src/server/types.odin
index cbb168f..73f3938 100644
--- a/src/server/types.odin
+++ b/src/server/types.odin
@@ -94,7 +94,7 @@ ServerCapabilities :: struct {
documentSymbolProvider: bool,
hoverProvider: bool,
documentFormattingProvider: bool,
- inlayHintsProvider: bool,
+ inlayHintProvider: bool,
renameProvider: bool,
referencesProvider: bool,
documentLinkProvider: DocumentLinkOptions,
@@ -103,6 +103,9 @@ ServerCapabilities :: struct {
CompletionOptions :: struct {
resolveProvider: bool,
triggerCharacters: []string,
+ completionItem: struct {
+ labelDetailsSupport: bool,
+ },
}
CompletionContext :: struct {
@@ -141,7 +144,8 @@ GeneralClientCapabilities :: struct {
}
CompletionItemCapabilities :: struct {
- snippetSupport: bool,
+ snippetSupport: bool,
+ labelDetailsSupport: bool,
}
CompletionClientCapabilities :: struct {
@@ -299,7 +303,13 @@ CompletionItem :: struct {
additionalTextEdits: []TextEdit,
tags: []CompletionItemTag,
deprecated: bool,
- command: Command,
+ command: Maybe(Command),
+ labelDetails: Maybe(CompletionItemLabelDetails),
+}
+
+CompletionItemLabelDetails :: struct {
+ detail: string,
+ description: string,
}
CompletionItemTag :: enum {
@@ -384,6 +394,7 @@ HoverParams :: struct {
InlayParams :: struct {
textDocument: TextDocumentIdentifier,
+ range: common.Range,
}
Hover :: struct {
@@ -397,10 +408,15 @@ Command :: struct {
arguments: []string,
}
+InlayHintKind :: enum {
+ Type = 1,
+ Parameter = 2,
+}
+
InlayHint :: struct {
- range: common.Range,
- kind: string,
- label: string,
+ position: common.Position,
+ kind: InlayHintKind,
+ label: string,
}
DocumentLinkClientCapabilities :: struct {