Skip to content

Commit 1cba20d

Browse files
authored
Merge pull request #4 from fsouza/fix-server-capabilities
Fix response to initialize
2 parents 88d1ceb + a3ecd45 commit 1cba20d

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

handler.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,11 @@ func (h *langHandler) handleInitialize(_ context.Context, conn *jsonrpc2.Conn, r
131131

132132
return InitializeResult{
133133
Capabilities: ServerCapabilities{
134-
TextDocumentSync: TDSKFull,
134+
TextDocumentSync: TextDocumentSyncOptions{
135+
Change: TDSKNone,
136+
OpenClose: true,
137+
Save: true,
138+
},
135139
},
136140
}, nil
137141
}

lsp.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,22 @@ type CompletionProvider struct {
2929
TriggerCharacters []string `json:"triggerCharacters"`
3030
}
3131

32+
type TextDocumentSyncOptions struct {
33+
OpenClose bool `json:"openClose,omitempty"`
34+
Change TextDocumentSyncKind `json:"change,omitempty"`
35+
WillSave bool `json:"willSave,omitempty"`
36+
WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
37+
Save bool `json:"save,omitempty"`
38+
}
39+
3240
type ServerCapabilities struct {
33-
TextDocumentSync TextDocumentSyncKind `json:"textDocumentSync,omitempty"`
34-
CompletionProvider *CompletionProvider `json:"completionProvider,omitempty"`
35-
DocumentSymbolProvider bool `json:"documentSymbolProvider,omitempty"`
36-
DefinitionProvider bool `json:"definitionProvider,omitempty"`
37-
DocumentFormattingProvider bool `json:"documentFormattingProvider,omitempty"`
38-
HoverProvider bool `json:"hoverProvider,omitempty"`
39-
CodeActionProvider bool `json:"codeActionProvider,omitempty"`
41+
TextDocumentSync TextDocumentSyncOptions `json:"textDocumentSync,omitempty"`
42+
CompletionProvider *CompletionProvider `json:"completionProvider,omitempty"`
43+
DocumentSymbolProvider bool `json:"documentSymbolProvider,omitempty"`
44+
DefinitionProvider bool `json:"definitionProvider,omitempty"`
45+
DocumentFormattingProvider bool `json:"documentFormattingProvider,omitempty"`
46+
HoverProvider bool `json:"hoverProvider,omitempty"`
47+
CodeActionProvider bool `json:"codeActionProvider,omitempty"`
4048
}
4149

4250
type TextDocumentItem struct {

0 commit comments

Comments
 (0)