@@ -4,62 +4,22 @@ import (
4
4
"context"
5
5
6
6
"github.com/creachadair/jrpc2"
7
- "github.com/sourcegraph /go-lsp"
7
+ "pkg.nimblebun.works /go-lsp"
8
8
)
9
9
10
- // ServerCapabilities is a temporary workaround for the missing folding range
11
- // provider field in Sourcegraph's go-lsp package. We will work on an in-house
12
- // version of the LSP implementation in Go in the future.
13
- type ServerCapabilities struct {
14
- TextDocumentSync * lsp.TextDocumentSyncOptionsOrKind `json:"textDocumentSync,omitempty"`
15
- HoverProvider bool `json:"hoverProvider,omitempty"`
16
- FoldingRangeProvider bool `json:"foldingRangeProvider,omitempty"`
17
- CompletionProvider * lsp.CompletionOptions `json:"completionProvider,omitempty"`
18
- SignatureHelpProvider * lsp.SignatureHelpOptions `json:"signatureHelpProvider,omitempty"`
19
- DefinitionProvider bool `json:"definitionProvider,omitempty"`
20
- TypeDefinitionProvider bool `json:"typeDefinitionProvider,omitempty"`
21
- ReferencesProvider bool `json:"referencesProvider,omitempty"`
22
- DocumentHighlightProvider bool `json:"documentHighlightProvider,omitempty"`
23
- DocumentSymbolProvider bool `json:"documentSymbolProvider,omitempty"`
24
- WorkspaceSymbolProvider bool `json:"workspaceSymbolProvider,omitempty"`
25
- ImplementationProvider bool `json:"implementationProvider,omitempty"`
26
- CodeActionProvider bool `json:"codeActionProvider,omitempty"`
27
- CodeLensProvider * lsp.CodeLensOptions `json:"codeLensProvider,omitempty"`
28
- DocumentFormattingProvider bool `json:"documentFormattingProvider,omitempty"`
29
- DocumentRangeFormattingProvider bool `json:"documentRangeFormattingProvider,omitempty"`
30
- DocumentOnTypeFormattingProvider * lsp.DocumentOnTypeFormattingOptions `json:"documentOnTypeFormattingProvider,omitempty"`
31
- RenameProvider bool `json:"renameProvider,omitempty"`
32
- ExecuteCommandProvider * lsp.ExecuteCommandOptions `json:"executeCommandProvider,omitempty"`
33
- SemanticHighlighting * lsp.SemanticHighlightingOptions `json:"semanticHighlighting,omitempty"`
34
- XWorkspaceReferencesProvider bool `json:"xworkspaceReferencesProvider,omitempty"`
35
- XDefinitionProvider bool `json:"xdefinitionProvider,omitempty"`
36
- XWorkspaceSymbolByProperties bool `json:"xworkspaceSymbolByProperties,omitempty"`
37
-
38
- Experimental interface {} `json:"experimental,omitempty"`
39
- }
40
-
41
- // InitializeResult is a temporary workaround for the missing folding range
42
- // provider field in Sourcegraph's go-lsp package. We will work on an in-house
43
- // version of the LSP implementation in Go in the future.
44
- type InitializeResult struct {
45
- Capabilities ServerCapabilities `json:"capabilities"`
46
- }
47
-
48
10
// Initialize is the callback that runs on the "initialize" method
49
- func (mh * MethodHandler ) Initialize (ctx context.Context , _ * jrpc2.Request ) (InitializeResult , error ) {
50
- result := InitializeResult {
51
- Capabilities : ServerCapabilities {
52
- TextDocumentSync : & lsp.TextDocumentSyncOptionsOrKind {
53
- Options : & lsp.TextDocumentSyncOptions {
54
- OpenClose : true ,
55
- Change : lsp .TDSKIncremental ,
56
- },
11
+ func (mh * MethodHandler ) Initialize (ctx context.Context , _ * jrpc2.Request ) (lsp.InitializeResult , error ) {
12
+ result := lsp.InitializeResult {
13
+ Capabilities : lsp.ServerCapabilities {
14
+ TextDocumentSync : & lsp.TextDocumentSyncOptions {
15
+ OpenClose : true ,
16
+ Change : lsp .TDSyncKindIncremental ,
57
17
},
58
18
CompletionProvider : & lsp.CompletionOptions {
59
19
ResolveProvider : false ,
60
20
},
61
- HoverProvider : true ,
62
- FoldingRangeProvider : true ,
21
+ HoverProvider : & lsp. HoverOptions {} ,
22
+ FoldingRangeProvider : & lsp. FoldingRangeRegistrationOptions {} ,
63
23
},
64
24
}
65
25
0 commit comments