gopls/protocol: new versions of generated LSP files

These are the files generated by the new code in protocol/generate.
They are drop-in replacements for the existing files, requiring
no changes to the rest of gopls.

Change-Id: Ib1a40cb1c63acab3d1e0a3f264241ff0cc3b0f54
Reviewed-on: https://go-review.googlesource.com/c/tools/+/462235
TryBot-Result: Gopher Robot <gobot@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
Run-TryBot: Peter Weinberger <pjw@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
diff --git a/gopls/internal/lsp/protocol/tsclient.go b/gopls/internal/lsp/protocol/tsclient.go
index b8f11b5..116a81b 100644
--- a/gopls/internal/lsp/protocol/tsclient.go
+++ b/gopls/internal/lsp/protocol/tsclient.go
@@ -1,12 +1,13 @@
-// Copyright 2019-2022 The Go Authors. All rights reserved.
+// Copyright 2022 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// Code generated for LSP. DO NOT EDIT.
+
 package protocol
 
 // Code generated from version 3.17.0 of protocol/metaModel.json.
-// git hash 8de18faed635819dd2bc631d2c26ce4a18f7cf4a (as of Fri Sep 16 13:04:31 2022)
-// Code generated; DO NOT EDIT.
+// git hash 8de18faed635819dd2bc631d2c26ce4a18f7cf4a (as of 2023-01-14)
 
 import (
 	"context"
@@ -41,49 +42,49 @@
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := client.LogTrace(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "$/progress":
 		var params ProgressParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := client.Progress(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "client/registerCapability":
 		var params RegistrationParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := client.RegisterCapability(ctx, &params)
-		return true, reply(ctx, nil, err) // 155
+		return true, reply(ctx, nil, err)
 	case "client/unregisterCapability":
 		var params UnregistrationParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := client.UnregisterCapability(ctx, &params)
-		return true, reply(ctx, nil, err) // 155
+		return true, reply(ctx, nil, err)
 	case "telemetry/event":
 		var params interface{}
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := client.Event(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "textDocument/publishDiagnostics":
 		var params PublishDiagnosticsParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := client.PublishDiagnostics(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "window/logMessage":
 		var params LogMessageParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := client.LogMessage(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "window/showDocument":
 		var params ShowDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -93,14 +94,14 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "window/showMessage":
 		var params ShowMessageParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := client.ShowMessage(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "window/showMessageRequest":
 		var params ShowMessageRequestParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -110,14 +111,14 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "window/workDoneProgress/create":
 		var params WorkDoneProgressCreateParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := client.WorkDoneProgressCreate(ctx, &params)
-		return true, reply(ctx, nil, err) // 155
+		return true, reply(ctx, nil, err)
 	case "workspace/applyEdit":
 		var params ApplyWorkspaceEditParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -127,10 +128,10 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "workspace/codeLens/refresh":
 		err := client.CodeLensRefresh(ctx)
-		return true, reply(ctx, nil, err) // 170
+		return true, reply(ctx, nil, err)
 	case "workspace/configuration":
 		var params ParamConfiguration
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -140,13 +141,13 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "workspace/workspaceFolders":
 		resp, err := client.WorkspaceFolders(ctx)
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 165
+		return true, reply(ctx, resp, nil)
 	default:
 		return false, nil
 	}
@@ -154,66 +155,66 @@
 
 func (s *clientDispatcher) LogTrace(ctx context.Context, params *LogTraceParams) error {
 	return s.sender.Notify(ctx, "$/logTrace", params)
-} // 244
+}
 func (s *clientDispatcher) Progress(ctx context.Context, params *ProgressParams) error {
 	return s.sender.Notify(ctx, "$/progress", params)
-} // 244
+}
 func (s *clientDispatcher) RegisterCapability(ctx context.Context, params *RegistrationParams) error {
 	return s.sender.Call(ctx, "client/registerCapability", params, nil)
-} // 194
+}
 func (s *clientDispatcher) UnregisterCapability(ctx context.Context, params *UnregistrationParams) error {
 	return s.sender.Call(ctx, "client/unregisterCapability", params, nil)
-} // 194
+}
 func (s *clientDispatcher) Event(ctx context.Context, params *interface{}) error {
 	return s.sender.Notify(ctx, "telemetry/event", params)
-} // 244
+}
 func (s *clientDispatcher) PublishDiagnostics(ctx context.Context, params *PublishDiagnosticsParams) error {
 	return s.sender.Notify(ctx, "textDocument/publishDiagnostics", params)
-} // 244
+}
 func (s *clientDispatcher) LogMessage(ctx context.Context, params *LogMessageParams) error {
 	return s.sender.Notify(ctx, "window/logMessage", params)
-} // 244
+}
 func (s *clientDispatcher) ShowDocument(ctx context.Context, params *ShowDocumentParams) (*ShowDocumentResult, error) {
 	var result *ShowDocumentResult
 	if err := s.sender.Call(ctx, "window/showDocument", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *clientDispatcher) ShowMessage(ctx context.Context, params *ShowMessageParams) error {
 	return s.sender.Notify(ctx, "window/showMessage", params)
-} // 244
+}
 func (s *clientDispatcher) ShowMessageRequest(ctx context.Context, params *ShowMessageRequestParams) (*MessageActionItem, error) {
 	var result *MessageActionItem
 	if err := s.sender.Call(ctx, "window/showMessageRequest", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *clientDispatcher) WorkDoneProgressCreate(ctx context.Context, params *WorkDoneProgressCreateParams) error {
 	return s.sender.Call(ctx, "window/workDoneProgress/create", params, nil)
-} // 194
+}
 func (s *clientDispatcher) ApplyEdit(ctx context.Context, params *ApplyWorkspaceEditParams) (*ApplyWorkspaceEditResult, error) {
 	var result *ApplyWorkspaceEditResult
 	if err := s.sender.Call(ctx, "workspace/applyEdit", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *clientDispatcher) CodeLensRefresh(ctx context.Context) error {
 	return s.sender.Call(ctx, "workspace/codeLens/refresh", nil, nil)
-} // 209
+}
 func (s *clientDispatcher) Configuration(ctx context.Context, params *ParamConfiguration) ([]LSPAny, error) {
 	var result []LSPAny
 	if err := s.sender.Call(ctx, "workspace/configuration", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *clientDispatcher) WorkspaceFolders(ctx context.Context) ([]WorkspaceFolder, error) {
 	var result []WorkspaceFolder
 	if err := s.sender.Call(ctx, "workspace/workspaceFolders", nil, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 204
+}
diff --git a/gopls/internal/lsp/protocol/tsjson.go b/gopls/internal/lsp/protocol/tsjson.go
index 3c9781a..a0f11c6 100644
--- a/gopls/internal/lsp/protocol/tsjson.go
+++ b/gopls/internal/lsp/protocol/tsjson.go
@@ -1,17 +1,20 @@
-// Copyright 2019-2022 The Go Authors. All rights reserved.
+// Copyright 2022 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// Code generated for LSP. DO NOT EDIT.
+
 package protocol
 
 // Code generated from version 3.17.0 of protocol/metaModel.json.
-// git hash 8de18faed635819dd2bc631d2c26ce4a18f7cf4a (as of Fri Sep 16 13:04:31 2022)
-// Code generated; DO NOT EDIT.
+// git hash 8de18faed635819dd2bc631d2c26ce4a18f7cf4a (as of 2023-01-14)
 
 import "encoding/json"
+
 import "errors"
 import "fmt"
 
+// from line 4790
 func (t OrFEditRangePItemDefaults) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case FEditRangePItemDefaults:
@@ -42,6 +45,7 @@
 	return errors.New("unmarshal failed to match one of [FEditRangePItemDefaults Range]")
 }
 
+// from line 9837
 func (t OrFNotebookPNotebookSelector) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case NotebookDocumentFilter:
@@ -72,6 +76,7 @@
 	return errors.New("unmarshal failed to match one of [NotebookDocumentFilter string]")
 }
 
+// from line 5539
 func (t OrPLocation_workspace_symbol) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case Location:
@@ -102,6 +107,7 @@
 	return errors.New("unmarshal failed to match one of [Location PLocationMsg_workspace_symbol]")
 }
 
+// from line 4185
 func (t OrPSection_workspace_didChangeConfiguration) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case []string:
@@ -132,6 +138,7 @@
 	return errors.New("unmarshal failed to match one of [[]string string]")
 }
 
+// from line 7080
 func (t OrPTooltipPLabel) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case MarkupContent:
@@ -162,6 +169,7 @@
 	return errors.New("unmarshal failed to match one of [MarkupContent string]")
 }
 
+// from line 3721
 func (t OrPTooltip_textDocument_inlayHint) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case MarkupContent:
@@ -192,6 +200,100 @@
 	return errors.New("unmarshal failed to match one of [MarkupContent string]")
 }
 
+// from line 6203
+func (t Or_CancelParams_id) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case int32:
+		return json.Marshal(x)
+	case string:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [int32 string]", t)
+}
+
+func (t *Or_CancelParams_id) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 int32
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 string
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [int32 string]")
+}
+
+// from line 4604
+func (t Or_CompletionItem_documentation) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case MarkupContent:
+		return json.Marshal(x)
+	case string:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [MarkupContent string]", t)
+}
+
+func (t *Or_CompletionItem_documentation) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 MarkupContent
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 string
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [MarkupContent string]")
+}
+
+// from line 4686
+func (t Or_CompletionItem_textEdit) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case InsertReplaceEdit:
+		return json.Marshal(x)
+	case TextEdit:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [InsertReplaceEdit TextEdit]", t)
+}
+
+func (t *Or_CompletionItem_textEdit) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 InsertReplaceEdit
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 TextEdit
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [InsertReplaceEdit TextEdit]")
+}
+
+// from line 13779
 func (t Or_Definition) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case Location:
@@ -222,6 +324,38 @@
 	return errors.New("unmarshal failed to match one of [Location []Location]")
 }
 
+// from line 8567
+func (t Or_Diagnostic_code) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case int32:
+		return json.Marshal(x)
+	case string:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [int32 string]", t)
+}
+
+func (t *Or_Diagnostic_code) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 int32
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 string
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [int32 string]")
+}
+
+// from line 13911
 func (t Or_DocumentDiagnosticReport) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case RelatedFullDocumentDiagnosticReport:
@@ -252,6 +386,38 @@
 	return errors.New("unmarshal failed to match one of [RelatedFullDocumentDiagnosticReport RelatedUnchangedDocumentDiagnosticReport]")
 }
 
+// from line 3844
+func (t Or_DocumentDiagnosticReportPartialResult_relatedDocuments_Value) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case FullDocumentDiagnosticReport:
+		return json.Marshal(x)
+	case UnchangedDocumentDiagnosticReport:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]", t)
+}
+
+func (t *Or_DocumentDiagnosticReportPartialResult_relatedDocuments_Value) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 FullDocumentDiagnosticReport
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 UnchangedDocumentDiagnosticReport
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]")
+}
+
+// from line 14120
 func (t Or_DocumentFilter) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case NotebookCellTextDocumentFilter:
@@ -282,6 +448,76 @@
 	return errors.New("unmarshal failed to match one of [NotebookCellTextDocumentFilter TextDocumentFilter]")
 }
 
+// from line 4912
+func (t Or_Hover_contents) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case MarkedString:
+		return json.Marshal(x)
+	case MarkupContent:
+		return json.Marshal(x)
+	case []MarkedString:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [MarkedString MarkupContent []MarkedString]", t)
+}
+
+func (t *Or_Hover_contents) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 MarkedString
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 MarkupContent
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 []MarkedString
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [MarkedString MarkupContent []MarkedString]")
+}
+
+// from line 3680
+func (t Or_InlayHint_label) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case []InlayHintLabelPart:
+		return json.Marshal(x)
+	case string:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [[]InlayHintLabelPart string]", t)
+}
+
+func (t *Or_InlayHint_label) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 []InlayHintLabelPart
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 string
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [[]InlayHintLabelPart string]")
+}
+
+// from line 13889
 func (t Or_InlineValue) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case InlineValueEvaluatableExpression:
@@ -319,6 +555,7 @@
 	return errors.New("unmarshal failed to match one of [InlineValueEvaluatableExpression InlineValueText InlineValueVariableLookup]")
 }
 
+// from line 14086
 func (t Or_MarkedString) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case Msg_MarkedString:
@@ -349,6 +586,131 @@
 	return errors.New("unmarshal failed to match one of [Msg_MarkedString string]")
 }
 
+// from line 10144
+func (t Or_NotebookCellTextDocumentFilter_notebook) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case NotebookDocumentFilter:
+		return json.Marshal(x)
+	case string:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [NotebookDocumentFilter string]", t)
+}
+
+func (t *Or_NotebookCellTextDocumentFilter_notebook) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 NotebookDocumentFilter
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 string
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [NotebookDocumentFilter string]")
+}
+
+// from line 9883
+func (t Or_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_notebook) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case NotebookDocumentFilter:
+		return json.Marshal(x)
+	case string:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [NotebookDocumentFilter string]", t)
+}
+
+func (t *Or_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_notebook) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 NotebookDocumentFilter
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 string
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [NotebookDocumentFilter string]")
+}
+
+// from line 7173
+func (t Or_RelatedFullDocumentDiagnosticReport_relatedDocuments_Value) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case FullDocumentDiagnosticReport:
+		return json.Marshal(x)
+	case UnchangedDocumentDiagnosticReport:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]", t)
+}
+
+func (t *Or_RelatedFullDocumentDiagnosticReport_relatedDocuments_Value) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 FullDocumentDiagnosticReport
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 UnchangedDocumentDiagnosticReport
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]")
+}
+
+// from line 7212
+func (t Or_RelatedUnchangedDocumentDiagnosticReport_relatedDocuments_Value) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case FullDocumentDiagnosticReport:
+		return json.Marshal(x)
+	case UnchangedDocumentDiagnosticReport:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]", t)
+}
+
+func (t *Or_RelatedUnchangedDocumentDiagnosticReport_relatedDocuments_Value) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 FullDocumentDiagnosticReport
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 UnchangedDocumentDiagnosticReport
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]")
+}
+
+// from line 10767
 func (t Or_RelativePattern_baseUri) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case URI:
@@ -379,6 +741,1145 @@
 	return errors.New("unmarshal failed to match one of [URI WorkspaceFolder]")
 }
 
+// from line 1379
+func (t Or_Result_textDocument_codeAction_Item0_Elem) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case CodeAction:
+		return json.Marshal(x)
+	case Command:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [CodeAction Command]", t)
+}
+
+func (t *Or_Result_textDocument_codeAction_Item0_Elem) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 CodeAction
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 Command
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [CodeAction Command]")
+}
+
+// from line 12223
+func (t Or_SemanticTokensClientCapabilities_requests_full) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case FFullPRequests:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [FFullPRequests bool]", t)
+}
+
+func (t *Or_SemanticTokensClientCapabilities_requests_full) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 FFullPRequests
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [FFullPRequests bool]")
+}
+
+// from line 12203
+func (t Or_SemanticTokensClientCapabilities_requests_range) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case FRangePRequests:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [FRangePRequests bool]", t)
+}
+
+func (t *Or_SemanticTokensClientCapabilities_requests_range) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 FRangePRequests
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [FRangePRequests bool]")
+}
+
+// from line 6584
+func (t Or_SemanticTokensOptions_full) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case PFullESemanticTokensOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [PFullESemanticTokensOptions bool]", t)
+}
+
+func (t *Or_SemanticTokensOptions_full) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 PFullESemanticTokensOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [PFullESemanticTokensOptions bool]")
+}
+
+// from line 6564
+func (t Or_SemanticTokensOptions_range) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case PRangeESemanticTokensOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [PRangeESemanticTokensOptions bool]", t)
+}
+
+func (t *Or_SemanticTokensOptions_range) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 PRangeESemanticTokensOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [PRangeESemanticTokensOptions bool]")
+}
+
+// from line 8247
+func (t Or_ServerCapabilities_callHierarchyProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case CallHierarchyOptions:
+		return json.Marshal(x)
+	case CallHierarchyRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [CallHierarchyOptions CallHierarchyRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_callHierarchyProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 CallHierarchyOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 CallHierarchyRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [CallHierarchyOptions CallHierarchyRegistrationOptions bool]")
+}
+
+// from line 8055
+func (t Or_ServerCapabilities_codeActionProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case CodeActionOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [CodeActionOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_codeActionProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 CodeActionOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [CodeActionOptions bool]")
+}
+
+// from line 8091
+func (t Or_ServerCapabilities_colorProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case DocumentColorOptions:
+		return json.Marshal(x)
+	case DocumentColorRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [DocumentColorOptions DocumentColorRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_colorProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 DocumentColorOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 DocumentColorRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [DocumentColorOptions DocumentColorRegistrationOptions bool]")
+}
+
+// from line 7917
+func (t Or_ServerCapabilities_declarationProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case DeclarationOptions:
+		return json.Marshal(x)
+	case DeclarationRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [DeclarationOptions DeclarationRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_declarationProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 DeclarationOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 DeclarationRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [DeclarationOptions DeclarationRegistrationOptions bool]")
+}
+
+// from line 7939
+func (t Or_ServerCapabilities_definitionProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case DefinitionOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [DefinitionOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_definitionProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 DefinitionOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [DefinitionOptions bool]")
+}
+
+// from line 8404
+func (t Or_ServerCapabilities_diagnosticProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case DiagnosticOptions:
+		return json.Marshal(x)
+	case DiagnosticRegistrationOptions:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [DiagnosticOptions DiagnosticRegistrationOptions]", t)
+}
+
+func (t *Or_ServerCapabilities_diagnosticProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 DiagnosticOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 DiagnosticRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [DiagnosticOptions DiagnosticRegistrationOptions]")
+}
+
+// from line 8131
+func (t Or_ServerCapabilities_documentFormattingProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case DocumentFormattingOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [DocumentFormattingOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_documentFormattingProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 DocumentFormattingOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [DocumentFormattingOptions bool]")
+}
+
+// from line 8019
+func (t Or_ServerCapabilities_documentHighlightProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case DocumentHighlightOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [DocumentHighlightOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_documentHighlightProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 DocumentHighlightOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [DocumentHighlightOptions bool]")
+}
+
+// from line 8149
+func (t Or_ServerCapabilities_documentRangeFormattingProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case DocumentRangeFormattingOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [DocumentRangeFormattingOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_documentRangeFormattingProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 DocumentRangeFormattingOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [DocumentRangeFormattingOptions bool]")
+}
+
+// from line 8037
+func (t Or_ServerCapabilities_documentSymbolProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case DocumentSymbolOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [DocumentSymbolOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_documentSymbolProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 DocumentSymbolOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [DocumentSymbolOptions bool]")
+}
+
+// from line 8194
+func (t Or_ServerCapabilities_foldingRangeProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case FoldingRangeOptions:
+		return json.Marshal(x)
+	case FoldingRangeRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [FoldingRangeOptions FoldingRangeRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_foldingRangeProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 FoldingRangeOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 FoldingRangeRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [FoldingRangeOptions FoldingRangeRegistrationOptions bool]")
+}
+
+// from line 7890
+func (t Or_ServerCapabilities_hoverProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case HoverOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [HoverOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_hoverProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 HoverOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [HoverOptions bool]")
+}
+
+// from line 7979
+func (t Or_ServerCapabilities_implementationProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case ImplementationOptions:
+		return json.Marshal(x)
+	case ImplementationRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [ImplementationOptions ImplementationRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_implementationProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 ImplementationOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 ImplementationRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [ImplementationOptions ImplementationRegistrationOptions bool]")
+}
+
+// from line 8381
+func (t Or_ServerCapabilities_inlayHintProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case InlayHintOptions:
+		return json.Marshal(x)
+	case InlayHintRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [InlayHintOptions InlayHintRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_inlayHintProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 InlayHintOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 InlayHintRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [InlayHintOptions InlayHintRegistrationOptions bool]")
+}
+
+// from line 8358
+func (t Or_ServerCapabilities_inlineValueProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case InlineValueOptions:
+		return json.Marshal(x)
+	case InlineValueRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [InlineValueOptions InlineValueRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_inlineValueProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 InlineValueOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 InlineValueRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [InlineValueOptions InlineValueRegistrationOptions bool]")
+}
+
+// from line 8270
+func (t Or_ServerCapabilities_linkedEditingRangeProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case LinkedEditingRangeOptions:
+		return json.Marshal(x)
+	case LinkedEditingRangeRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [LinkedEditingRangeOptions LinkedEditingRangeRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_linkedEditingRangeProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 LinkedEditingRangeOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 LinkedEditingRangeRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [LinkedEditingRangeOptions LinkedEditingRangeRegistrationOptions bool]")
+}
+
+// from line 8312
+func (t Or_ServerCapabilities_monikerProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case MonikerOptions:
+		return json.Marshal(x)
+	case MonikerRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [MonikerOptions MonikerRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_monikerProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 MonikerOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 MonikerRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [MonikerOptions MonikerRegistrationOptions bool]")
+}
+
+// from line 7862
+func (t Or_ServerCapabilities_notebookDocumentSync) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case NotebookDocumentSyncOptions:
+		return json.Marshal(x)
+	case NotebookDocumentSyncRegistrationOptions:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [NotebookDocumentSyncOptions NotebookDocumentSyncRegistrationOptions]", t)
+}
+
+func (t *Or_ServerCapabilities_notebookDocumentSync) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 NotebookDocumentSyncOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 NotebookDocumentSyncRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [NotebookDocumentSyncOptions NotebookDocumentSyncRegistrationOptions]")
+}
+
+// from line 8001
+func (t Or_ServerCapabilities_referencesProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case ReferenceOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [ReferenceOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_referencesProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 ReferenceOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [ReferenceOptions bool]")
+}
+
+// from line 8176
+func (t Or_ServerCapabilities_renameProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case RenameOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [RenameOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_renameProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 RenameOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [RenameOptions bool]")
+}
+
+// from line 8216
+func (t Or_ServerCapabilities_selectionRangeProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case SelectionRangeOptions:
+		return json.Marshal(x)
+	case SelectionRangeRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [SelectionRangeOptions SelectionRangeRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_selectionRangeProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 SelectionRangeOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 SelectionRangeRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [SelectionRangeOptions SelectionRangeRegistrationOptions bool]")
+}
+
+// from line 8293
+func (t Or_ServerCapabilities_semanticTokensProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case SemanticTokensOptions:
+		return json.Marshal(x)
+	case SemanticTokensRegistrationOptions:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [SemanticTokensOptions SemanticTokensRegistrationOptions]", t)
+}
+
+func (t *Or_ServerCapabilities_semanticTokensProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 SemanticTokensOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 SemanticTokensRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [SemanticTokensOptions SemanticTokensRegistrationOptions]")
+}
+
+// from line 7844
+func (t Or_ServerCapabilities_textDocumentSync) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case TextDocumentSyncKind:
+		return json.Marshal(x)
+	case TextDocumentSyncOptions:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [TextDocumentSyncKind TextDocumentSyncOptions]", t)
+}
+
+func (t *Or_ServerCapabilities_textDocumentSync) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 TextDocumentSyncKind
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 TextDocumentSyncOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [TextDocumentSyncKind TextDocumentSyncOptions]")
+}
+
+// from line 7957
+func (t Or_ServerCapabilities_typeDefinitionProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case TypeDefinitionOptions:
+		return json.Marshal(x)
+	case TypeDefinitionRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [TypeDefinitionOptions TypeDefinitionRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_typeDefinitionProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 TypeDefinitionOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 TypeDefinitionRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [TypeDefinitionOptions TypeDefinitionRegistrationOptions bool]")
+}
+
+// from line 8335
+func (t Or_ServerCapabilities_typeHierarchyProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case TypeHierarchyOptions:
+		return json.Marshal(x)
+	case TypeHierarchyRegistrationOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [TypeHierarchyOptions TypeHierarchyRegistrationOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_typeHierarchyProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 TypeHierarchyOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 TypeHierarchyRegistrationOptions
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 bool
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [TypeHierarchyOptions TypeHierarchyRegistrationOptions bool]")
+}
+
+// from line 8113
+func (t Or_ServerCapabilities_workspaceSymbolProvider) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case WorkspaceSymbolOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [WorkspaceSymbolOptions bool]", t)
+}
+
+func (t *Or_ServerCapabilities_workspaceSymbolProvider) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 WorkspaceSymbolOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [WorkspaceSymbolOptions bool]")
+}
+
+// from line 8861
+func (t Or_SignatureInformation_documentation) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case MarkupContent:
+		return json.Marshal(x)
+	case string:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [MarkupContent string]", t)
+}
+
+func (t *Or_SignatureInformation_documentation) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 MarkupContent
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 string
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [MarkupContent string]")
+}
+
+// from line 6697
+func (t Or_TextDocumentEdit_edits_Elem) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case AnnotatedTextEdit:
+		return json.Marshal(x)
+	case TextEdit:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [AnnotatedTextEdit TextEdit]", t)
+}
+
+func (t *Or_TextDocumentEdit_edits_Elem) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 AnnotatedTextEdit
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 TextEdit
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [AnnotatedTextEdit TextEdit]")
+}
+
+// from line 9803
+func (t Or_TextDocumentSyncOptions_save) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case SaveOptions:
+		return json.Marshal(x)
+	case bool:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [SaveOptions bool]", t)
+}
+
+func (t *Or_TextDocumentSyncOptions_save) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 SaveOptions
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 bool
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [SaveOptions bool]")
+}
+
+// from line 14012
 func (t Or_WorkspaceDocumentDiagnosticReport) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case WorkspaceFullDocumentDiagnosticReport:
@@ -409,6 +1910,52 @@
 	return errors.New("unmarshal failed to match one of [WorkspaceFullDocumentDiagnosticReport WorkspaceUnchangedDocumentDiagnosticReport]")
 }
 
+// from line 3241
+func (t Or_WorkspaceEdit_documentChanges_Elem) MarshalJSON() ([]byte, error) {
+	switch x := t.Value.(type) {
+	case CreateFile:
+		return json.Marshal(x)
+	case DeleteFile:
+		return json.Marshal(x)
+	case RenameFile:
+		return json.Marshal(x)
+	case TextDocumentEdit:
+		return json.Marshal(x)
+	case nil:
+		return []byte("null"), nil
+	}
+	return nil, fmt.Errorf("type %T not one of [CreateFile DeleteFile RenameFile TextDocumentEdit]", t)
+}
+
+func (t *Or_WorkspaceEdit_documentChanges_Elem) UnmarshalJSON(x []byte) error {
+	if string(x) == "null" {
+		t.Value = nil
+		return nil
+	}
+	var h0 CreateFile
+	if err := json.Unmarshal(x, &h0); err == nil {
+		t.Value = h0
+		return nil
+	}
+	var h1 DeleteFile
+	if err := json.Unmarshal(x, &h1); err == nil {
+		t.Value = h1
+		return nil
+	}
+	var h2 RenameFile
+	if err := json.Unmarshal(x, &h2); err == nil {
+		t.Value = h2
+		return nil
+	}
+	var h3 TextDocumentEdit
+	if err := json.Unmarshal(x, &h3); err == nil {
+		t.Value = h3
+		return nil
+	}
+	return errors.New("unmarshal failed to match one of [CreateFile DeleteFile RenameFile TextDocumentEdit]")
+}
+
+// from line 256
 func (t Or_textDocument_declaration) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case Declaration:
diff --git a/gopls/internal/lsp/protocol/tsprotocol.go b/gopls/internal/lsp/protocol/tsprotocol.go
index 8272d7e..becb255 100644
--- a/gopls/internal/lsp/protocol/tsprotocol.go
+++ b/gopls/internal/lsp/protocol/tsprotocol.go
@@ -1,15 +1,22 @@
-// Copyright 2019-2022 The Go Authors. All rights reserved.
+// Copyright 2022 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// Code generated for LSP. DO NOT EDIT.
+
 package protocol
 
 // Code generated from version 3.17.0 of protocol/metaModel.json.
-// git hash 8de18faed635819dd2bc631d2c26ce4a18f7cf4a (as of Fri Sep 16 13:04:31 2022)
-// Code generated; DO NOT EDIT.
+// git hash 8de18faed635819dd2bc631d2c26ce4a18f7cf4a (as of 2023-01-14)
 
 import "encoding/json"
 
+// created for And
+type And_Param_workspace_configuration struct { // line 141
+	ParamConfiguration
+	PartialResultParams
+}
+
 /*
  * A special text edit with an additional change annotation.
  *
@@ -393,6 +400,8 @@
 	 */
 	TriggerKind CodeActionTriggerKind `json:"triggerKind,omitempty"`
 }
+
+// A set of predefined code action kinds
 type CodeActionKind string // line 13352
 // Provider options for a [CodeActionRequest](#CodeActionRequest).
 type CodeActionOptions struct { // line 9091
@@ -430,6 +439,12 @@
 	TextDocumentRegistrationOptions
 	CodeActionOptions
 }
+
+/*
+ * The reason why code actions were requested.
+ *
+ * @since 3.17.0
+ */
 type CodeActionTriggerKind uint32 // line 13632
 /*
  * Structure to capture a description for an error code.
@@ -773,6 +788,8 @@
 	 */
 	Data interface{} `json:"data,omitempty"`
 }
+
+// The kind of a completion entry.
 type CompletionItemKind uint32 // line 13160
 /*
  * Additional details for a completion item label.
@@ -791,6 +808,13 @@
 	 */
 	Description string `json:"description,omitempty"`
 }
+
+/*
+ * Completion item tags are extra annotations that tweak the rendering of a completion
+ * item.
+ *
+ * @since 3.15.0
+ */
 type CompletionItemTag uint32 // line 13270
 /*
  * Represents a collection of [completion items](#CompletionItem) to be presented
@@ -880,6 +904,8 @@
 	TextDocumentRegistrationOptions
 	CompletionOptions
 }
+
+// How a completion was triggered
 type CompletionTriggerKind uint32 // line 13581
 type ConfigurationItem struct {   // line 6401
 	// The scope to get the configuration section for.
@@ -1156,8 +1182,15 @@
 type DiagnosticServerCancellationData struct { // line 3863
 	RetriggerRequest bool `json:"retriggerRequest"`
 }
+
+// The diagnostic's severity.
 type DiagnosticSeverity uint32 // line 13530
-type DiagnosticTag uint32      // line 13560
+/*
+ * The diagnostic tags.
+ *
+ * @since 3.15.0
+ */
+type DiagnosticTag uint32 // line 13560
 /*
  * Workspace client capabilities specific to diagnostic pull requests.
  *
@@ -1379,18 +1412,13 @@
 	WorkDoneProgressParams
 	PartialResultParams
 }
-
+type DocumentDiagnosticReport = Or_DocumentDiagnosticReport // (alias) line 13909
 /*
- * The result of a document diagnostic pull request. A report can
- * either be a full report containing all diagnostics for the
- * requested document or an unchanged report indicating that nothing
- * has changed in terms of diagnostics in comparison to the last
- * pull request.
+ * The document diagnostic report kinds.
  *
  * @since 3.17.0
  */
-type DocumentDiagnosticReport = Or_DocumentDiagnosticReport // (alias) line 13909
-type DocumentDiagnosticReportKind string                    // line 12748
+type DocumentDiagnosticReportKind string // line 12748
 /*
  * A partial result for a document diagnostic report.
  *
@@ -1450,6 +1478,8 @@
 	// Whether document highlight supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
+
+// A document highlight kind.
 type DocumentHighlightKind uint32 // line 13327
 // Provider options for a [DocumentHighlightRequest](#DocumentHighlightRequest).
 type DocumentHighlightOptions struct { // line 8975
@@ -1701,8 +1731,10 @@
 	TextDocumentRegistrationOptions
 	DocumentSymbolOptions
 }
-type DocumentURI string // line 0
-type ErrorCodes int32   // line 12769
+type DocumentURI string
+
+// Predefined error codes.
+type ErrorCodes int32 // line 12769
 // The client capabilities of a [ExecuteCommandRequest](#ExecuteCommandRequest).
 type ExecuteCommandClientCapabilities struct { // line 10988
 	// Execute command supports dynamic registration.
@@ -1743,12 +1775,12 @@
 	Success bool `json:"success,omitempty"`
 }
 
-// created for Literal
+// created for Literal (Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item0_cells_Elem)
 type FCellsPNotebookSelector struct { // line 9857
 	Language string `json:"language"`
 }
 
-// created for Literal
+// created for Literal (Lit_CodeActionClientCapabilities_codeActionLiteralSupport_codeActionKind)
 type FCodeActionKindPCodeActionLiteralSupport struct { // line 11768
 	/*
 	 * The code action kind values the client supports. When this
@@ -1759,14 +1791,14 @@
 	ValueSet []CodeActionKind `json:"valueSet"`
 }
 
-// created for Literal
-type FEditRangePItemDefaults struct { // line 4797
+// created for Literal (Lit_CompletionList_itemDefaults_editRange_Item1)
+type FEditRangePItemDefaults struct { // line 4798
 	Insert  Range `json:"insert"`
 	Replace Range `json:"replace"`
 }
 
-// created for Literal
-type FFullPRequests struct { // line 12230
+// created for Literal (Lit_SemanticTokensClientCapabilities_requests_full_Item1)
+type FFullPRequests struct { // line 12231
 	/*
 	 * The client will send the `textDocument/semanticTokens/full/delta` request if
 	 * the server provides a corresponding handler.
@@ -1774,12 +1806,12 @@
 	Delta bool `json:"delta"`
 }
 
-// created for Literal
+// created for Literal (Lit_CompletionClientCapabilities_completionItem_insertTextModeSupport)
 type FInsertTextModeSupportPCompletionItem struct { // line 11321
 	ValueSet []InsertTextMode `json:"valueSet"`
 }
 
-// created for Literal
+// created for Literal (Lit_SignatureHelpClientCapabilities_signatureInformation_parameterInformation)
 type FParameterInformationPSignatureInformation struct { // line 11487
 	/*
 	 * The client supports processing label offsets instead of a
@@ -1790,17 +1822,17 @@
 	LabelOffsetSupport bool `json:"labelOffsetSupport"`
 }
 
-// created for Literal
-type FRangePRequests struct { // line 12210
+// created for Literal (Lit_SemanticTokensClientCapabilities_requests_range_Item1)
+type FRangePRequests struct { // line 12211
 }
 
-// created for Literal
+// created for Literal (Lit_CompletionClientCapabilities_completionItem_resolveSupport)
 type FResolveSupportPCompletionItem struct { // line 11297
 	// The properties that a client can resolve lazily.
 	Properties []string `json:"properties"`
 }
 
-// created for Literal
+// created for Literal (Lit_NotebookDocumentChangeEvent_cells_structure)
 type FStructurePCells struct { // line 7492
 	// The change to the cell array.
 	Array NotebookCellArrayChange `json:"array"`
@@ -1810,19 +1842,20 @@
 	DidClose []TextDocumentIdentifier `json:"didClose"`
 }
 
-// created for Literal
+// created for Literal (Lit_CompletionClientCapabilities_completionItem_tagSupport)
 type FTagSupportPCompletionItem struct { // line 11263
 	// The tags supported by the client.
 	ValueSet []CompletionItemTag `json:"valueSet"`
 }
 
-// created for Literal
+// created for Literal (Lit_NotebookDocumentChangeEvent_cells_textContent_Elem)
 type FTextContentPCells struct { // line 7550
 	Document VersionedTextDocumentIdentifier  `json:"document"`
 	Changes  []TextDocumentContentChangeEvent `json:"changes"`
 }
 type FailureHandlingKind string // line 13719
-type FileChangeType uint32      // line 13480
+// The file event type
+type FileChangeType uint32 // line 13480
 /*
  * Represents information on a file/folder create.
  *
@@ -1935,6 +1968,13 @@
 	// Additional options used during matching.
 	Options *FileOperationPatternOptions `json:"options,omitempty"`
 }
+
+/*
+ * A pattern kind describing if a glob pattern matches a file a folder or
+ * both.
+ *
+ * @since 3.16.0
+ */
 type FileOperationPatternKind string // line 13653
 /*
  * Matching options for the file operation pattern.
@@ -2049,6 +2089,8 @@
 	 */
 	FoldingRange *PFoldingRangePFoldingRange `json:"foldingRange,omitempty"`
 }
+
+// A set of predefined range kinds.
 type FoldingRangeKind string      // line 12841
 type FoldingRangeOptions struct { // line 6486
 	WorkDoneProgressOptions
@@ -2332,6 +2374,12 @@
 	 */
 	ResolveSupport *PResolveSupportPInlayHint `json:"resolveSupport,omitempty"`
 }
+
+/*
+ * Inlay hint kinds.
+ *
+ * @since 3.17.0
+ */
 type InlayHintKind uint32 // line 13059
 /*
  * An inlay hint label part allows for interactive and composite labels
@@ -2575,17 +2623,21 @@
 	// The range if the replace is requested.
 	Replace Range `json:"replace"`
 }
-type InsertTextFormat uint32 // line 13286
-type InsertTextMode uint32   // line 13306
+
 /*
- * The LSP any type.
- * Please note that strictly speaking a property with the value `undefined`
- * can't be converted into JSON preserving the property name. However for
- * convenience it is allowed and assumed that all these properties are
- * optional as well.
- * @since 3.17.0
+ * Defines whether the insert text in a completion item should be interpreted as
+ * plain text or a snippet.
  */
-type LSPAny = interface{} // (alias) line 13817
+type InsertTextFormat uint32 // line 13286
+/*
+ * How whitespace and indentation is handled during completion
+ * item insertion.
+ *
+ * @since 3.16.0
+ */
+type InsertTextMode uint32 // line 13306
+type LSPAny = interface{}
+
 /*
  * LSP arrays.
  * @since 3.17.0
@@ -2644,6 +2696,64 @@
 	WordPattern string `json:"wordPattern,omitempty"`
 }
 
+// created for Literal (Lit_NotebookDocumentFilter_Item1)
+type Lit_NotebookDocumentFilter_Item1 struct { // line 14302
+	// The type of the enclosing notebook.
+	NotebookType string `json:"notebookType,omitempty"`
+	// A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+	Scheme string `json:"scheme"`
+	// A glob pattern.
+	Pattern string `json:"pattern,omitempty"`
+}
+
+// created for Literal (Lit_NotebookDocumentFilter_Item2)
+type Lit_NotebookDocumentFilter_Item2 struct { // line 14335
+	// The type of the enclosing notebook.
+	NotebookType string `json:"notebookType,omitempty"`
+	// A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+	Scheme string `json:"scheme,omitempty"`
+	// A glob pattern.
+	Pattern string `json:"pattern"`
+}
+
+// created for Literal (Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1)
+type Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1 struct { // line 9878
+	/*
+	 * The notebook to be synced If a string
+	 * value is provided it matches against the
+	 * notebook type. '*' matches every notebook.
+	 */
+	Notebook *Or_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_notebook `json:"notebook,omitempty"`
+	// The cells of the matching notebook to be synced.
+	Cells []Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_cells_Elem `json:"cells"`
+}
+
+// created for Literal (Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_cells_Elem)
+type Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_cells_Elem struct { // line 9904
+	Language string `json:"language"`
+}
+
+// created for Literal (Lit_PrepareRenameResult_Item2)
+type Lit_PrepareRenameResult_Item2 struct { // line 13958
+	DefaultBehavior bool `json:"defaultBehavior"`
+}
+
+// created for Literal (Lit_TextDocumentContentChangeEvent_Item1)
+type Lit_TextDocumentContentChangeEvent_Item1 struct { // line 14066
+	// The new text of the whole document.
+	Text string `json:"text"`
+}
+
+// created for Literal (Lit_TextDocumentFilter_Item2)
+type Lit_TextDocumentFilter_Item2 struct { // line 14226
+	// A language id, like `typescript`.
+	Language string `json:"language,omitempty"`
+	// A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+	Scheme string `json:"scheme,omitempty"`
+	// A glob pattern, like `*.{ts,js}`.
+	Pattern string `json:"pattern"`
+}
+
 /*
  * Represents a location inside a resource, such as a line
  * inside a text file.
@@ -2743,8 +2853,7 @@
  *    '```typescript',
  *    'someCode();',
  *    '```'
- *  ].join('\
- * ')
+ *  ].join('\n')
  * };
  * ```
  *
@@ -2757,11 +2866,21 @@
 	// The content itself
 	Value string `json:"value"`
 }
+
+/*
+ * Describes the content type that a client supports in various
+ * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.
+ *
+ * Please note that `MarkupKinds` must not start with a `$`. This kinds
+ * are reserved for internal usage.
+ */
 type MarkupKind string          // line 13433
 type MessageActionItem struct { // line 4260
 	// A short title like 'Retry', 'Open Log' etc.
 	Title string `json:"title"`
 }
+
+// The message type
 type MessageType uint32 // line 13080
 /*
  * Moniker definition to match LSIF 0.5 moniker definition.
@@ -2795,6 +2914,12 @@
 	 */
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
+
+/*
+ * The moniker kind.
+ *
+ * @since 3.16.0
+ */
 type MonikerKind string      // line 13033
 type MonikerOptions struct { // line 6931
 	WorkDoneProgressOptions
@@ -2809,14 +2934,14 @@
 	MonikerOptions
 }
 
-// created for Literal
-type Msg_MarkedString struct { // line 14093
+// created for Literal (Lit_MarkedString_Item1)
+type Msg_MarkedString struct { // line 14094
 	Language string `json:"language"`
 	Value    string `json:"value"`
 }
 
-// created for Literal
-type Msg_NotebookDocumentFilter struct { // line 14268
+// created for Literal (Lit_NotebookDocumentFilter_Item0)
+type Msg_NotebookDocumentFilter struct { // line 14269
 	// The type of the enclosing notebook.
 	NotebookType string `json:"notebookType"`
 	// A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
@@ -2825,14 +2950,14 @@
 	Pattern string `json:"pattern"`
 }
 
-// created for Literal
-type Msg_PrepareRename2Gn struct { // line 13936
+// created for Literal (Lit_PrepareRenameResult_Item1)
+type Msg_PrepareRename2Gn struct { // line 13937
 	Range       Range  `json:"range"`
 	Placeholder string `json:"placeholder"`
 }
 
-// created for Literal
-type Msg_TextDocumentContentChangeEvent struct { // line 14033
+// created for Literal (Lit_TextDocumentContentChangeEvent_Item0)
+type Msg_TextDocumentContentChangeEvent struct { // line 14034
 	// The range of the document that changed.
 	Range *Range `json:"range"`
 	/*
@@ -2845,8 +2970,8 @@
 	Text string `json:"text"`
 }
 
-// created for Literal
-type Msg_TextDocumentFilter struct { // line 14159
+// created for Literal (Lit_TextDocumentFilter_Item1)
+type Msg_TextDocumentFilter struct { // line 14193
 	// A language id, like `typescript`.
 	Language string `json:"language"`
 	// A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
@@ -2855,7 +2980,7 @@
 	Pattern string `json:"pattern"`
 }
 
-// created for Literal
+// created for Literal (Lit__InitializeParams_clientInfo)
 type Msg_XInitializeParams_clientInfo struct { // line 7678
 	// The name of the client as defined by the client.
 	Name string `json:"name"`
@@ -2907,6 +3032,12 @@
 	// The new cells, if any
 	Cells []NotebookCell `json:"cells,omitempty"`
 }
+
+/*
+ * A notebook cell kind.
+ *
+ * @since 3.17.0
+ */
 type NotebookCellKind uint32 // line 13674
 /*
  * A notebook cell text document filter denotes a cell text
@@ -3070,12 +3201,12 @@
 	TextDocumentIdentifier
 }
 
-// created for Or [Range FEditRangePItemDefaults]
+// created for Or [FEditRangePItemDefaults Range]
 type OrFEditRangePItemDefaults struct { // line 4791
 	Value interface{} `json:"value"`
 }
 
-// created for Or [string NotebookDocumentFilter]
+// created for Or [NotebookDocumentFilter string]
 type OrFNotebookPNotebookSelector struct { // line 9838
 	Value interface{} `json:"value"`
 }
@@ -3085,62 +3216,292 @@
 	Value interface{} `json:"value"`
 }
 
-// created for Or [string []string]
+// created for Or [[]string string]
 type OrPSection_workspace_didChangeConfiguration struct { // line 4186
 	Value interface{} `json:"value"`
 }
 
-// created for Or [string MarkupContent]
+// created for Or [MarkupContent string]
 type OrPTooltipPLabel struct { // line 7081
 	Value interface{} `json:"value"`
 }
 
-// created for Or [string MarkupContent]
+// created for Or [MarkupContent string]
 type OrPTooltip_textDocument_inlayHint struct { // line 3722
 	Value interface{} `json:"value"`
 }
 
+// created for Or [int32 string]
+type Or_CancelParams_id struct { // line 6204
+	Value interface{} `json:"value"`
+}
+
+// created for Or [MarkupContent string]
+type Or_CompletionItem_documentation struct { // line 4605
+	Value interface{} `json:"value"`
+}
+
+// created for Or [InsertReplaceEdit TextEdit]
+type Or_CompletionItem_textEdit struct { // line 4687
+	Value interface{} `json:"value"`
+}
+
 // created for Or [Location []Location]
 type Or_Definition struct { // line 13780
 	Value interface{} `json:"value"`
 }
 
+// created for Or [int32 string]
+type Or_Diagnostic_code struct { // line 8568
+	Value interface{} `json:"value"`
+}
+
 // created for Or [RelatedFullDocumentDiagnosticReport RelatedUnchangedDocumentDiagnosticReport]
 type Or_DocumentDiagnosticReport struct { // line 13912
 	Value interface{} `json:"value"`
 }
 
-// created for Or [TextDocumentFilter NotebookCellTextDocumentFilter]
+// created for Or [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]
+type Or_DocumentDiagnosticReportPartialResult_relatedDocuments_Value struct { // line 3845
+	Value interface{} `json:"value"`
+}
+
+// created for Or [NotebookCellTextDocumentFilter TextDocumentFilter]
 type Or_DocumentFilter struct { // line 14121
 	Value interface{} `json:"value"`
 }
 
-// created for Or [InlineValueText InlineValueVariableLookup InlineValueEvaluatableExpression]
+// created for Or [MarkedString MarkupContent []MarkedString]
+type Or_Hover_contents struct { // line 4913
+	Value interface{} `json:"value"`
+}
+
+// created for Or [[]InlayHintLabelPart string]
+type Or_InlayHint_label struct { // line 3681
+	Value interface{} `json:"value"`
+}
+
+// created for Or [InlineValueEvaluatableExpression InlineValueText InlineValueVariableLookup]
 type Or_InlineValue struct { // line 13890
 	Value interface{} `json:"value"`
 }
 
-// created for Or [string Msg_MarkedString]
+// created for Or [Msg_MarkedString string]
 type Or_MarkedString struct { // line 14087
 	Value interface{} `json:"value"`
 }
 
-// created for Or [WorkspaceFolder URI]
+// created for Or [NotebookDocumentFilter string]
+type Or_NotebookCellTextDocumentFilter_notebook struct { // line 10145
+	Value interface{} `json:"value"`
+}
+
+// created for Or [NotebookDocumentFilter string]
+type Or_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_notebook struct { // line 9884
+	Value interface{} `json:"value"`
+}
+
+// created for Or [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]
+type Or_RelatedFullDocumentDiagnosticReport_relatedDocuments_Value struct { // line 7174
+	Value interface{} `json:"value"`
+}
+
+// created for Or [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]
+type Or_RelatedUnchangedDocumentDiagnosticReport_relatedDocuments_Value struct { // line 7213
+	Value interface{} `json:"value"`
+}
+
+// created for Or [URI WorkspaceFolder]
 type Or_RelativePattern_baseUri struct { // line 10768
 	Value interface{} `json:"value"`
 }
 
+// created for Or [CodeAction Command]
+type Or_Result_textDocument_codeAction_Item0_Elem struct { // line 1380
+	Value interface{} `json:"value"`
+}
+
+// created for Or [FFullPRequests bool]
+type Or_SemanticTokensClientCapabilities_requests_full struct { // line 12224
+	Value interface{} `json:"value"`
+}
+
+// created for Or [FRangePRequests bool]
+type Or_SemanticTokensClientCapabilities_requests_range struct { // line 12204
+	Value interface{} `json:"value"`
+}
+
+// created for Or [PFullESemanticTokensOptions bool]
+type Or_SemanticTokensOptions_full struct { // line 6585
+	Value interface{} `json:"value"`
+}
+
+// created for Or [PRangeESemanticTokensOptions bool]
+type Or_SemanticTokensOptions_range struct { // line 6565
+	Value interface{} `json:"value"`
+}
+
+// created for Or [CallHierarchyOptions CallHierarchyRegistrationOptions bool]
+type Or_ServerCapabilities_callHierarchyProvider struct { // line 8248
+	Value interface{} `json:"value"`
+}
+
+// created for Or [CodeActionOptions bool]
+type Or_ServerCapabilities_codeActionProvider struct { // line 8056
+	Value interface{} `json:"value"`
+}
+
+// created for Or [DocumentColorOptions DocumentColorRegistrationOptions bool]
+type Or_ServerCapabilities_colorProvider struct { // line 8092
+	Value interface{} `json:"value"`
+}
+
+// created for Or [DeclarationOptions DeclarationRegistrationOptions bool]
+type Or_ServerCapabilities_declarationProvider struct { // line 7918
+	Value interface{} `json:"value"`
+}
+
+// created for Or [DefinitionOptions bool]
+type Or_ServerCapabilities_definitionProvider struct { // line 7940
+	Value interface{} `json:"value"`
+}
+
+// created for Or [DiagnosticOptions DiagnosticRegistrationOptions]
+type Or_ServerCapabilities_diagnosticProvider struct { // line 8405
+	Value interface{} `json:"value"`
+}
+
+// created for Or [DocumentFormattingOptions bool]
+type Or_ServerCapabilities_documentFormattingProvider struct { // line 8132
+	Value interface{} `json:"value"`
+}
+
+// created for Or [DocumentHighlightOptions bool]
+type Or_ServerCapabilities_documentHighlightProvider struct { // line 8020
+	Value interface{} `json:"value"`
+}
+
+// created for Or [DocumentRangeFormattingOptions bool]
+type Or_ServerCapabilities_documentRangeFormattingProvider struct { // line 8150
+	Value interface{} `json:"value"`
+}
+
+// created for Or [DocumentSymbolOptions bool]
+type Or_ServerCapabilities_documentSymbolProvider struct { // line 8038
+	Value interface{} `json:"value"`
+}
+
+// created for Or [FoldingRangeOptions FoldingRangeRegistrationOptions bool]
+type Or_ServerCapabilities_foldingRangeProvider struct { // line 8195
+	Value interface{} `json:"value"`
+}
+
+// created for Or [HoverOptions bool]
+type Or_ServerCapabilities_hoverProvider struct { // line 7891
+	Value interface{} `json:"value"`
+}
+
+// created for Or [ImplementationOptions ImplementationRegistrationOptions bool]
+type Or_ServerCapabilities_implementationProvider struct { // line 7980
+	Value interface{} `json:"value"`
+}
+
+// created for Or [InlayHintOptions InlayHintRegistrationOptions bool]
+type Or_ServerCapabilities_inlayHintProvider struct { // line 8382
+	Value interface{} `json:"value"`
+}
+
+// created for Or [InlineValueOptions InlineValueRegistrationOptions bool]
+type Or_ServerCapabilities_inlineValueProvider struct { // line 8359
+	Value interface{} `json:"value"`
+}
+
+// created for Or [LinkedEditingRangeOptions LinkedEditingRangeRegistrationOptions bool]
+type Or_ServerCapabilities_linkedEditingRangeProvider struct { // line 8271
+	Value interface{} `json:"value"`
+}
+
+// created for Or [MonikerOptions MonikerRegistrationOptions bool]
+type Or_ServerCapabilities_monikerProvider struct { // line 8313
+	Value interface{} `json:"value"`
+}
+
+// created for Or [NotebookDocumentSyncOptions NotebookDocumentSyncRegistrationOptions]
+type Or_ServerCapabilities_notebookDocumentSync struct { // line 7863
+	Value interface{} `json:"value"`
+}
+
+// created for Or [ReferenceOptions bool]
+type Or_ServerCapabilities_referencesProvider struct { // line 8002
+	Value interface{} `json:"value"`
+}
+
+// created for Or [RenameOptions bool]
+type Or_ServerCapabilities_renameProvider struct { // line 8177
+	Value interface{} `json:"value"`
+}
+
+// created for Or [SelectionRangeOptions SelectionRangeRegistrationOptions bool]
+type Or_ServerCapabilities_selectionRangeProvider struct { // line 8217
+	Value interface{} `json:"value"`
+}
+
+// created for Or [SemanticTokensOptions SemanticTokensRegistrationOptions]
+type Or_ServerCapabilities_semanticTokensProvider struct { // line 8294
+	Value interface{} `json:"value"`
+}
+
+// created for Or [TextDocumentSyncKind TextDocumentSyncOptions]
+type Or_ServerCapabilities_textDocumentSync struct { // line 7845
+	Value interface{} `json:"value"`
+}
+
+// created for Or [TypeDefinitionOptions TypeDefinitionRegistrationOptions bool]
+type Or_ServerCapabilities_typeDefinitionProvider struct { // line 7958
+	Value interface{} `json:"value"`
+}
+
+// created for Or [TypeHierarchyOptions TypeHierarchyRegistrationOptions bool]
+type Or_ServerCapabilities_typeHierarchyProvider struct { // line 8336
+	Value interface{} `json:"value"`
+}
+
+// created for Or [WorkspaceSymbolOptions bool]
+type Or_ServerCapabilities_workspaceSymbolProvider struct { // line 8114
+	Value interface{} `json:"value"`
+}
+
+// created for Or [MarkupContent string]
+type Or_SignatureInformation_documentation struct { // line 8862
+	Value interface{} `json:"value"`
+}
+
+// created for Or [AnnotatedTextEdit TextEdit]
+type Or_TextDocumentEdit_edits_Elem struct { // line 6698
+	Value interface{} `json:"value"`
+}
+
+// created for Or [SaveOptions bool]
+type Or_TextDocumentSyncOptions_save struct { // line 9804
+	Value interface{} `json:"value"`
+}
+
 // created for Or [WorkspaceFullDocumentDiagnosticReport WorkspaceUnchangedDocumentDiagnosticReport]
 type Or_WorkspaceDocumentDiagnosticReport struct { // line 14013
 	Value interface{} `json:"value"`
 }
 
-// created for Or [Declaration []DeclarationLink ]
+// created for Or [CreateFile DeleteFile RenameFile TextDocumentEdit]
+type Or_WorkspaceEdit_documentChanges_Elem struct { // line 3242
+	Value interface{} `json:"value"`
+}
+
+// created for Or [Declaration []DeclarationLink]
 type Or_textDocument_declaration struct { // line 257
 	Value interface{} `json:"value"`
 }
 
-// created for Literal
+// created for Literal (Lit_NotebookDocumentChangeEvent_cells)
 type PCellsPChange struct { // line 7486
 	/*
 	 * Changes to the cell structure to add or
@@ -3156,17 +3517,17 @@
 	TextContent []FTextContentPCells `json:"textContent"`
 }
 
-// created for Literal
+// created for Literal (Lit_WorkspaceEditClientCapabilities_changeAnnotationSupport)
 type PChangeAnnotationSupportPWorkspaceEdit struct { // line 10842
 	/*
 	 * Whether the client groups edits with equal labels into tree nodes,
-	 * for instance all edits labelled with \"Changes in Strings\" would
+	 * for instance all edits labelled with "Changes in Strings" would
 	 * be a tree node.
 	 */
 	GroupsOnLabel bool `json:"groupsOnLabel"`
 }
 
-// created for Literal
+// created for Literal (Lit_CodeActionClientCapabilities_codeActionLiteralSupport)
 type PCodeActionLiteralSupportPCodeAction struct { // line 11762
 	/*
 	 * The code action kind is support with the following value
@@ -3175,7 +3536,7 @@
 	CodeActionKind FCodeActionKindPCodeActionLiteralSupport `json:"codeActionKind"`
 }
 
-// created for Literal
+// created for Literal (Lit_CompletionClientCapabilities_completionItemKind)
 type PCompletionItemKindPCompletion struct { // line 11360
 	/*
 	 * The completion item kind values the client supports. When this
@@ -3190,7 +3551,7 @@
 	ValueSet []CompletionItemKind `json:"valueSet"`
 }
 
-// created for Literal
+// created for Literal (Lit_CompletionClientCapabilities_completionItem)
 type PCompletionItemPCompletion struct { // line 11209
 	/*
 	 * Client supports snippets as insert text.
@@ -3253,7 +3614,7 @@
 	LabelDetailsSupport bool `json:"labelDetailsSupport"`
 }
 
-// created for Literal
+// created for Literal (Lit_CompletionOptions_completionItem)
 type PCompletionItemPCompletionProvider struct { // line 8767
 	/*
 	 * The server has support for completion item label
@@ -3265,7 +3626,7 @@
 	LabelDetailsSupport bool `json:"labelDetailsSupport"`
 }
 
-// created for Literal
+// created for Literal (Lit_CompletionClientCapabilities_completionList)
 type PCompletionListPCompletion struct { // line 11402
 	/*
 	 * The client supports the following itemDefaults on
@@ -3280,7 +3641,7 @@
 	ItemDefaults []string `json:"itemDefaults"`
 }
 
-// created for Literal
+// created for Literal (Lit_CodeAction_disabled)
 type PDisabledMsg_textDocument_codeAction struct { // line 5446
 	/*
 	 * Human readable description of why the code action is currently disabled.
@@ -3290,7 +3651,7 @@
 	Reason string `json:"reason"`
 }
 
-// created for Literal
+// created for Literal (Lit_FoldingRangeClientCapabilities_foldingRangeKind)
 type PFoldingRangeKindPFoldingRange struct { // line 12037
 	/*
 	 * The folding range kind values the client supports. When this
@@ -3301,7 +3662,7 @@
 	ValueSet []FoldingRangeKind `json:"valueSet"`
 }
 
-// created for Literal
+// created for Literal (Lit_FoldingRangeClientCapabilities_foldingRange)
 type PFoldingRangePFoldingRange struct { // line 12062
 	/*
 	 * If set, the client signals that it supports setting collapsedText on
@@ -3312,13 +3673,13 @@
 	CollapsedText bool `json:"collapsedText"`
 }
 
-// created for Literal
-type PFullESemanticTokensOptions struct { // line 6591
+// created for Literal (Lit_SemanticTokensOptions_full_Item1)
+type PFullESemanticTokensOptions struct { // line 6592
 	// The server supports deltas for full documents.
 	Delta bool `json:"delta"`
 }
 
-// created for Literal
+// created for Literal (Lit_CompletionList_itemDefaults)
 type PItemDefaultsMsg_textDocument_completion struct { // line 4772
 	/*
 	 * A default commit character set.
@@ -3352,12 +3713,12 @@
 	Data interface{} `json:"data"`
 }
 
-// created for Literal
-type PLocationMsg_workspace_symbol struct { // line 5546
+// created for Literal (Lit_WorkspaceSymbol_location_Item1)
+type PLocationMsg_workspace_symbol struct { // line 5547
 	URI DocumentURI `json:"uri"`
 }
 
-// created for Literal
+// created for Literal (Lit_ShowMessageRequestClientCapabilities_messageActionItem)
 type PMessageActionItemPShowMessage struct { // line 12490
 	/*
 	 * Whether the client supports additional attributes which
@@ -3367,8 +3728,8 @@
 	AdditionalPropertiesSupport bool `json:"additionalPropertiesSupport"`
 }
 
-// created for Literal
-type PNotebookSelectorPNotebookDocumentSync struct { // line 9831
+// created for Literal (Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item0)
+type PNotebookSelectorPNotebookDocumentSync struct { // line 9832
 	/*
 	 * The notebook to be synced If a string
 	 * value is provided it matches against the
@@ -3379,11 +3740,11 @@
 	Cells []FCellsPNotebookSelector `json:"cells"`
 }
 
-// created for Literal
-type PRangeESemanticTokensOptions struct { // line 6571
+// created for Literal (Lit_SemanticTokensOptions_range_Item1)
+type PRangeESemanticTokensOptions struct { // line 6572
 }
 
-// created for Literal
+// created for Literal (Lit_SemanticTokensClientCapabilities_requests)
 type PRequestsPSemanticTokens struct { // line 12198
 	/*
 	 * The client will send the `textDocument/semanticTokens/range` request if
@@ -3397,19 +3758,19 @@
 	Full interface{} `json:"full"`
 }
 
-// created for Literal
+// created for Literal (Lit_CodeActionClientCapabilities_resolveSupport)
 type PResolveSupportPCodeAction struct { // line 11827
 	// The properties that a client can resolve lazily.
 	Properties []string `json:"properties"`
 }
 
-// created for Literal
+// created for Literal (Lit_InlayHintClientCapabilities_resolveSupport)
 type PResolveSupportPInlayHint struct { // line 12410
 	// The properties that a client can resolve lazily.
 	Properties []string `json:"properties"`
 }
 
-// created for Literal
+// created for Literal (Lit_WorkspaceSymbolClientCapabilities_resolveSupport)
 type PResolveSupportPSymbol struct { // line 10964
 	/*
 	 * The properties that a client can resolve lazily. Usually
@@ -3418,7 +3779,7 @@
 	Properties []string `json:"properties"`
 }
 
-// created for Literal
+// created for Literal (Lit_InitializeResult_serverInfo)
 type PServerInfoMsg_initialize struct { // line 4118
 	// The name of the server as defined by the server.
 	Name string `json:"name"`
@@ -3426,7 +3787,7 @@
 	Version string `json:"version"`
 }
 
-// created for Literal
+// created for Literal (Lit_SignatureHelpClientCapabilities_signatureInformation)
 type PSignatureInformationPSignatureHelp struct { // line 11469
 	/*
 	 * Client supports the following content formats for the documentation
@@ -3444,7 +3805,7 @@
 	ActiveParameterSupport bool `json:"activeParameterSupport"`
 }
 
-// created for Literal
+// created for Literal (Lit_GeneralClientCapabilities_staleRequestSupport)
 type PStaleRequestSupportPGeneral struct { // line 10696
 	// The client will actively cancel the request.
 	Cancel bool `json:"cancel"`
@@ -3456,7 +3817,7 @@
 	RetryOnContentModified []string `json:"retryOnContentModified"`
 }
 
-// created for Literal
+// created for Literal (Lit_DocumentSymbolClientCapabilities_symbolKind)
 type PSymbolKindPDocumentSymbol struct { // line 11680
 	/*
 	 * The symbol kind values the client supports. When this
@@ -3471,7 +3832,7 @@
 	ValueSet []SymbolKind `json:"valueSet"`
 }
 
-// created for Literal
+// created for Literal (Lit_WorkspaceSymbolClientCapabilities_symbolKind)
 type PSymbolKindPSymbol struct { // line 10916
 	/*
 	 * The symbol kind values the client supports. When this
@@ -3486,19 +3847,19 @@
 	ValueSet []SymbolKind `json:"valueSet"`
 }
 
-// created for Literal
+// created for Literal (Lit_DocumentSymbolClientCapabilities_tagSupport)
 type PTagSupportPDocumentSymbol struct { // line 11713
 	// The tags supported by the client.
 	ValueSet []SymbolTag `json:"valueSet"`
 }
 
-// created for Literal
+// created for Literal (Lit_PublishDiagnosticsClientCapabilities_tagSupport)
 type PTagSupportPPublishDiagnostics struct { // line 12113
 	// The tags supported by the client.
 	ValueSet []DiagnosticTag `json:"valueSet"`
 }
 
-// created for Literal
+// created for Literal (Lit_WorkspaceSymbolClientCapabilities_tagSupport)
 type PTagSupportPSymbol struct { // line 10940
 	// The tags supported by the client.
 	ValueSet []SymbolTag `json:"valueSet"`
@@ -3580,9 +3941,7 @@
  * usually on the server side.
  *
  * Positions are line end character agnostic. So you can not specify a position
- * that denotes `\\r|\
- * ` or `\
- * |` where `|` represents the character offset.
+ * that denotes `\r|\n` or `\n|` where `|` represents the character offset.
  *
  * @since 3.17.0 - support for negotiated position encoding.
  */
@@ -3605,6 +3964,12 @@
 	 */
 	Character uint32 `json:"character"`
 }
+
+/*
+ * A set of predefined position encoding kinds.
+ *
+ * @since 3.17.0
+ */
 type PositionEncodingKind string             // line 13453
 type PrepareRename2Gn = Msg_PrepareRename2Gn // (alias) line 13927
 type PrepareRenameParams struct {            // line 5944
@@ -3612,7 +3977,7 @@
 	WorkDoneProgressParams
 }
 type PrepareRenameResult = Msg_PrepareRename2Gn // (alias) line 13927
-type PrepareSupportDefaultBehavior interface{}  // line 13748
+type PrepareSupportDefaultBehavior uint32       // line 13748
 /*
  * A previous result id in a workspace pull request.
  *
@@ -3985,8 +4350,23 @@
 	TextDocumentRegistrationOptions
 	StaticRegistrationOptions
 }
+
+/*
+ * A set of predefined token modifiers. This set is not fixed
+ * an clients can specify additional token types via the
+ * corresponding client capabilities.
+ *
+ * @since 3.16.0
+ */
 type SemanticTokenModifiers string // line 12696
-type SemanticTokenTypes string     // line 12589
+/*
+ * A set of predefined token types. This set is not fixed
+ * an clients can specify additional token types via the
+ * corresponding client capabilities.
+ *
+ * @since 3.16.0
+ */
+type SemanticTokenTypes string // line 12589
 // @since 3.16.0
 type SemanticTokens struct { // line 2902
 	/*
@@ -4483,6 +4863,12 @@
 	TextDocumentRegistrationOptions
 	SignatureHelpOptions
 }
+
+/*
+ * How a signature help was triggered.
+ *
+ * @since 3.15.0
+ */
 type SignatureHelpTriggerKind uint32 // line 13606
 /*
  * Represents the signature of something callable. A signature
@@ -4529,6 +4915,7 @@
  * interfaces etc.
  */
 type SymbolInformation struct { // line 5202
+	// extends BaseSymbolInformation
 	/*
 	 * Indicates if this symbol is deprecated.
 	 *
@@ -4565,8 +4952,15 @@
 	 */
 	ContainerName string `json:"containerName,omitempty"`
 }
+
+// A symbol kind.
 type SymbolKind uint32 // line 12867
-type SymbolTag uint32  // line 12981
+/*
+ * Symbol tags are extra annotations that tweak the rendering of a symbol.
+ *
+ * @since 3.16
+ */
+type SymbolTag uint32 // line 12981
 // Describe options to be used when registered for text document change events.
 type TextDocumentChangeRegistrationOptions struct { // line 4334
 	// How documents are synced to the server.
@@ -4780,6 +5174,8 @@
 	 */
 	DocumentSelector DocumentSelector `json:"documentSelector"`
 }
+
+// Represents reasons why a text document is saved.
 type TextDocumentSaveReason uint32 // line 13135
 // Save registration options.
 type TextDocumentSaveRegistrationOptions struct { // line 4391
@@ -4800,6 +5196,11 @@
 	// The client supports did save notifications.
 	DidSave bool `json:"didSave,omitempty"`
 }
+
+/*
+ * Defines how the host (editor) should sync
+ * document changes to the language server.
+ */
 type TextDocumentSyncKind uint32      // line 13110
 type TextDocumentSyncOptions struct { // line 9762
 	/*
@@ -4968,11 +5369,12 @@
 }
 
 // created for Tuple
-type UIntCommaUInt struct { // line 10101
+type UIntCommaUInt struct { // line 10102
 	Fld0 uint32 `json:"fld0"`
 	Fld1 uint32 `json:"fld1"`
 }
-type URI = string // (alias) line 0
+type URI = string
+
 /*
  * A diagnostic report indicating that the last returned
  * report is still accurate.
@@ -4993,6 +5395,12 @@
 	 */
 	ResultID string `json:"resultId"`
 }
+
+/*
+ * Moniker uniqueness level to define scope of the moniker.
+ *
+ * @since 3.16.0
+ */
 type UniquenessLevel string // line 12997
 // General parameters to unregister a request or notification.
 type Unregistration struct { // line 7633
@@ -5026,8 +5434,7 @@
 	Version int32 `json:"version"`
 	TextDocumentIdentifier
 }
-type WatchKind = uint32 // line 13505
-// The parameters sent in a will save text document notification.
+type WatchKind = uint32                  // line 13505// The parameters sent in a will save text document notification.
 type WillSaveTextDocumentParams struct { // line 4406
 	// The document that will be saved.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
@@ -5066,7 +5473,7 @@
 	 * Mandatory title of the progress operation. Used to briefly inform about
 	 * the kind of operation being performed.
 	 *
-	 * Examples: \"Indexing\" or \"Linking dependencies\".
+	 * Examples: "Indexing" or "Linking dependencies".
 	 */
 	Title string `json:"title"`
 	/*
@@ -5079,7 +5486,7 @@
 	 * Optional, more detailed associated progress message. Contains
 	 * complementary information to the `title`.
 	 *
-	 * Examples: \"3/25 files\", \"project/src/module2\", \"node_modules/some_dep\".
+	 * Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
 	 * If unset, the previous progress message (if any) is still valid.
 	 */
 	Message string `json:"message,omitempty"`
@@ -5135,7 +5542,7 @@
 	 * Optional, more detailed associated progress message. Contains
 	 * complementary information to the `title`.
 	 *
-	 * Examples: \"3/25 files\", \"project/src/module2\", \"node_modules/some_dep\".
+	 * Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
 	 * If unset, the previous progress message (if any) is still valid.
 	 */
 	Message string `json:"message,omitempty"`
@@ -5150,7 +5557,7 @@
 	Percentage uint32 `json:"percentage,omitempty"`
 }
 
-// created for Literal
+// created for Literal (Lit_ServerCapabilities_workspace)
 type Workspace6Gn struct { // line 8424
 	/*
 	 * The server supports workspace folder.
@@ -5570,6 +5977,7 @@
 	InitializationOptions interface{} `json:"initializationOptions,omitempty"`
 	// The initial trace setting. If omitted trace is disabled ('off').
 	Trace string `json:"trace,omitempty"`
+	WorkDoneProgressParams
 }
 
 // The initialize parameters
@@ -5587,7 +5995,7 @@
 	 *
 	 * @since 3.15.0
 	 */
-	ClientInfo *Msg_XInitializeParams_clientInfo `json:"clientInfo,omitempty"`
+	ClientInfo Msg_XInitializeParams_clientInfo `json:"clientInfo,omitempty"`
 	/*
 	 * The locale the client is currently showing the user interface
 	 * in. This must not necessarily be the locale of the operating
@@ -5620,6 +6028,7 @@
 	InitializationOptions interface{} `json:"initializationOptions,omitempty"`
 	// The initial trace setting. If omitted trace is disabled ('off').
 	Trace string `json:"trace,omitempty"`
+	WorkDoneProgressParams
 }
 
 const (
@@ -5998,6 +6407,11 @@
 	 * encoding-agnostic representation of character offsets.
 	 */
 	UTF32 PositionEncodingKind = "utf-32" // line 13470
+	/*
+	 * The client's default behavior is to select the identifier
+	 * according the to language's syntax rule.
+	 */
+	Identifier PrepareSupportDefaultBehavior = 1 // line 13755
 	// Supports creating new files and folders.
 	Create ResourceOperationKind = "create" // line 13702
 	// Supports renaming existing files and folders.
diff --git a/gopls/internal/lsp/protocol/tsserver.go b/gopls/internal/lsp/protocol/tsserver.go
index a93ee80..6446a01 100644
--- a/gopls/internal/lsp/protocol/tsserver.go
+++ b/gopls/internal/lsp/protocol/tsserver.go
@@ -1,12 +1,13 @@
-// Copyright 2019-2022 The Go Authors. All rights reserved.
+// Copyright 2022 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// Code generated for LSP. DO NOT EDIT.
+
 package protocol
 
 // Code generated from version 3.17.0 of protocol/metaModel.json.
-// git hash 8de18faed635819dd2bc631d2c26ce4a18f7cf4a (as of Fri Sep 16 13:04:31 2022)
-// Code generated; DO NOT EDIT.
+// git hash 8de18faed635819dd2bc631d2c26ce4a18f7cf4a (as of 2023-01-14)
 
 import (
 	"context"
@@ -102,14 +103,14 @@
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.Progress(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "$/setTrace":
 		var params SetTraceParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.SetTrace(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "callHierarchy/incomingCalls":
 		var params CallHierarchyIncomingCallsParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -119,7 +120,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "callHierarchy/outgoingCalls":
 		var params CallHierarchyOutgoingCallsParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -129,7 +130,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "codeAction/resolve":
 		var params CodeAction
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -139,7 +140,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "codeLens/resolve":
 		var params CodeLens
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -149,7 +150,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "completionItem/resolve":
 		var params CompletionItem
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -159,7 +160,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "documentLink/resolve":
 		var params DocumentLink
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -169,10 +170,10 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "exit":
 		err := server.Exit(ctx)
-		return true, reply(ctx, nil, err) // 236
+		return true, reply(ctx, nil, err)
 	case "initialize":
 		var params ParamInitialize
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -182,14 +183,14 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "initialized":
 		var params InitializedParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.Initialized(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "inlayHint/resolve":
 		var params InlayHint
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -199,38 +200,38 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "notebookDocument/didChange":
 		var params DidChangeNotebookDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidChangeNotebookDocument(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "notebookDocument/didClose":
 		var params DidCloseNotebookDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidCloseNotebookDocument(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "notebookDocument/didOpen":
 		var params DidOpenNotebookDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidOpenNotebookDocument(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "notebookDocument/didSave":
 		var params DidSaveNotebookDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidSaveNotebookDocument(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "shutdown":
 		err := server.Shutdown(ctx)
-		return true, reply(ctx, nil, err) // 176
+		return true, reply(ctx, nil, err)
 	case "textDocument/codeAction":
 		var params CodeActionParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -240,7 +241,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/codeLens":
 		var params CodeLensParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -250,7 +251,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/colorPresentation":
 		var params ColorPresentationParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -260,7 +261,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/completion":
 		var params CompletionParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -270,7 +271,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/declaration":
 		var params DeclarationParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -280,7 +281,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/definition":
 		var params DefinitionParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -290,7 +291,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/diagnostic":
 		var params string
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -300,35 +301,35 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/didChange":
 		var params DidChangeTextDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidChange(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "textDocument/didClose":
 		var params DidCloseTextDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidClose(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "textDocument/didOpen":
 		var params DidOpenTextDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidOpen(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "textDocument/didSave":
 		var params DidSaveTextDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidSave(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "textDocument/documentColor":
 		var params DocumentColorParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -338,7 +339,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/documentHighlight":
 		var params DocumentHighlightParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -348,7 +349,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/documentLink":
 		var params DocumentLinkParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -358,7 +359,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/documentSymbol":
 		var params DocumentSymbolParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -368,7 +369,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/foldingRange":
 		var params FoldingRangeParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -378,7 +379,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/formatting":
 		var params DocumentFormattingParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -388,7 +389,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/hover":
 		var params HoverParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -398,7 +399,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/implementation":
 		var params ImplementationParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -408,7 +409,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/inlayHint":
 		var params InlayHintParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -418,7 +419,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/inlineValue":
 		var params InlineValueParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -428,7 +429,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/linkedEditingRange":
 		var params LinkedEditingRangeParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -438,7 +439,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/moniker":
 		var params MonikerParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -448,7 +449,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/onTypeFormatting":
 		var params DocumentOnTypeFormattingParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -458,7 +459,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/prepareCallHierarchy":
 		var params CallHierarchyPrepareParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -468,7 +469,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/prepareRename":
 		var params PrepareRenameParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -478,7 +479,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/prepareTypeHierarchy":
 		var params TypeHierarchyPrepareParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -488,7 +489,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/rangeFormatting":
 		var params DocumentRangeFormattingParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -498,7 +499,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/references":
 		var params ReferenceParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -508,7 +509,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/rename":
 		var params RenameParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -518,7 +519,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/selectionRange":
 		var params SelectionRangeParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -528,7 +529,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/semanticTokens/full":
 		var params SemanticTokensParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -538,7 +539,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/semanticTokens/full/delta":
 		var params SemanticTokensDeltaParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -548,7 +549,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/semanticTokens/range":
 		var params SemanticTokensRangeParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -558,7 +559,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/signatureHelp":
 		var params SignatureHelpParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -568,7 +569,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/typeDefinition":
 		var params TypeDefinitionParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -578,14 +579,14 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "textDocument/willSave":
 		var params WillSaveTextDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.WillSave(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "textDocument/willSaveWaitUntil":
 		var params WillSaveTextDocumentParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -595,7 +596,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "typeHierarchy/subtypes":
 		var params TypeHierarchySubtypesParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -605,7 +606,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "typeHierarchy/supertypes":
 		var params TypeHierarchySupertypesParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -615,14 +616,14 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "window/workDoneProgress/cancel":
 		var params WorkDoneProgressCancelParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.WorkDoneProgressCancel(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "workspace/diagnostic":
 		var params WorkspaceDiagnosticParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -632,52 +633,52 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "workspace/diagnostic/refresh":
 		err := server.DiagnosticRefresh(ctx)
-		return true, reply(ctx, nil, err) // 170
+		return true, reply(ctx, nil, err)
 	case "workspace/didChangeConfiguration":
 		var params DidChangeConfigurationParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidChangeConfiguration(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "workspace/didChangeWatchedFiles":
 		var params DidChangeWatchedFilesParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidChangeWatchedFiles(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "workspace/didChangeWorkspaceFolders":
 		var params DidChangeWorkspaceFoldersParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidChangeWorkspaceFolders(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "workspace/didCreateFiles":
 		var params CreateFilesParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidCreateFiles(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "workspace/didDeleteFiles":
 		var params DeleteFilesParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidDeleteFiles(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "workspace/didRenameFiles":
 		var params RenameFilesParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
 			return true, sendParseError(ctx, reply, err)
 		}
 		err := server.DidRenameFiles(ctx, &params)
-		return true, reply(ctx, nil, err) // 231
+		return true, reply(ctx, nil, err)
 	case "workspace/executeCommand":
 		var params ExecuteCommandParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -687,16 +688,16 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "workspace/inlayHint/refresh":
 		err := server.InlayHintRefresh(ctx)
-		return true, reply(ctx, nil, err) // 170
+		return true, reply(ctx, nil, err)
 	case "workspace/inlineValue/refresh":
 		err := server.InlineValueRefresh(ctx)
-		return true, reply(ctx, nil, err) // 170
+		return true, reply(ctx, nil, err)
 	case "workspace/semanticTokens/refresh":
 		err := server.SemanticTokensRefresh(ctx)
-		return true, reply(ctx, nil, err) // 170
+		return true, reply(ctx, nil, err)
 	case "workspace/symbol":
 		var params WorkspaceSymbolParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -706,7 +707,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "workspace/willCreateFiles":
 		var params CreateFilesParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -716,7 +717,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "workspace/willDeleteFiles":
 		var params DeleteFilesParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -726,7 +727,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "workspace/willRenameFiles":
 		var params RenameFilesParams
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -736,7 +737,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	case "workspaceSymbol/resolve":
 		var params WorkspaceSymbol
 		if err := json.Unmarshal(r.Params(), &params); err != nil {
@@ -746,7 +747,7 @@
 		if err != nil {
 			return true, reply(ctx, nil, err)
 		}
-		return true, reply(ctx, resp, nil) // 146
+		return true, reply(ctx, resp, nil)
 	default:
 		return false, nil
 	}
@@ -754,429 +755,429 @@
 
 func (s *serverDispatcher) Progress(ctx context.Context, params *ProgressParams) error {
 	return s.sender.Notify(ctx, "$/progress", params)
-} // 244
+}
 func (s *serverDispatcher) SetTrace(ctx context.Context, params *SetTraceParams) error {
 	return s.sender.Notify(ctx, "$/setTrace", params)
-} // 244
+}
 func (s *serverDispatcher) IncomingCalls(ctx context.Context, params *CallHierarchyIncomingCallsParams) ([]CallHierarchyIncomingCall, error) {
 	var result []CallHierarchyIncomingCall
 	if err := s.sender.Call(ctx, "callHierarchy/incomingCalls", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) OutgoingCalls(ctx context.Context, params *CallHierarchyOutgoingCallsParams) ([]CallHierarchyOutgoingCall, error) {
 	var result []CallHierarchyOutgoingCall
 	if err := s.sender.Call(ctx, "callHierarchy/outgoingCalls", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) ResolveCodeAction(ctx context.Context, params *CodeAction) (*CodeAction, error) {
 	var result *CodeAction
 	if err := s.sender.Call(ctx, "codeAction/resolve", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) ResolveCodeLens(ctx context.Context, params *CodeLens) (*CodeLens, error) {
 	var result *CodeLens
 	if err := s.sender.Call(ctx, "codeLens/resolve", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) ResolveCompletionItem(ctx context.Context, params *CompletionItem) (*CompletionItem, error) {
 	var result *CompletionItem
 	if err := s.sender.Call(ctx, "completionItem/resolve", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) ResolveDocumentLink(ctx context.Context, params *DocumentLink) (*DocumentLink, error) {
 	var result *DocumentLink
 	if err := s.sender.Call(ctx, "documentLink/resolve", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Exit(ctx context.Context) error {
 	return s.sender.Notify(ctx, "exit", nil)
-} // 249
+}
 func (s *serverDispatcher) Initialize(ctx context.Context, params *ParamInitialize) (*InitializeResult, error) {
 	var result *InitializeResult
 	if err := s.sender.Call(ctx, "initialize", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Initialized(ctx context.Context, params *InitializedParams) error {
 	return s.sender.Notify(ctx, "initialized", params)
-} // 244
+}
 func (s *serverDispatcher) Resolve(ctx context.Context, params *InlayHint) (*InlayHint, error) {
 	var result *InlayHint
 	if err := s.sender.Call(ctx, "inlayHint/resolve", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) DidChangeNotebookDocument(ctx context.Context, params *DidChangeNotebookDocumentParams) error {
 	return s.sender.Notify(ctx, "notebookDocument/didChange", params)
-} // 244
+}
 func (s *serverDispatcher) DidCloseNotebookDocument(ctx context.Context, params *DidCloseNotebookDocumentParams) error {
 	return s.sender.Notify(ctx, "notebookDocument/didClose", params)
-} // 244
+}
 func (s *serverDispatcher) DidOpenNotebookDocument(ctx context.Context, params *DidOpenNotebookDocumentParams) error {
 	return s.sender.Notify(ctx, "notebookDocument/didOpen", params)
-} // 244
+}
 func (s *serverDispatcher) DidSaveNotebookDocument(ctx context.Context, params *DidSaveNotebookDocumentParams) error {
 	return s.sender.Notify(ctx, "notebookDocument/didSave", params)
-} // 244
+}
 func (s *serverDispatcher) Shutdown(ctx context.Context) error {
 	return s.sender.Call(ctx, "shutdown", nil, nil)
-} // 209
+}
 func (s *serverDispatcher) CodeAction(ctx context.Context, params *CodeActionParams) ([]CodeAction, error) {
 	var result []CodeAction
 	if err := s.sender.Call(ctx, "textDocument/codeAction", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) CodeLens(ctx context.Context, params *CodeLensParams) ([]CodeLens, error) {
 	var result []CodeLens
 	if err := s.sender.Call(ctx, "textDocument/codeLens", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) ColorPresentation(ctx context.Context, params *ColorPresentationParams) ([]ColorPresentation, error) {
 	var result []ColorPresentation
 	if err := s.sender.Call(ctx, "textDocument/colorPresentation", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Completion(ctx context.Context, params *CompletionParams) (*CompletionList, error) {
 	var result *CompletionList
 	if err := s.sender.Call(ctx, "textDocument/completion", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Declaration(ctx context.Context, params *DeclarationParams) (*Or_textDocument_declaration, error) {
 	var result *Or_textDocument_declaration
 	if err := s.sender.Call(ctx, "textDocument/declaration", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Definition(ctx context.Context, params *DefinitionParams) ([]Location, error) {
 	var result []Location
 	if err := s.sender.Call(ctx, "textDocument/definition", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Diagnostic(ctx context.Context, params *string) (*string, error) {
 	var result *string
 	if err := s.sender.Call(ctx, "textDocument/diagnostic", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) DidChange(ctx context.Context, params *DidChangeTextDocumentParams) error {
 	return s.sender.Notify(ctx, "textDocument/didChange", params)
-} // 244
+}
 func (s *serverDispatcher) DidClose(ctx context.Context, params *DidCloseTextDocumentParams) error {
 	return s.sender.Notify(ctx, "textDocument/didClose", params)
-} // 244
+}
 func (s *serverDispatcher) DidOpen(ctx context.Context, params *DidOpenTextDocumentParams) error {
 	return s.sender.Notify(ctx, "textDocument/didOpen", params)
-} // 244
+}
 func (s *serverDispatcher) DidSave(ctx context.Context, params *DidSaveTextDocumentParams) error {
 	return s.sender.Notify(ctx, "textDocument/didSave", params)
-} // 244
+}
 func (s *serverDispatcher) DocumentColor(ctx context.Context, params *DocumentColorParams) ([]ColorInformation, error) {
 	var result []ColorInformation
 	if err := s.sender.Call(ctx, "textDocument/documentColor", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) DocumentHighlight(ctx context.Context, params *DocumentHighlightParams) ([]DocumentHighlight, error) {
 	var result []DocumentHighlight
 	if err := s.sender.Call(ctx, "textDocument/documentHighlight", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) DocumentLink(ctx context.Context, params *DocumentLinkParams) ([]DocumentLink, error) {
 	var result []DocumentLink
 	if err := s.sender.Call(ctx, "textDocument/documentLink", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) DocumentSymbol(ctx context.Context, params *DocumentSymbolParams) ([]interface{}, error) {
 	var result []interface{}
 	if err := s.sender.Call(ctx, "textDocument/documentSymbol", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) FoldingRange(ctx context.Context, params *FoldingRangeParams) ([]FoldingRange, error) {
 	var result []FoldingRange
 	if err := s.sender.Call(ctx, "textDocument/foldingRange", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Formatting(ctx context.Context, params *DocumentFormattingParams) ([]TextEdit, error) {
 	var result []TextEdit
 	if err := s.sender.Call(ctx, "textDocument/formatting", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Hover(ctx context.Context, params *HoverParams) (*Hover, error) {
 	var result *Hover
 	if err := s.sender.Call(ctx, "textDocument/hover", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Implementation(ctx context.Context, params *ImplementationParams) ([]Location, error) {
 	var result []Location
 	if err := s.sender.Call(ctx, "textDocument/implementation", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) InlayHint(ctx context.Context, params *InlayHintParams) ([]InlayHint, error) {
 	var result []InlayHint
 	if err := s.sender.Call(ctx, "textDocument/inlayHint", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) InlineValue(ctx context.Context, params *InlineValueParams) ([]InlineValue, error) {
 	var result []InlineValue
 	if err := s.sender.Call(ctx, "textDocument/inlineValue", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) LinkedEditingRange(ctx context.Context, params *LinkedEditingRangeParams) (*LinkedEditingRanges, error) {
 	var result *LinkedEditingRanges
 	if err := s.sender.Call(ctx, "textDocument/linkedEditingRange", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Moniker(ctx context.Context, params *MonikerParams) ([]Moniker, error) {
 	var result []Moniker
 	if err := s.sender.Call(ctx, "textDocument/moniker", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) OnTypeFormatting(ctx context.Context, params *DocumentOnTypeFormattingParams) ([]TextEdit, error) {
 	var result []TextEdit
 	if err := s.sender.Call(ctx, "textDocument/onTypeFormatting", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) PrepareCallHierarchy(ctx context.Context, params *CallHierarchyPrepareParams) ([]CallHierarchyItem, error) {
 	var result []CallHierarchyItem
 	if err := s.sender.Call(ctx, "textDocument/prepareCallHierarchy", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) PrepareRename(ctx context.Context, params *PrepareRenameParams) (*PrepareRename2Gn, error) {
 	var result *PrepareRename2Gn
 	if err := s.sender.Call(ctx, "textDocument/prepareRename", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) PrepareTypeHierarchy(ctx context.Context, params *TypeHierarchyPrepareParams) ([]TypeHierarchyItem, error) {
 	var result []TypeHierarchyItem
 	if err := s.sender.Call(ctx, "textDocument/prepareTypeHierarchy", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) RangeFormatting(ctx context.Context, params *DocumentRangeFormattingParams) ([]TextEdit, error) {
 	var result []TextEdit
 	if err := s.sender.Call(ctx, "textDocument/rangeFormatting", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) References(ctx context.Context, params *ReferenceParams) ([]Location, error) {
 	var result []Location
 	if err := s.sender.Call(ctx, "textDocument/references", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Rename(ctx context.Context, params *RenameParams) (*WorkspaceEdit, error) {
 	var result *WorkspaceEdit
 	if err := s.sender.Call(ctx, "textDocument/rename", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) SelectionRange(ctx context.Context, params *SelectionRangeParams) ([]SelectionRange, error) {
 	var result []SelectionRange
 	if err := s.sender.Call(ctx, "textDocument/selectionRange", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) SemanticTokensFull(ctx context.Context, params *SemanticTokensParams) (*SemanticTokens, error) {
 	var result *SemanticTokens
 	if err := s.sender.Call(ctx, "textDocument/semanticTokens/full", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) SemanticTokensFullDelta(ctx context.Context, params *SemanticTokensDeltaParams) (interface{}, error) {
 	var result interface{}
 	if err := s.sender.Call(ctx, "textDocument/semanticTokens/full/delta", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) SemanticTokensRange(ctx context.Context, params *SemanticTokensRangeParams) (*SemanticTokens, error) {
 	var result *SemanticTokens
 	if err := s.sender.Call(ctx, "textDocument/semanticTokens/range", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) SignatureHelp(ctx context.Context, params *SignatureHelpParams) (*SignatureHelp, error) {
 	var result *SignatureHelp
 	if err := s.sender.Call(ctx, "textDocument/signatureHelp", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) TypeDefinition(ctx context.Context, params *TypeDefinitionParams) ([]Location, error) {
 	var result []Location
 	if err := s.sender.Call(ctx, "textDocument/typeDefinition", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) WillSave(ctx context.Context, params *WillSaveTextDocumentParams) error {
 	return s.sender.Notify(ctx, "textDocument/willSave", params)
-} // 244
+}
 func (s *serverDispatcher) WillSaveWaitUntil(ctx context.Context, params *WillSaveTextDocumentParams) ([]TextEdit, error) {
 	var result []TextEdit
 	if err := s.sender.Call(ctx, "textDocument/willSaveWaitUntil", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Subtypes(ctx context.Context, params *TypeHierarchySubtypesParams) ([]TypeHierarchyItem, error) {
 	var result []TypeHierarchyItem
 	if err := s.sender.Call(ctx, "typeHierarchy/subtypes", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) Supertypes(ctx context.Context, params *TypeHierarchySupertypesParams) ([]TypeHierarchyItem, error) {
 	var result []TypeHierarchyItem
 	if err := s.sender.Call(ctx, "typeHierarchy/supertypes", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) WorkDoneProgressCancel(ctx context.Context, params *WorkDoneProgressCancelParams) error {
 	return s.sender.Notify(ctx, "window/workDoneProgress/cancel", params)
-} // 244
+}
 func (s *serverDispatcher) DiagnosticWorkspace(ctx context.Context, params *WorkspaceDiagnosticParams) (*WorkspaceDiagnosticReport, error) {
 	var result *WorkspaceDiagnosticReport
 	if err := s.sender.Call(ctx, "workspace/diagnostic", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) DiagnosticRefresh(ctx context.Context) error {
 	return s.sender.Call(ctx, "workspace/diagnostic/refresh", nil, nil)
-} // 209
+}
 func (s *serverDispatcher) DidChangeConfiguration(ctx context.Context, params *DidChangeConfigurationParams) error {
 	return s.sender.Notify(ctx, "workspace/didChangeConfiguration", params)
-} // 244
+}
 func (s *serverDispatcher) DidChangeWatchedFiles(ctx context.Context, params *DidChangeWatchedFilesParams) error {
 	return s.sender.Notify(ctx, "workspace/didChangeWatchedFiles", params)
-} // 244
+}
 func (s *serverDispatcher) DidChangeWorkspaceFolders(ctx context.Context, params *DidChangeWorkspaceFoldersParams) error {
 	return s.sender.Notify(ctx, "workspace/didChangeWorkspaceFolders", params)
-} // 244
+}
 func (s *serverDispatcher) DidCreateFiles(ctx context.Context, params *CreateFilesParams) error {
 	return s.sender.Notify(ctx, "workspace/didCreateFiles", params)
-} // 244
+}
 func (s *serverDispatcher) DidDeleteFiles(ctx context.Context, params *DeleteFilesParams) error {
 	return s.sender.Notify(ctx, "workspace/didDeleteFiles", params)
-} // 244
+}
 func (s *serverDispatcher) DidRenameFiles(ctx context.Context, params *RenameFilesParams) error {
 	return s.sender.Notify(ctx, "workspace/didRenameFiles", params)
-} // 244
+}
 func (s *serverDispatcher) ExecuteCommand(ctx context.Context, params *ExecuteCommandParams) (interface{}, error) {
 	var result interface{}
 	if err := s.sender.Call(ctx, "workspace/executeCommand", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) InlayHintRefresh(ctx context.Context) error {
 	return s.sender.Call(ctx, "workspace/inlayHint/refresh", nil, nil)
-} // 209
+}
 func (s *serverDispatcher) InlineValueRefresh(ctx context.Context) error {
 	return s.sender.Call(ctx, "workspace/inlineValue/refresh", nil, nil)
-} // 209
+}
 func (s *serverDispatcher) SemanticTokensRefresh(ctx context.Context) error {
 	return s.sender.Call(ctx, "workspace/semanticTokens/refresh", nil, nil)
-} // 209
+}
 func (s *serverDispatcher) Symbol(ctx context.Context, params *WorkspaceSymbolParams) ([]SymbolInformation, error) {
 	var result []SymbolInformation
 	if err := s.sender.Call(ctx, "workspace/symbol", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) WillCreateFiles(ctx context.Context, params *CreateFilesParams) (*WorkspaceEdit, error) {
 	var result *WorkspaceEdit
 	if err := s.sender.Call(ctx, "workspace/willCreateFiles", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) WillDeleteFiles(ctx context.Context, params *DeleteFilesParams) (*WorkspaceEdit, error) {
 	var result *WorkspaceEdit
 	if err := s.sender.Call(ctx, "workspace/willDeleteFiles", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) WillRenameFiles(ctx context.Context, params *RenameFilesParams) (*WorkspaceEdit, error) {
 	var result *WorkspaceEdit
 	if err := s.sender.Call(ctx, "workspace/willRenameFiles", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) ResolveWorkspaceSymbol(ctx context.Context, params *WorkspaceSymbol) (*WorkspaceSymbol, error) {
 	var result *WorkspaceSymbol
 	if err := s.sender.Call(ctx, "workspaceSymbol/resolve", params, &result); err != nil {
 		return nil, err
 	}
 	return result, nil
-} // 169
+}
 func (s *serverDispatcher) NonstandardRequest(ctx context.Context, method string, params interface{}) (interface{}, error) {
 	var result interface{}
 	if err := s.sender.Call(ctx, method, params, &result); err != nil {