gopls/protocol: remove stub special cases
This CL removes all the trivial special cases from generate.tables.go.
The custom unmarshalers return an exported error, so that
json_test.go can still do some checking.
Change-Id: I6f1d67b029200c6ce147539410195ecebdb24ab9
Reviewed-on: https://go-review.googlesource.com/c/tools/+/469515
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Peter Weinberger <pjw@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/gopls/internal/lsp/general.go b/gopls/internal/lsp/general.go
index d55e103..31b5124 100644
--- a/gopls/internal/lsp/general.go
+++ b/gopls/internal/lsp/general.go
@@ -136,32 +136,32 @@
return &protocol.InitializeResult{
Capabilities: protocol.ServerCapabilities{
- CallHierarchyProvider: true,
+ CallHierarchyProvider: &protocol.Or_ServerCapabilities_callHierarchyProvider{Value: true},
CodeActionProvider: codeActionProvider,
CodeLensProvider: &protocol.CodeLensOptions{}, // must be non-nil to enable the code lens capability
CompletionProvider: protocol.CompletionOptions{
TriggerCharacters: []string{"."},
},
- DefinitionProvider: true,
- TypeDefinitionProvider: true,
- ImplementationProvider: true,
- DocumentFormattingProvider: true,
- DocumentSymbolProvider: true,
- WorkspaceSymbolProvider: true,
+ DefinitionProvider: &protocol.Or_ServerCapabilities_definitionProvider{Value: true},
+ TypeDefinitionProvider: &protocol.Or_ServerCapabilities_typeDefinitionProvider{Value: true},
+ ImplementationProvider: &protocol.Or_ServerCapabilities_implementationProvider{Value: true},
+ DocumentFormattingProvider: &protocol.Or_ServerCapabilities_documentFormattingProvider{Value: true},
+ DocumentSymbolProvider: &protocol.Or_ServerCapabilities_documentSymbolProvider{Value: true},
+ WorkspaceSymbolProvider: &protocol.Or_ServerCapabilities_workspaceSymbolProvider{Value: true},
ExecuteCommandProvider: protocol.ExecuteCommandOptions{
Commands: options.SupportedCommands,
},
- FoldingRangeProvider: true,
- HoverProvider: true,
- DocumentHighlightProvider: true,
+ FoldingRangeProvider: &protocol.Or_ServerCapabilities_foldingRangeProvider{Value: true},
+ HoverProvider: &protocol.Or_ServerCapabilities_hoverProvider{Value: true},
+ DocumentHighlightProvider: &protocol.Or_ServerCapabilities_documentHighlightProvider{Value: true},
DocumentLinkProvider: protocol.DocumentLinkOptions{},
InlayHintProvider: protocol.InlayHintOptions{},
- ReferencesProvider: true,
+ ReferencesProvider: &protocol.Or_ServerCapabilities_referencesProvider{Value: true},
RenameProvider: renameOpts,
- SelectionRangeProvider: protocol.SelectionRangeRegistrationOptions{},
+ SelectionRangeProvider: &protocol.Or_ServerCapabilities_selectionRangeProvider{Value: true},
SemanticTokensProvider: protocol.SemanticTokensOptions{
- Range: true,
- Full: true,
+ Range: &protocol.Or_SemanticTokensOptions_range{Value: true},
+ Full: &protocol.Or_SemanticTokensOptions_full{Value: true},
Legend: protocol.SemanticTokensLegend{
TokenTypes: s.session.Options().SemanticTypes,
TokenModifiers: s.session.Options().SemanticMods,