gopls: use go generate consistently

This change establishes that "go generate ./..." from within the gopls
directory will update all generated code in the module to its
canonical version. (Beware that this command doesn't work in the
parent directory due to golang/go#58723.)

Details:

- The main 'generate' command now includes the canonical git ref
  name of the LSP protocol used by gopls, and by default it
  clones the repo at this version instead of using the version in
  pjw's home directory. ;-)
  It should deliver identical results for all users without setup.
  The "generated" comment includes an accurate URL.
  The timestamp is removed since it is nondeterministic.
- In addition to the commit hash, the output now reports the git
  ref (branch/tag) name, which is not the same as the
  metadata.version (LSP protocol version) string.
- The go:generate comments are now more prominent in their
  respective files. We hide several that appear in testdata from
  the go command by splitting string literals.
- Improved command documentation for generators.
- Use a slice not map for genTypes so that protocol generation
  is deterministic. (Previously the "created for" comments
  would alternate between TextDocumentFilter_Item{0,1}.)

The generated output has changed trivially ("//x" -> "// x")
because the most recent committed generated files was stale
wrt recent generator changes. Also, line number comments now
start at 1, not zero (eliminating a TODO).

Change-Id: I40e9454d0042507bd64e0d8fab3ce6b1fbe87ddc
Reviewed-on: https://go-review.googlesource.com/c/tools/+/471115
Run-TryBot: Alan Donovan <adonovan@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Reviewed-by: Peter Weinberger <pjw@google.com>
diff --git a/gopls/internal/lsp/command/generate.go b/gopls/internal/lsp/command/generate.go
index 79ff49b..b7907e6 100644
--- a/gopls/internal/lsp/command/generate.go
+++ b/gopls/internal/lsp/command/generate.go
@@ -8,8 +8,7 @@
 package main
 
 import (
-	"fmt"
-	"io/ioutil"
+	"log"
 	"os"
 
 	"golang.org/x/tools/gopls/internal/lsp/command/gen"
@@ -18,8 +17,9 @@
 func main() {
 	content, err := gen.Generate()
 	if err != nil {
-		fmt.Fprintf(os.Stderr, "%v\n", err)
-		os.Exit(1)
+		log.Fatal(err)
 	}
-	ioutil.WriteFile("command_gen.go", content, 0644)
+	if err := os.WriteFile("command_gen.go", content, 0644); err != nil {
+		log.Fatal(err)
+	}
 }
diff --git a/gopls/internal/lsp/command/interface.go b/gopls/internal/lsp/command/interface.go
index b520c89..ea279e8 100644
--- a/gopls/internal/lsp/command/interface.go
+++ b/gopls/internal/lsp/command/interface.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:generate go run -tags=generate generate.go
+
 // Package command defines the interface provided by gopls for the
 // workspace/executeCommand LSP request.
 //
@@ -12,8 +14,6 @@
 // also provided by this package, via code generation.
 package command
 
-//go:generate go run -tags=generate generate.go
-
 import (
 	"context"
 
diff --git a/gopls/internal/lsp/helper/README.md b/gopls/internal/lsp/helper/README.md
index 3c51efe..5124279 100644
--- a/gopls/internal/lsp/helper/README.md
+++ b/gopls/internal/lsp/helper/README.md
@@ -1,12 +1,14 @@
 # Generate server_gen.go
 
-`helper` generates boilerplate code for server.go by processing the
-generated code in `protocol/tsserver.go`.
+`helper` generates the file `../server_gen.go` (in package
+`internal/lsp`) which contains stub declarations of server methods.
 
-First, build `helper` in this directory (`go build .`).
+To invoke it, run `go generate` in the `gopls/internal/lsp` directory.
 
-In directory `lsp`, executing `go generate server.go` generates the stylized file
-`server_gen.go` that contains stubs for type `Server`.
+It is derived from `gopls/internal/lsp/protocol/tsserver.go`, which
+itself is generated from the protocol downloaded from VSCode, so be
+sure to run `go generate` in the protocol first. Or run `go generate
+./...` twice in the gopls directory.
 
 It decides what stubs are needed and their signatures
 by looking at the `Server` interface (`-t` flag). These all look somewhat like
diff --git a/gopls/internal/lsp/helper/helper.go b/gopls/internal/lsp/helper/helper.go
index 391d75a..84ac7aa 100644
--- a/gopls/internal/lsp/helper/helper.go
+++ b/gopls/internal/lsp/helper/helper.go
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// Invoke with //go:generate helper/helper -t Server -d protocol/tsserver.go -u lsp -o server_gen.go
-// invoke in internal/lsp
+// The helper command generates the declaration of the concrete
+// 'server' type that implements the abstract Server interface defined
+// in protocol/tsserver.go (which is itself generated from the LSP
+// protocol).
+//
+// To run, invoke "go generate" in the parent (lsp) directory.
+//
+// TODO(adonovan): merge this into the main LSP generator.
 package main
 
 import (
@@ -33,7 +39,7 @@
 	flag.Parse()
 	if *typ == "" || *def == "" || *use == "" || *out == "" {
 		flag.PrintDefaults()
-		return
+		os.Exit(1)
 	}
 	// read the type definition and see what methods we're looking for
 	doTypes()
diff --git a/gopls/internal/lsp/protocol/doc.go b/gopls/internal/lsp/protocol/doc.go
index 4eb03a0..4a7f904 100644
--- a/gopls/internal/lsp/protocol/doc.go
+++ b/gopls/internal/lsp/protocol/doc.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:generate go run ./generate
+
 // Package protocol contains the structs that map directly to the
 // request and response messages of the Language Server Protocol.
 //
diff --git a/gopls/internal/lsp/protocol/generate/README.md b/gopls/internal/lsp/protocol/generate/README.md
index 7c34c62..c8047f3 100644
--- a/gopls/internal/lsp/protocol/generate/README.md
+++ b/gopls/internal/lsp/protocol/generate/README.md
@@ -10,9 +10,7 @@
 [web page](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/),
 in words, and in a json file (metaModel.json) available either linked towards the bottom of the
 web page, or in the vscode-languageserver-node repository. This code uses the latter so the
-exact version can be tied to a githash. Download the repository with
-
-`git clone https://github.com/microsoft/vscode-languageserver-node.git`
+exact version can be tied to a githash. By default, the command will download the `github.com/microsoft/vscode-languageserver-node` repository to a temporary directory.
 
 The specification has five sections
 1. Requests, which describe the Request and Response types for request methods (e.g., *textDocument/didChange*),
diff --git a/gopls/internal/lsp/protocol/generate/main.go b/gopls/internal/lsp/protocol/generate/main.go
index e78c749..d111491 100644
--- a/gopls/internal/lsp/protocol/generate/main.go
+++ b/gopls/internal/lsp/protocol/generate/main.go
@@ -5,6 +5,10 @@
 //go:build go1.19
 // +build go1.19
 
+// The generate command generates Go declarations from VSCode's
+// description of the Language Server Protocol.
+//
+// To run it, type 'go generate' in the parent (protocol) directory.
 package main
 
 import (
@@ -15,15 +19,23 @@
 	"go/format"
 	"log"
 	"os"
+	"os/exec"
 	"path/filepath"
 	"strings"
-	"time"
 )
 
+const vscodeRepo = "https://github.com/microsoft/vscode-languageserver-node"
+
+// lspGitRef names a branch or tag in vscodeRepo.
+// It implicitly determines the protocol version of the LSP used by gopls.
+// For example, tag release/protocol/3.17.3 of the repo defines protocol version 3.17.0.
+// (Point releases are reflected in the git tag version even when they are cosmetic
+// and don't change the protocol.)
+var lspGitRef = "release/protocol/3.17.3-next.6"
+
 var (
-	// git clone https://github.com/microsoft/vscode-languageserver-node.git
-	repodir   = flag.String("d", "", "directory of vscode-languageserver-node")
-	outputdir = flag.String("o", "gen", "output directory")
+	repodir   = flag.String("d", "", "directory containing clone of "+vscodeRepo)
+	outputdir = flag.String("o", ".", "output directory")
 	// PJW: not for real code
 	cmpdir = flag.String("c", "", "directory of earlier code")
 	doboth = flag.String("b", "", "generate and compare")
@@ -37,8 +49,26 @@
 }
 
 func processinline() {
+	// A local repository may be specified during debugging.
+	// The default behavior is to download the canonical version.
 	if *repodir == "" {
-		*repodir = filepath.Join(os.Getenv("HOME"), "vscode-languageserver-node")
+		tmpdir, err := os.MkdirTemp("", "")
+		if err != nil {
+			log.Fatal(err)
+		}
+		defer os.RemoveAll(tmpdir) // ignore error
+
+		// Clone the repository.
+		cmd := exec.Command("git", "clone", "--quiet", "--depth=1", "-c", "advice.detachedHead=false", vscodeRepo, "--branch="+lspGitRef, "--single-branch", tmpdir)
+		cmd.Stdout = os.Stderr
+		cmd.Stderr = os.Stderr
+		if err := cmd.Run(); err != nil {
+			log.Fatal(err)
+		}
+
+		*repodir = tmpdir
+	} else {
+		lspGitRef = fmt.Sprintf("(not git, local dir %s)", *repodir)
 	}
 
 	model := parse(filepath.Join(*repodir, "protocol/metaModel.json"))
@@ -240,7 +270,7 @@
 		log.Fatalf("githash cannot be recovered from %s", fname)
 	}
 
-	format := `// Copyright 2022 The Go Authors. All rights reserved.
+	format := `// Copyright 2023 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.
 
@@ -248,13 +278,17 @@
 
 package protocol
 
-// Code generated from version %s of protocol/metaModel.json.
-// git hash %s (as of %s)
-
+// Code generated from %[1]s at ref %[2]s (hash %[3]s).
+// %[4]s/blob/%[2]s/%[1]s
+// LSP metaData.version = %[5]s.
 
 `
-	now := time.Now().Format("2006-01-02")
-	return fmt.Sprintf(format, model.Version.Version, githash, now)
+	return fmt.Sprintf(format,
+		"protocol/metaModel.json", // 1
+		lspGitRef,                 // 2
+		githash,                   // 3
+		vscodeRepo,                // 4
+		model.Version.Version)     // 5
 }
 
 func parse(fname string) Model {
diff --git a/gopls/internal/lsp/protocol/generate/typenames.go b/gopls/internal/lsp/protocol/generate/typenames.go
index 237d19e..8bacdd2 100644
--- a/gopls/internal/lsp/protocol/generate/typenames.go
+++ b/gopls/internal/lsp/protocol/generate/typenames.go
@@ -14,7 +14,7 @@
 )
 
 var typeNames = make(map[*Type]string)
-var genTypes = make(map[*Type]*newType)
+var genTypes []*newType
 
 func findTypeNames(model Model) {
 	for _, s := range model.Structures {
@@ -75,13 +75,13 @@
 		for _, it := range t.Items {
 			nameType(it, append(path, "Item"))
 		}
-		genTypes[t] = &newType{
+		genTypes = append(genTypes, &newType{
 			name:  nm,
 			typ:   t,
 			kind:  "and",
 			items: t.Items,
 			line:  t.Line,
-		}
+		})
 		return nm
 	case "literal":
 		nm := nameFromPath("Lit", path)
@@ -89,13 +89,13 @@
 		for _, p := range t.Value.(ParseLiteral).Properties {
 			nameType(p.Type, append(path, p.Name))
 		}
-		genTypes[t] = &newType{
+		genTypes = append(genTypes, &newType{
 			name:       nm,
 			typ:        t,
 			kind:       "literal",
 			properties: t.Value.(ParseLiteral).Properties,
 			line:       t.Line,
-		}
+		})
 		return nm
 	case "tuple":
 		nm := nameFromPath("Tuple", path)
@@ -103,13 +103,13 @@
 		for _, it := range t.Items {
 			nameType(it, append(path, "Item"))
 		}
-		genTypes[t] = &newType{
+		genTypes = append(genTypes, &newType{
 			name:  nm,
 			typ:   t,
 			kind:  "tuple",
 			items: t.Items,
 			line:  t.Line,
-		}
+		})
 		return nm
 	case "or":
 		nm := nameFromPath("Or", path)
@@ -159,13 +159,13 @@
 				return newNm
 			}
 		}
-		genTypes[t] = &newType{
+		genTypes = append(genTypes, &newType{
 			name:  nm,
 			typ:   t,
 			kind:  "or",
 			items: t.Items,
 			line:  t.Line,
-		}
+		})
 		return nm
 	case "stringLiteral": // a single type, like 'kind' or 'rename'
 		typeNames[t] = "string"
diff --git a/gopls/internal/lsp/protocol/generate/types.go b/gopls/internal/lsp/protocol/generate/types.go
index a8d5af1..0d01ae4 100644
--- a/gopls/internal/lsp/protocol/generate/types.go
+++ b/gopls/internal/lsp/protocol/generate/types.go
@@ -142,8 +142,7 @@
 	// always followed by a newline. There are other {s embedded in strings.
 	// json.Token does not return \n, or :, or , so using it would
 	// require parsing the json to reconstruct the missing information.
-	// TODO(pjw): should linecnt start at 1 (editor) or 0 (compatibility)?
-	for linecnt, i := 0, 0; i < len(buf); i++ {
+	for linecnt, i := 1, 0; i < len(buf); i++ {
 		ans = append(ans, buf[i])
 		switch buf[i] {
 		case '{':
diff --git a/gopls/internal/lsp/protocol/tsclient.go b/gopls/internal/lsp/protocol/tsclient.go
index 561d18c..cfafecf 100644
--- a/gopls/internal/lsp/protocol/tsclient.go
+++ b/gopls/internal/lsp/protocol/tsclient.go
@@ -1,4 +1,4 @@
-// Copyright 2022 The Go Authors. All rights reserved.
+// Copyright 2023 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.
 
@@ -6,8 +6,9 @@
 
 package protocol
 
-// Code generated from version 3.17.0 of protocol/metaModel.json.
-// git hash 9b742021fb04ad081aa3676a9eecf4fa612084b4 (as of 2023-02-23)
+// Code generated from protocol/metaModel.json at ref release/protocol/3.17.3-next.6 (hash 56c23c557e3568a9f56f42435fd5a80f9458957f).
+// https://github.com/microsoft/vscode-languageserver-node/blob/release/protocol/3.17.3-next.6/protocol/metaModel.json
+// LSP metaData.version = 3.17.0.
 
 import (
 	"context"
diff --git a/gopls/internal/lsp/protocol/tsjson.go b/gopls/internal/lsp/protocol/tsjson.go
index 15e2c32..320fa08 100644
--- a/gopls/internal/lsp/protocol/tsjson.go
+++ b/gopls/internal/lsp/protocol/tsjson.go
@@ -1,4 +1,4 @@
-// Copyright 2022 The Go Authors. All rights reserved.
+// Copyright 2023 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.
 
@@ -6,8 +6,9 @@
 
 package protocol
 
-// Code generated from version 3.17.0 of protocol/metaModel.json.
-// git hash 9b742021fb04ad081aa3676a9eecf4fa612084b4 (as of 2023-02-23)
+// Code generated from protocol/metaModel.json at ref release/protocol/3.17.3-next.6 (hash 56c23c557e3568a9f56f42435fd5a80f9458957f).
+// https://github.com/microsoft/vscode-languageserver-node/blob/release/protocol/3.17.3-next.6/protocol/metaModel.json
+// LSP metaData.version = 3.17.0.
 
 import "encoding/json"
 
@@ -23,7 +24,7 @@
 	return e.msg
 }
 
-// from line 4768
+// from line 4769
 func (t OrFEditRangePItemDefaults) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case FEditRangePItemDefaults:
@@ -54,7 +55,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [FEditRangePItemDefaults Range]"}
 }
 
-// from line 9810
+// from line 9811
 func (t OrFNotebookPNotebookSelector) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case NotebookDocumentFilter:
@@ -85,7 +86,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [NotebookDocumentFilter string]"}
 }
 
-// from line 5519
+// from line 5520
 func (t OrPLocation_workspace_symbol) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case Location:
@@ -116,7 +117,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [Location PLocationMsg_workspace_symbol]"}
 }
 
-// from line 4162
+// from line 4163
 func (t OrPSection_workspace_didChangeConfiguration) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case []string:
@@ -147,7 +148,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [[]string string]"}
 }
 
-// from line 7074
+// from line 7075
 func (t OrPTooltipPLabel) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case MarkupContent:
@@ -178,7 +179,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [MarkupContent string]"}
 }
 
-// from line 3698
+// from line 3699
 func (t OrPTooltip_textDocument_inlayHint) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case MarkupContent:
@@ -209,7 +210,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [MarkupContent string]"}
 }
 
-// from line 6183
+// from line 6184
 func (t Or_CancelParams_id) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case int32:
@@ -240,7 +241,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [int32 string]"}
 }
 
-// from line 4581
+// from line 4582
 func (t Or_CompletionItem_documentation) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case MarkupContent:
@@ -271,7 +272,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [MarkupContent string]"}
 }
 
-// from line 4664
+// from line 4665
 func (t Or_CompletionItem_textEdit) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case InsertReplaceEdit:
@@ -302,7 +303,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [InsertReplaceEdit TextEdit]"}
 }
 
-// from line 13752
+// from line 13753
 func (t Or_Definition) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case Location:
@@ -333,7 +334,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [Location []Location]"}
 }
 
-// from line 8546
+// from line 8547
 func (t Or_Diagnostic_code) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case int32:
@@ -364,7 +365,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [int32 string]"}
 }
 
-// from line 13884
+// from line 13885
 func (t Or_DocumentDiagnosticReport) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case RelatedFullDocumentDiagnosticReport:
@@ -395,7 +396,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [RelatedFullDocumentDiagnosticReport RelatedUnchangedDocumentDiagnosticReport]"}
 }
 
-// from line 3821
+// from line 3822
 func (t Or_DocumentDiagnosticReportPartialResult_relatedDocuments_Value) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case FullDocumentDiagnosticReport:
@@ -426,7 +427,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]"}
 }
 
-// from line 14094
+// from line 14095
 func (t Or_DocumentFilter) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case NotebookCellTextDocumentFilter:
@@ -457,7 +458,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [NotebookCellTextDocumentFilter TextDocumentFilter]"}
 }
 
-// from line 4890
+// from line 4891
 func (t Or_Hover_contents) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case MarkedString:
@@ -495,7 +496,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [MarkedString MarkupContent []MarkedString]"}
 }
 
-// from line 3657
+// from line 3658
 func (t Or_InlayHint_label) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case []InlayHintLabelPart:
@@ -526,7 +527,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [[]InlayHintLabelPart string]"}
 }
 
-// from line 13862
+// from line 13863
 func (t Or_InlineValue) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case InlineValueEvaluatableExpression:
@@ -564,7 +565,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [InlineValueEvaluatableExpression InlineValueText InlineValueVariableLookup]"}
 }
 
-// from line 14059
+// from line 14060
 func (t Or_MarkedString) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case Msg_MarkedString:
@@ -595,7 +596,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [Msg_MarkedString string]"}
 }
 
-// from line 10117
+// from line 10118
 func (t Or_NotebookCellTextDocumentFilter_notebook) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case NotebookDocumentFilter:
@@ -626,7 +627,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [NotebookDocumentFilter string]"}
 }
 
-// from line 9856
+// from line 9857
 func (t Or_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_notebook) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case NotebookDocumentFilter:
@@ -657,7 +658,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [NotebookDocumentFilter string]"}
 }
 
-// from line 7167
+// from line 7168
 func (t Or_RelatedFullDocumentDiagnosticReport_relatedDocuments_Value) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case FullDocumentDiagnosticReport:
@@ -688,7 +689,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]"}
 }
 
-// from line 7206
+// from line 7207
 func (t Or_RelatedUnchangedDocumentDiagnosticReport_relatedDocuments_Value) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case FullDocumentDiagnosticReport:
@@ -719,7 +720,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]"}
 }
 
-// from line 10740
+// from line 10741
 func (t Or_RelativePattern_baseUri) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case URI:
@@ -750,7 +751,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [URI WorkspaceFolder]"}
 }
 
-// from line 1370
+// from line 1371
 func (t Or_Result_textDocument_codeAction_Item0_Elem) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case CodeAction:
@@ -781,7 +782,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [CodeAction Command]"}
 }
 
-// from line 12196
+// from line 12197
 func (t Or_SemanticTokensClientCapabilities_requests_full) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case FFullPRequests:
@@ -812,7 +813,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [FFullPRequests bool]"}
 }
 
-// from line 12176
+// from line 12177
 func (t Or_SemanticTokensClientCapabilities_requests_range) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case FRangePRequests:
@@ -843,7 +844,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [FRangePRequests bool]"}
 }
 
-// from line 6578
+// from line 6579
 func (t Or_SemanticTokensOptions_full) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case PFullESemanticTokensOptions:
@@ -874,7 +875,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [PFullESemanticTokensOptions bool]"}
 }
 
-// from line 6558
+// from line 6559
 func (t Or_SemanticTokensOptions_range) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case PRangeESemanticTokensOptions:
@@ -905,7 +906,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [PRangeESemanticTokensOptions bool]"}
 }
 
-// from line 8226
+// from line 8227
 func (t Or_ServerCapabilities_callHierarchyProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case CallHierarchyOptions:
@@ -943,7 +944,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [CallHierarchyOptions CallHierarchyRegistrationOptions bool]"}
 }
 
-// from line 8034
+// from line 8035
 func (t Or_ServerCapabilities_codeActionProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case CodeActionOptions:
@@ -974,7 +975,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [CodeActionOptions bool]"}
 }
 
-// from line 8070
+// from line 8071
 func (t Or_ServerCapabilities_colorProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case DocumentColorOptions:
@@ -1012,7 +1013,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [DocumentColorOptions DocumentColorRegistrationOptions bool]"}
 }
 
-// from line 7896
+// from line 7897
 func (t Or_ServerCapabilities_declarationProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case DeclarationOptions:
@@ -1050,7 +1051,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [DeclarationOptions DeclarationRegistrationOptions bool]"}
 }
 
-// from line 7918
+// from line 7919
 func (t Or_ServerCapabilities_definitionProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case DefinitionOptions:
@@ -1081,7 +1082,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [DefinitionOptions bool]"}
 }
 
-// from line 8383
+// from line 8384
 func (t Or_ServerCapabilities_diagnosticProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case DiagnosticOptions:
@@ -1112,7 +1113,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [DiagnosticOptions DiagnosticRegistrationOptions]"}
 }
 
-// from line 8110
+// from line 8111
 func (t Or_ServerCapabilities_documentFormattingProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case DocumentFormattingOptions:
@@ -1143,7 +1144,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [DocumentFormattingOptions bool]"}
 }
 
-// from line 7998
+// from line 7999
 func (t Or_ServerCapabilities_documentHighlightProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case DocumentHighlightOptions:
@@ -1174,7 +1175,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [DocumentHighlightOptions bool]"}
 }
 
-// from line 8128
+// from line 8129
 func (t Or_ServerCapabilities_documentRangeFormattingProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case DocumentRangeFormattingOptions:
@@ -1205,7 +1206,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [DocumentRangeFormattingOptions bool]"}
 }
 
-// from line 8016
+// from line 8017
 func (t Or_ServerCapabilities_documentSymbolProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case DocumentSymbolOptions:
@@ -1236,7 +1237,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [DocumentSymbolOptions bool]"}
 }
 
-// from line 8173
+// from line 8174
 func (t Or_ServerCapabilities_foldingRangeProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case FoldingRangeOptions:
@@ -1274,7 +1275,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [FoldingRangeOptions FoldingRangeRegistrationOptions bool]"}
 }
 
-// from line 7869
+// from line 7870
 func (t Or_ServerCapabilities_hoverProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case HoverOptions:
@@ -1305,7 +1306,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [HoverOptions bool]"}
 }
 
-// from line 7958
+// from line 7959
 func (t Or_ServerCapabilities_implementationProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case ImplementationOptions:
@@ -1343,7 +1344,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [ImplementationOptions ImplementationRegistrationOptions bool]"}
 }
 
-// from line 8360
+// from line 8361
 func (t Or_ServerCapabilities_inlayHintProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case InlayHintOptions:
@@ -1381,7 +1382,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [InlayHintOptions InlayHintRegistrationOptions bool]"}
 }
 
-// from line 8337
+// from line 8338
 func (t Or_ServerCapabilities_inlineValueProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case InlineValueOptions:
@@ -1419,7 +1420,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [InlineValueOptions InlineValueRegistrationOptions bool]"}
 }
 
-// from line 8249
+// from line 8250
 func (t Or_ServerCapabilities_linkedEditingRangeProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case LinkedEditingRangeOptions:
@@ -1457,7 +1458,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [LinkedEditingRangeOptions LinkedEditingRangeRegistrationOptions bool]"}
 }
 
-// from line 8291
+// from line 8292
 func (t Or_ServerCapabilities_monikerProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case MonikerOptions:
@@ -1495,7 +1496,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [MonikerOptions MonikerRegistrationOptions bool]"}
 }
 
-// from line 7841
+// from line 7842
 func (t Or_ServerCapabilities_notebookDocumentSync) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case NotebookDocumentSyncOptions:
@@ -1526,7 +1527,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [NotebookDocumentSyncOptions NotebookDocumentSyncRegistrationOptions]"}
 }
 
-// from line 7980
+// from line 7981
 func (t Or_ServerCapabilities_referencesProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case ReferenceOptions:
@@ -1557,7 +1558,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [ReferenceOptions bool]"}
 }
 
-// from line 8155
+// from line 8156
 func (t Or_ServerCapabilities_renameProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case RenameOptions:
@@ -1588,7 +1589,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [RenameOptions bool]"}
 }
 
-// from line 8195
+// from line 8196
 func (t Or_ServerCapabilities_selectionRangeProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case SelectionRangeOptions:
@@ -1626,7 +1627,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [SelectionRangeOptions SelectionRangeRegistrationOptions bool]"}
 }
 
-// from line 8272
+// from line 8273
 func (t Or_ServerCapabilities_semanticTokensProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case SemanticTokensOptions:
@@ -1657,7 +1658,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [SemanticTokensOptions SemanticTokensRegistrationOptions]"}
 }
 
-// from line 7823
+// from line 7824
 func (t Or_ServerCapabilities_textDocumentSync) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case TextDocumentSyncKind:
@@ -1688,7 +1689,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [TextDocumentSyncKind TextDocumentSyncOptions]"}
 }
 
-// from line 7936
+// from line 7937
 func (t Or_ServerCapabilities_typeDefinitionProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case TypeDefinitionOptions:
@@ -1726,7 +1727,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [TypeDefinitionOptions TypeDefinitionRegistrationOptions bool]"}
 }
 
-// from line 8314
+// from line 8315
 func (t Or_ServerCapabilities_typeHierarchyProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case TypeHierarchyOptions:
@@ -1764,7 +1765,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [TypeHierarchyOptions TypeHierarchyRegistrationOptions bool]"}
 }
 
-// from line 8092
+// from line 8093
 func (t Or_ServerCapabilities_workspaceSymbolProvider) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case WorkspaceSymbolOptions:
@@ -1795,7 +1796,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [WorkspaceSymbolOptions bool]"}
 }
 
-// from line 8840
+// from line 8841
 func (t Or_SignatureInformation_documentation) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case MarkupContent:
@@ -1826,7 +1827,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [MarkupContent string]"}
 }
 
-// from line 6691
+// from line 6692
 func (t Or_TextDocumentEdit_edits_Elem) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case AnnotatedTextEdit:
@@ -1857,7 +1858,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [AnnotatedTextEdit TextEdit]"}
 }
 
-// from line 9776
+// from line 9777
 func (t Or_TextDocumentSyncOptions_save) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case SaveOptions:
@@ -1888,7 +1889,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [SaveOptions bool]"}
 }
 
-// from line 13985
+// from line 13986
 func (t Or_WorkspaceDocumentDiagnosticReport) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case WorkspaceFullDocumentDiagnosticReport:
@@ -1919,7 +1920,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [WorkspaceFullDocumentDiagnosticReport WorkspaceUnchangedDocumentDiagnosticReport]"}
 }
 
-// from line 3218
+// from line 3219
 func (t Or_WorkspaceEdit_documentChanges_Elem) MarshalJSON() ([]byte, error) {
 	switch x := t.Value.(type) {
 	case CreateFile:
@@ -1964,7 +1965,7 @@
 	return &UnmarshalError{"unmarshal failed to match one of [CreateFile DeleteFile RenameFile TextDocumentEdit]"}
 }
 
-// from line 247
+// from line 248
 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 022149a..8c57b58 100644
--- a/gopls/internal/lsp/protocol/tsprotocol.go
+++ b/gopls/internal/lsp/protocol/tsprotocol.go
@@ -1,4 +1,4 @@
-// Copyright 2022 The Go Authors. All rights reserved.
+// Copyright 2023 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.
 
@@ -6,25 +6,26 @@
 
 package protocol
 
-// Code generated from version 3.17.0 of protocol/metaModel.json.
-// git hash 9b742021fb04ad081aa3676a9eecf4fa612084b4 (as of 2023-02-23)
+// Code generated from protocol/metaModel.json at ref release/protocol/3.17.3-next.6 (hash 56c23c557e3568a9f56f42435fd5a80f9458957f).
+// https://github.com/microsoft/vscode-languageserver-node/blob/release/protocol/3.17.3-next.6/protocol/metaModel.json
+// LSP metaData.version = 3.17.0.
 
 import "encoding/json"
 
 // A special text edit with an additional change annotation.
 //
 // @since 3.16.0.
-type AnnotatedTextEdit struct { // line 9371
+type AnnotatedTextEdit struct { // line 9372
 	// The actual identifier of the change annotation
 	AnnotationID ChangeAnnotationIdentifier `json:"annotationId"`
 	TextEdit
 }
 
 // The parameters passed via a apply workspace edit request.
-type ApplyWorkspaceEditParams struct { // line 5983
-	//An optional label of the workspace edit. This label is
-	//presented in the user interface for example on an undo
-	//stack to undo the workspace edit.
+type ApplyWorkspaceEditParams struct { // line 5984
+	// An optional label of the workspace edit. This label is
+	// presented in the user interface for example on an undo
+	// stack to undo the workspace edit.
 	Label string `json:"label,omitempty"`
 	// The edits to apply.
 	Edit WorkspaceEdit `json:"edit"`
@@ -33,59 +34,59 @@
 // The result returned from the apply workspace edit request.
 //
 // @since 3.17 renamed from ApplyWorkspaceEditResponse
-type ApplyWorkspaceEditResult struct { // line 6006
+type ApplyWorkspaceEditResult struct { // line 6007
 	// Indicates whether the edit was applied or not.
 	Applied bool `json:"applied"`
-	//An optional textual description for why the edit was not applied.
-	//This may be used by the server for diagnostic logging or to provide
-	//a suitable error for a request that triggered the edit.
+	// An optional textual description for why the edit was not applied.
+	// This may be used by the server for diagnostic logging or to provide
+	// a suitable error for a request that triggered the edit.
 	FailureReason string `json:"failureReason,omitempty"`
-	//Depending on the client's failure handling strategy `failedChange` might
-	//contain the index of the change that failed. This property is only available
-	//if the client signals a `failureHandlingStrategy` in its client capabilities.
+	// Depending on the client's failure handling strategy `failedChange` might
+	// contain the index of the change that failed. This property is only available
+	// if the client signals a `failureHandlingStrategy` in its client capabilities.
 	FailedChange uint32 `json:"failedChange,omitempty"`
 }
 
 // A base for all symbol information.
-type BaseSymbolInformation struct { // line 8965
+type BaseSymbolInformation struct { // line 8966
 	// The name of this symbol.
 	Name string `json:"name"`
 	// The kind of this symbol.
 	Kind SymbolKind `json:"kind"`
-	//Tags for this symbol.
+	// Tags for this symbol.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Tags []SymbolTag `json:"tags,omitempty"`
-	//The name of the symbol containing this symbol. This information is for
-	//user interface purposes (e.g. to render a qualifier in the user interface
-	//if necessary). It can't be used to re-infer a hierarchy for the document
-	//symbols.
+	// The name of the symbol containing this symbol. This information is for
+	// user interface purposes (e.g. to render a qualifier in the user interface
+	// if necessary). It can't be used to re-infer a hierarchy for the document
+	// symbols.
 	ContainerName string `json:"containerName,omitempty"`
 }
 
 // @since 3.16.0
-type CallHierarchyClientCapabilities struct { // line 12140
-	//Whether implementation supports dynamic registration. If this is set to `true`
-	//the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
-	//return value for the corresponding server capability as well.
+type CallHierarchyClientCapabilities struct { // line 12141
+	// Whether implementation supports dynamic registration. If this is set to `true`
+	// the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+	// return value for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // Represents an incoming call, e.g. a caller of a method or constructor.
 //
 // @since 3.16.0
-type CallHierarchyIncomingCall struct { // line 2778
+type CallHierarchyIncomingCall struct { // line 2779
 	// The item that makes the call.
 	From CallHierarchyItem `json:"from"`
-	//The ranges at which the calls appear. This is relative to the caller
-	//denoted by {@link CallHierarchyIncomingCall.from `this.from`}.
+	// The ranges at which the calls appear. This is relative to the caller
+	// denoted by {@link CallHierarchyIncomingCall.from `this.from`}.
 	FromRanges []Range `json:"fromRanges"`
 }
 
 // The parameter of a `callHierarchy/incomingCalls` request.
 //
 // @since 3.16.0
-type CallHierarchyIncomingCallsParams struct { // line 2754
+type CallHierarchyIncomingCallsParams struct { // line 2755
 	Item CallHierarchyItem `json:"item"`
 	WorkDoneProgressParams
 	PartialResultParams
@@ -95,7 +96,7 @@
 // of call hierarchy.
 //
 // @since 3.16.0
-type CallHierarchyItem struct { // line 2655
+type CallHierarchyItem struct { // line 2656
 	// The name of this item.
 	Name string `json:"name"`
 	// The kind of this item.
@@ -108,37 +109,37 @@
 	URI DocumentURI `json:"uri"`
 	// The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code.
 	Range Range `json:"range"`
-	//The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function.
-	//Must be contained by the {@link CallHierarchyItem.range `range`}.
+	// The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function.
+	// Must be contained by the {@link CallHierarchyItem.range `range`}.
 	SelectionRange Range `json:"selectionRange"`
-	//A data entry field that is preserved between a call hierarchy prepare and
-	//incoming calls or outgoing calls requests.
+	// A data entry field that is preserved between a call hierarchy prepare and
+	// incoming calls or outgoing calls requests.
 	Data interface{} `json:"data,omitempty"`
 }
 
 // Call hierarchy options used during static registration.
 //
 // @since 3.16.0
-type CallHierarchyOptions struct { // line 6533
+type CallHierarchyOptions struct { // line 6534
 	WorkDoneProgressOptions
 }
 
 // Represents an outgoing call, e.g. calling a getter from a method or a method from a constructor etc.
 //
 // @since 3.16.0
-type CallHierarchyOutgoingCall struct { // line 2828
+type CallHierarchyOutgoingCall struct { // line 2829
 	// The item that is called.
 	To CallHierarchyItem `json:"to"`
-	//The range at which this item is called. This is the range relative to the caller, e.g the item
-	//passed to {@link CallHierarchyItemProvider.provideCallHierarchyOutgoingCalls `provideCallHierarchyOutgoingCalls`}
-	//and not {@link CallHierarchyOutgoingCall.to `this.to`}.
+	// The range at which this item is called. This is the range relative to the caller, e.g the item
+	// passed to {@link CallHierarchyItemProvider.provideCallHierarchyOutgoingCalls `provideCallHierarchyOutgoingCalls`}
+	// and not {@link CallHierarchyOutgoingCall.to `this.to`}.
 	FromRanges []Range `json:"fromRanges"`
 }
 
 // The parameter of a `callHierarchy/outgoingCalls` request.
 //
 // @since 3.16.0
-type CallHierarchyOutgoingCallsParams struct { // line 2804
+type CallHierarchyOutgoingCallsParams struct { // line 2805
 	Item CallHierarchyItem `json:"item"`
 	WorkDoneProgressParams
 	PartialResultParams
@@ -147,7 +148,7 @@
 // The parameter of a `textDocument/prepareCallHierarchy` request.
 //
 // @since 3.16.0
-type CallHierarchyPrepareParams struct { // line 2637
+type CallHierarchyPrepareParams struct { // line 2638
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 }
@@ -155,12 +156,12 @@
 // Call hierarchy options used during static or dynamic registration.
 //
 // @since 3.16.0
-type CallHierarchyRegistrationOptions struct { // line 2732
+type CallHierarchyRegistrationOptions struct { // line 2733
 	TextDocumentRegistrationOptions
 	CallHierarchyOptions
 	StaticRegistrationOptions
 }
-type CancelParams struct { // line 6178
+type CancelParams struct { // line 6179
 	// The request id to cancel.
 	ID interface{} `json:"id"`
 }
@@ -168,35 +169,35 @@
 // Additional information that describes document changes.
 //
 // @since 3.16.0
-type ChangeAnnotation struct { // line 6830
-	//A human-readable string describing the actual change. The string
-	//is rendered prominent in the user interface.
+type ChangeAnnotation struct { // line 6831
+	// A human-readable string describing the actual change. The string
+	// is rendered prominent in the user interface.
 	Label string `json:"label"`
-	//A flag which indicates that user confirmation is needed
-	//before applying the change.
+	// A flag which indicates that user confirmation is needed
+	// before applying the change.
 	NeedsConfirmation bool `json:"needsConfirmation,omitempty"`
-	//A human-readable string which is rendered less prominent in
-	//the user interface.
+	// A human-readable string which is rendered less prominent in
+	// the user interface.
 	Description string `json:"description,omitempty"`
 }
 
 // An identifier to refer to a change annotation stored with a workspace edit.
-type ChangeAnnotationIdentifier = string // (alias) line 13975
+type ChangeAnnotationIdentifier = string // (alias) line 13976
 // Defines the capabilities provided by the client.
-type ClientCapabilities struct { // line 9673
+type ClientCapabilities struct { // line 9674
 	// Workspace specific client capabilities.
 	Workspace WorkspaceClientCapabilities `json:"workspace,omitempty"`
 	// Text document specific client capabilities.
 	TextDocument TextDocumentClientCapabilities `json:"textDocument,omitempty"`
-	//Capabilities specific to the notebook document support.
+	// Capabilities specific to the notebook document support.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	NotebookDocument *NotebookDocumentClientCapabilities `json:"notebookDocument,omitempty"`
 	// Window specific client capabilities.
 	Window WindowClientCapabilities `json:"window,omitempty"`
-	//General client capabilities.
+	// General client capabilities.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	General *GeneralClientCapabilities `json:"general,omitempty"`
 	// Experimental client capabilities.
 	Experimental interface{} `json:"experimental,omitempty"`
@@ -206,130 +207,130 @@
 // to refactor code.
 //
 // A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed.
-type CodeAction struct { // line 5381
+type CodeAction struct { // line 5382
 	// A short, human-readable, title for this code action.
 	Title string `json:"title"`
-	//The kind of the code action.
+	// The kind of the code action.
 	//
-	//Used to filter code actions.
+	// Used to filter code actions.
 	Kind CodeActionKind `json:"kind,omitempty"`
 	// The diagnostics that this code action resolves.
 	Diagnostics []Diagnostic `json:"diagnostics,omitempty"`
-	//Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted
-	//by keybindings.
+	// Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted
+	// by keybindings.
 	//
-	//A quick fix should be marked preferred if it properly addresses the underlying error.
-	//A refactoring should be marked preferred if it is the most reasonable choice of actions to take.
+	// A quick fix should be marked preferred if it properly addresses the underlying error.
+	// A refactoring should be marked preferred if it is the most reasonable choice of actions to take.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	IsPreferred bool `json:"isPreferred,omitempty"`
-	//Marks that the code action cannot currently be applied.
+	// Marks that the code action cannot currently be applied.
 	//
-	//Clients should follow the following guidelines regarding disabled code actions:
+	// Clients should follow the following guidelines regarding disabled code actions:
 	//
-	//  - Disabled code actions are not shown in automatic [lightbulbs](https://code.visualstudio.com/docs/editor/editingevolved#_code-action)
-	//    code action menus.
+	//   - Disabled code actions are not shown in automatic [lightbulbs](https://code.visualstudio.com/docs/editor/editingevolved#_code-action)
+	//     code action menus.
 	//
-	//  - Disabled actions are shown as faded out in the code action menu when the user requests a more specific type
-	//    of code action, such as refactorings.
+	//   - Disabled actions are shown as faded out in the code action menu when the user requests a more specific type
+	//     of code action, such as refactorings.
 	//
-	//  - If the user has a [keybinding](https://code.visualstudio.com/docs/editor/refactoring#_keybindings-for-code-actions)
-	//    that auto applies a code action and only disabled code actions are returned, the client should show the user an
-	//    error message with `reason` in the editor.
+	//   - If the user has a [keybinding](https://code.visualstudio.com/docs/editor/refactoring#_keybindings-for-code-actions)
+	//     that auto applies a code action and only disabled code actions are returned, the client should show the user an
+	//     error message with `reason` in the editor.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Disabled *PDisabledMsg_textDocument_codeAction `json:"disabled,omitempty"`
 	// The workspace edit this code action performs.
 	Edit WorkspaceEdit `json:"edit,omitempty"`
-	//A command this code action executes. If a code action
-	//provides an edit and a command, first the edit is
-	//executed and then the command.
+	// A command this code action executes. If a code action
+	// provides an edit and a command, first the edit is
+	// executed and then the command.
 	Command *Command `json:"command,omitempty"`
-	//A data entry field that is preserved on a code action between
-	//a `textDocument/codeAction` and a `codeAction/resolve` request.
+	// A data entry field that is preserved on a code action between
+	// a `textDocument/codeAction` and a `codeAction/resolve` request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Data interface{} `json:"data,omitempty"`
 }
 
 // The Client Capabilities of a {@link CodeActionRequest}.
-type CodeActionClientCapabilities struct { // line 11720
+type CodeActionClientCapabilities struct { // line 11721
 	// Whether code action supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//The client support code action literals of type `CodeAction` as a valid
-	//response of the `textDocument/codeAction` request. If the property is not
-	//set the request can only return `Command` literals.
+	// The client support code action literals of type `CodeAction` as a valid
+	// response of the `textDocument/codeAction` request. If the property is not
+	// set the request can only return `Command` literals.
 	//
-	//@since 3.8.0
+	// @since 3.8.0
 	CodeActionLiteralSupport PCodeActionLiteralSupportPCodeAction `json:"codeActionLiteralSupport,omitempty"`
-	//Whether code action supports the `isPreferred` property.
+	// Whether code action supports the `isPreferred` property.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	IsPreferredSupport bool `json:"isPreferredSupport,omitempty"`
-	//Whether code action supports the `disabled` property.
+	// Whether code action supports the `disabled` property.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	DisabledSupport bool `json:"disabledSupport,omitempty"`
-	//Whether code action supports the `data` property which is
-	//preserved between a `textDocument/codeAction` and a
-	//`codeAction/resolve` request.
+	// Whether code action supports the `data` property which is
+	// preserved between a `textDocument/codeAction` and a
+	// `codeAction/resolve` request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	DataSupport bool `json:"dataSupport,omitempty"`
-	//Whether the client supports resolving additional code action
-	//properties via a separate `codeAction/resolve` request.
+	// Whether the client supports resolving additional code action
+	// properties via a separate `codeAction/resolve` request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	ResolveSupport *PResolveSupportPCodeAction `json:"resolveSupport,omitempty"`
-	//Whether the client honors the change annotations in
-	//text edits and resource operations returned via the
-	//`CodeAction#edit` property by for example presenting
-	//the workspace edit in the user interface and asking
-	//for confirmation.
+	// Whether the client honors the change annotations in
+	// text edits and resource operations returned via the
+	// `CodeAction#edit` property by for example presenting
+	// the workspace edit in the user interface and asking
+	// for confirmation.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	HonorsChangeAnnotations bool `json:"honorsChangeAnnotations,omitempty"`
 }
 
 // Contains additional diagnostic information about the context in which
 // a {@link CodeActionProvider.provideCodeActions code action} is run.
-type CodeActionContext struct { // line 9031
-	//An array of diagnostics known on the client side overlapping the range provided to the
-	//`textDocument/codeAction` request. They are provided so that the server knows which
-	//errors are currently presented to the user for the given range. There is no guarantee
-	//that these accurately reflect the error state of the resource. The primary parameter
-	//to compute code actions is the provided range.
+type CodeActionContext struct { // line 9032
+	// An array of diagnostics known on the client side overlapping the range provided to the
+	// `textDocument/codeAction` request. They are provided so that the server knows which
+	// errors are currently presented to the user for the given range. There is no guarantee
+	// that these accurately reflect the error state of the resource. The primary parameter
+	// to compute code actions is the provided range.
 	Diagnostics []Diagnostic `json:"diagnostics"`
-	//Requested kind of actions to return.
+	// Requested kind of actions to return.
 	//
-	//Actions not of this kind are filtered out by the client before being shown. So servers
-	//can omit computing them.
+	// Actions not of this kind are filtered out by the client before being shown. So servers
+	// can omit computing them.
 	Only []CodeActionKind `json:"only,omitempty"`
-	//The reason why code actions were requested.
+	// The reason why code actions were requested.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	TriggerKind CodeActionTriggerKind `json:"triggerKind,omitempty"`
 }
 
 // A set of predefined code action kinds
-type CodeActionKind string // line 13325
+type CodeActionKind string // line 13326
 // Provider options for a {@link CodeActionRequest}.
-type CodeActionOptions struct { // line 9070
-	//CodeActionKinds that this server may return.
+type CodeActionOptions struct { // line 9071
+	// CodeActionKinds that this server may return.
 	//
-	//The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
-	//may list out every specific kind they provide.
+	// The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
+	// may list out every specific kind they provide.
 	CodeActionKinds []CodeActionKind `json:"codeActionKinds,omitempty"`
-	//The server provides support to resolve additional
-	//information for a code action.
+	// The server provides support to resolve additional
+	// information for a code action.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	ResolveProvider bool `json:"resolveProvider,omitempty"`
 	WorkDoneProgressOptions
 }
 
 // The parameters of a {@link CodeActionRequest}.
-type CodeActionParams struct { // line 5307
+type CodeActionParams struct { // line 5308
 	// The document in which the command was invoked.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The range for which the command was invoked.
@@ -341,7 +342,7 @@
 }
 
 // Registration options for a {@link CodeActionRequest}.
-type CodeActionRegistrationOptions struct { // line 5475
+type CodeActionRegistrationOptions struct { // line 5476
 	TextDocumentRegistrationOptions
 	CodeActionOptions
 }
@@ -349,11 +350,11 @@
 // The reason why code actions were requested.
 //
 // @since 3.17.0
-type CodeActionTriggerKind uint32 // line 13605
+type CodeActionTriggerKind uint32 // line 13606
 // Structure to capture a description for an error code.
 //
 // @since 3.16.0
-type CodeDescription struct { // line 10025
+type CodeDescription struct { // line 10026
 	// An URI to open with more information about the diagnostic error.
 	Href URI `json:"href"`
 }
@@ -363,32 +364,32 @@
 //
 // A code lens is _unresolved_ when no command is associated to it. For performance
 // reasons the creation of a code lens and resolving should be done in two stages.
-type CodeLens struct { // line 5598
+type CodeLens struct { // line 5599
 	// The range in which this code lens is valid. Should only span a single line.
 	Range Range `json:"range"`
 	// The command this code lens represents.
 	Command Command `json:"command,omitempty"`
-	//A data entry field that is preserved on a code lens item between
-	//a {@link CodeLensRequest} and a [CodeLensResolveRequest]
-	//(#CodeLensResolveRequest)
+	// A data entry field that is preserved on a code lens item between
+	// a {@link CodeLensRequest} and a [CodeLensResolveRequest]
+	// (#CodeLensResolveRequest)
 	Data interface{} `json:"data,omitempty"`
 }
 
 // The client capabilities  of a {@link CodeLensRequest}.
-type CodeLensClientCapabilities struct { // line 11834
+type CodeLensClientCapabilities struct { // line 11835
 	// Whether code lens supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // Code Lens provider options of a {@link CodeLensRequest}.
-type CodeLensOptions struct { // line 9126
+type CodeLensOptions struct { // line 9127
 	// Code lens has a resolve provider as well.
 	ResolveProvider bool `json:"resolveProvider,omitempty"`
 	WorkDoneProgressOptions
 }
 
 // The parameters of a {@link CodeLensRequest}.
-type CodeLensParams struct { // line 5574
+type CodeLensParams struct { // line 5575
 	// The document to request code lens for.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	WorkDoneProgressParams
@@ -396,25 +397,25 @@
 }
 
 // Registration options for a {@link CodeLensRequest}.
-type CodeLensRegistrationOptions struct { // line 5630
+type CodeLensRegistrationOptions struct { // line 5631
 	TextDocumentRegistrationOptions
 	CodeLensOptions
 }
 
 // @since 3.16.0
-type CodeLensWorkspaceClientCapabilities struct { // line 10992
-	//Whether the client implementation supports a refresh request sent from the
-	//server to the client.
+type CodeLensWorkspaceClientCapabilities struct { // line 10993
+	// Whether the client implementation supports a refresh request sent from the
+	// server to the client.
 	//
-	//Note that this event is global and will force the client to refresh all
-	//code lenses currently shown. It should be used with absolute care and is
-	//useful for situation where a server for example detect a project wide
-	//change that requires such a calculation.
+	// Note that this event is global and will force the client to refresh all
+	// code lenses currently shown. It should be used with absolute care and is
+	// useful for situation where a server for example detect a project wide
+	// change that requires such a calculation.
 	RefreshSupport bool `json:"refreshSupport,omitempty"`
 }
 
 // Represents a color in RGBA space.
-type Color struct { // line 6432
+type Color struct { // line 6433
 	// The red component of this color in the range [0-1].
 	Red float64 `json:"red"`
 	// The green component of this color in the range [0-1].
@@ -426,28 +427,28 @@
 }
 
 // Represents a color range from a document.
-type ColorInformation struct { // line 2238
+type ColorInformation struct { // line 2239
 	// The range in the document where this color appears.
 	Range Range `json:"range"`
 	// The actual color value for this color range.
 	Color Color `json:"color"`
 }
-type ColorPresentation struct { // line 2320
-	//The label of this color presentation. It will be shown on the color
-	//picker header. By default this is also the text that is inserted when selecting
-	//this color presentation.
+type ColorPresentation struct { // line 2321
+	// The label of this color presentation. It will be shown on the color
+	// picker header. By default this is also the text that is inserted when selecting
+	// this color presentation.
 	Label string `json:"label"`
-	//An {@link TextEdit edit} which is applied to a document when selecting
-	//this presentation for the color.  When `falsy` the {@link ColorPresentation.label label}
-	//is used.
+	// An {@link TextEdit edit} which is applied to a document when selecting
+	// this presentation for the color.  When `falsy` the {@link ColorPresentation.label label}
+	// is used.
 	TextEdit *TextEdit `json:"textEdit,omitempty"`
-	//An optional array of additional {@link TextEdit text edits} that are applied when
-	//selecting this color presentation. Edits must not overlap with the main {@link ColorPresentation.textEdit edit} nor with themselves.
+	// An optional array of additional {@link TextEdit text edits} that are applied when
+	// selecting this color presentation. Edits must not overlap with the main {@link ColorPresentation.textEdit edit} nor with themselves.
 	AdditionalTextEdits []TextEdit `json:"additionalTextEdits,omitempty"`
 }
 
 // Parameters for a {@link ColorPresentationRequest}.
-type ColorPresentationParams struct { // line 2280
+type ColorPresentationParams struct { // line 2281
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The color to request presentations for.
@@ -462,182 +463,182 @@
 // will be used to represent a command in the UI and, optionally,
 // an array of arguments which will be passed to the command handler
 // function when invoked.
-type Command struct { // line 5347
+type Command struct { // line 5348
 	// Title of the command, like `save`.
 	Title string `json:"title"`
 	// The identifier of the actual command handler.
 	Command string `json:"command"`
-	//Arguments that the command handler should be
-	//invoked with.
+	// Arguments that the command handler should be
+	// invoked with.
 	Arguments []json.RawMessage `json:"arguments,omitempty"`
 }
 
 // Completion client capabilities
-type CompletionClientCapabilities struct { // line 11167
+type CompletionClientCapabilities struct { // line 11168
 	// Whether completion supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//The client supports the following `CompletionItem` specific
-	//capabilities.
+	// The client supports the following `CompletionItem` specific
+	// capabilities.
 	CompletionItem     PCompletionItemPCompletion      `json:"completionItem,omitempty"`
 	CompletionItemKind *PCompletionItemKindPCompletion `json:"completionItemKind,omitempty"`
-	//Defines how the client handles whitespace and indentation
-	//when accepting a completion item that uses multi line
-	//text in either `insertText` or `textEdit`.
+	// Defines how the client handles whitespace and indentation
+	// when accepting a completion item that uses multi line
+	// text in either `insertText` or `textEdit`.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	InsertTextMode InsertTextMode `json:"insertTextMode,omitempty"`
-	//The client supports to send additional context information for a
-	//`textDocument/completion` request.
+	// The client supports to send additional context information for a
+	// `textDocument/completion` request.
 	ContextSupport bool `json:"contextSupport,omitempty"`
-	//The client supports the following `CompletionList` specific
-	//capabilities.
+	// The client supports the following `CompletionList` specific
+	// capabilities.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	CompletionList *PCompletionListPCompletion `json:"completionList,omitempty"`
 }
 
 // Contains additional information about the context in which a completion request is triggered.
-type CompletionContext struct { // line 8627
+type CompletionContext struct { // line 8628
 	// How the completion was triggered.
 	TriggerKind CompletionTriggerKind `json:"triggerKind"`
-	//The trigger character (a single character) that has trigger code complete.
-	//Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
+	// The trigger character (a single character) that has trigger code complete.
+	// Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
 	TriggerCharacter string `json:"triggerCharacter,omitempty"`
 }
 
 // A completion item represents a text snippet that is
 // proposed to complete text that is being typed.
-type CompletionItem struct { // line 4527
-	//The label of this completion item.
+type CompletionItem struct { // line 4528
+	// The label of this completion item.
 	//
-	//The label property is also by default the text that
-	//is inserted when selecting this completion.
+	// The label property is also by default the text that
+	// is inserted when selecting this completion.
 	//
-	//If label details are provided the label itself should
-	//be an unqualified name of the completion item.
+	// If label details are provided the label itself should
+	// be an unqualified name of the completion item.
 	Label string `json:"label"`
-	//Additional details for the label
+	// Additional details for the label
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	LabelDetails *CompletionItemLabelDetails `json:"labelDetails,omitempty"`
-	//The kind of this completion item. Based of the kind
-	//an icon is chosen by the editor.
+	// The kind of this completion item. Based of the kind
+	// an icon is chosen by the editor.
 	Kind CompletionItemKind `json:"kind,omitempty"`
-	//Tags for this completion item.
+	// Tags for this completion item.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	Tags []CompletionItemTag `json:"tags,omitempty"`
-	//A human-readable string with additional information
-	//about this item, like type or symbol information.
+	// A human-readable string with additional information
+	// about this item, like type or symbol information.
 	Detail string `json:"detail,omitempty"`
 	// A human-readable string that represents a doc-comment.
 	Documentation *Or_CompletionItem_documentation `json:"documentation,omitempty"`
-	//Indicates if this item is deprecated.
-	//@deprecated Use `tags` instead.
+	// Indicates if this item is deprecated.
+	// @deprecated Use `tags` instead.
 	Deprecated bool `json:"deprecated,omitempty"`
-	//Select this item when showing.
+	// Select this item when showing.
 	//
-	//*Note* that only one completion item can be selected and that the
-	//tool / client decides which item that is. The rule is that the *first*
-	//item of those that match best is selected.
+	// *Note* that only one completion item can be selected and that the
+	// tool / client decides which item that is. The rule is that the *first*
+	// item of those that match best is selected.
 	Preselect bool `json:"preselect,omitempty"`
-	//A string that should be used when comparing this item
-	//with other items. When `falsy` the {@link CompletionItem.label label}
-	//is used.
+	// A string that should be used when comparing this item
+	// with other items. When `falsy` the {@link CompletionItem.label label}
+	// is used.
 	SortText string `json:"sortText,omitempty"`
-	//A string that should be used when filtering a set of
-	//completion items. When `falsy` the {@link CompletionItem.label label}
-	//is used.
+	// A string that should be used when filtering a set of
+	// completion items. When `falsy` the {@link CompletionItem.label label}
+	// is used.
 	FilterText string `json:"filterText,omitempty"`
-	//A string that should be inserted into a document when selecting
-	//this completion. When `falsy` the {@link CompletionItem.label label}
-	//is used.
+	// A string that should be inserted into a document when selecting
+	// this completion. When `falsy` the {@link CompletionItem.label label}
+	// is used.
 	//
-	//The `insertText` is subject to interpretation by the client side.
-	//Some tools might not take the string literally. For example
-	//VS Code when code complete is requested in this example
-	//`con<cursor position>` and a completion item with an `insertText` of
-	//`console` is provided it will only insert `sole`. Therefore it is
-	//recommended to use `textEdit` instead since it avoids additional client
-	//side interpretation.
+	// The `insertText` is subject to interpretation by the client side.
+	// Some tools might not take the string literally. For example
+	// VS Code when code complete is requested in this example
+	// `con<cursor position>` and a completion item with an `insertText` of
+	// `console` is provided it will only insert `sole`. Therefore it is
+	// recommended to use `textEdit` instead since it avoids additional client
+	// side interpretation.
 	InsertText string `json:"insertText,omitempty"`
-	//The format of the insert text. The format applies to both the
-	//`insertText` property and the `newText` property of a provided
-	//`textEdit`. If omitted defaults to `InsertTextFormat.PlainText`.
+	// The format of the insert text. The format applies to both the
+	// `insertText` property and the `newText` property of a provided
+	// `textEdit`. If omitted defaults to `InsertTextFormat.PlainText`.
 	//
-	//Please note that the insertTextFormat doesn't apply to
-	//`additionalTextEdits`.
+	// Please note that the insertTextFormat doesn't apply to
+	// `additionalTextEdits`.
 	InsertTextFormat InsertTextFormat `json:"insertTextFormat,omitempty"`
-	//How whitespace and indentation is handled during completion
-	//item insertion. If not provided the clients default value depends on
-	//the `textDocument.completion.insertTextMode` client capability.
+	// How whitespace and indentation is handled during completion
+	// item insertion. If not provided the clients default value depends on
+	// the `textDocument.completion.insertTextMode` client capability.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	InsertTextMode InsertTextMode `json:"insertTextMode,omitempty"`
-	//An {@link TextEdit edit} which is applied to a document when selecting
-	//this completion. When an edit is provided the value of
-	//{@link CompletionItem.insertText insertText} is ignored.
+	// An {@link TextEdit edit} which is applied to a document when selecting
+	// this completion. When an edit is provided the value of
+	// {@link CompletionItem.insertText insertText} is ignored.
 	//
-	//Most editors support two different operations when accepting a completion
-	//item. One is to insert a completion text and the other is to replace an
-	//existing text with a completion text. Since this can usually not be
-	//predetermined by a server it can report both ranges. Clients need to
-	//signal support for `InsertReplaceEdits` via the
-	//`textDocument.completion.insertReplaceSupport` client capability
-	//property.
+	// Most editors support two different operations when accepting a completion
+	// item. One is to insert a completion text and the other is to replace an
+	// existing text with a completion text. Since this can usually not be
+	// predetermined by a server it can report both ranges. Clients need to
+	// signal support for `InsertReplaceEdits` via the
+	// `textDocument.completion.insertReplaceSupport` client capability
+	// property.
 	//
-	//*Note 1:* The text edit's range as well as both ranges from an insert
-	//replace edit must be a [single line] and they must contain the position
-	//at which completion has been requested.
-	//*Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range
-	//must be a prefix of the edit's replace range, that means it must be
-	//contained and starting at the same position.
+	// *Note 1:* The text edit's range as well as both ranges from an insert
+	// replace edit must be a [single line] and they must contain the position
+	// at which completion has been requested.
+	// *Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range
+	// must be a prefix of the edit's replace range, that means it must be
+	// contained and starting at the same position.
 	//
-	//@since 3.16.0 additional type `InsertReplaceEdit`
+	// @since 3.16.0 additional type `InsertReplaceEdit`
 	TextEdit *TextEdit `json:"textEdit,omitempty"`
-	//The edit text used if the completion item is part of a CompletionList and
-	//CompletionList defines an item default for the text edit range.
+	// The edit text used if the completion item is part of a CompletionList and
+	// CompletionList defines an item default for the text edit range.
 	//
-	//Clients will only honor this property if they opt into completion list
-	//item defaults using the capability `completionList.itemDefaults`.
+	// Clients will only honor this property if they opt into completion list
+	// item defaults using the capability `completionList.itemDefaults`.
 	//
-	//If not provided and a list's default range is provided the label
-	//property is used as a text.
+	// If not provided and a list's default range is provided the label
+	// property is used as a text.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	TextEditText string `json:"textEditText,omitempty"`
-	//An optional array of additional {@link TextEdit text edits} that are applied when
-	//selecting this completion. Edits must not overlap (including the same insert position)
-	//with the main {@link CompletionItem.textEdit edit} nor with themselves.
+	// An optional array of additional {@link TextEdit text edits} that are applied when
+	// selecting this completion. Edits must not overlap (including the same insert position)
+	// with the main {@link CompletionItem.textEdit edit} nor with themselves.
 	//
-	//Additional text edits should be used to change text unrelated to the current cursor position
-	//(for example adding an import statement at the top of the file if the completion item will
-	//insert an unqualified type).
+	// Additional text edits should be used to change text unrelated to the current cursor position
+	// (for example adding an import statement at the top of the file if the completion item will
+	// insert an unqualified type).
 	AdditionalTextEdits []TextEdit `json:"additionalTextEdits,omitempty"`
-	//An optional set of characters that when pressed while this completion is active will accept it first and
-	//then type that character. *Note* that all commit characters should have `length=1` and that superfluous
-	//characters will be ignored.
+	// An optional set of characters that when pressed while this completion is active will accept it first and
+	// then type that character. *Note* that all commit characters should have `length=1` and that superfluous
+	// characters will be ignored.
 	CommitCharacters []string `json:"commitCharacters,omitempty"`
-	//An optional {@link Command command} that is executed *after* inserting this completion. *Note* that
-	//additional modifications to the current document should be described with the
-	//{@link CompletionItem.additionalTextEdits additionalTextEdits}-property.
+	// An optional {@link Command command} that is executed *after* inserting this completion. *Note* that
+	// additional modifications to the current document should be described with the
+	// {@link CompletionItem.additionalTextEdits additionalTextEdits}-property.
 	Command *Command `json:"command,omitempty"`
-	//A data entry field that is preserved on a completion item between a
-	//{@link CompletionRequest} and a {@link CompletionResolveRequest}.
+	// A data entry field that is preserved on a completion item between a
+	// {@link CompletionRequest} and a {@link CompletionResolveRequest}.
 	Data interface{} `json:"data,omitempty"`
 }
 
 // The kind of a completion entry.
-type CompletionItemKind uint32 // line 13133
+type CompletionItemKind uint32 // line 13134
 // Additional details for a completion item label.
 //
 // @since 3.17.0
-type CompletionItemLabelDetails struct { // line 8650
-	//An optional string which is rendered less prominently directly after {@link CompletionItem.label label},
-	//without any spacing. Should be used for function signatures and type annotations.
+type CompletionItemLabelDetails struct { // line 8651
+	// An optional string which is rendered less prominently directly after {@link CompletionItem.label label},
+	// without any spacing. Should be used for function signatures and type annotations.
 	Detail string `json:"detail,omitempty"`
-	//An optional string which is rendered less prominently after {@link CompletionItem.detail}. Should be used
-	//for fully qualified names and file paths.
+	// An optional string which is rendered less prominently after {@link CompletionItem.detail}. Should be used
+	// for fully qualified names and file paths.
 	Description string `json:"description,omitempty"`
 }
 
@@ -645,68 +646,68 @@
 // item.
 //
 // @since 3.15.0
-type CompletionItemTag uint32 // line 13243
+type CompletionItemTag uint32 // line 13244
 // Represents a collection of {@link CompletionItem completion items} to be presented
 // in the editor.
-type CompletionList struct { // line 4736
-	//This list it not complete. Further typing results in recomputing this list.
+type CompletionList struct { // line 4737
+	// This list it not complete. Further typing results in recomputing this list.
 	//
-	//Recomputed lists have all their items replaced (not appended) in the
-	//incomplete completion sessions.
+	// Recomputed lists have all their items replaced (not appended) in the
+	// incomplete completion sessions.
 	IsIncomplete bool `json:"isIncomplete"`
-	//In many cases the items of an actual completion result share the same
-	//value for properties like `commitCharacters` or the range of a text
-	//edit. A completion list can therefore define item defaults which will
-	//be used if a completion item itself doesn't specify the value.
+	// In many cases the items of an actual completion result share the same
+	// value for properties like `commitCharacters` or the range of a text
+	// edit. A completion list can therefore define item defaults which will
+	// be used if a completion item itself doesn't specify the value.
 	//
-	//If a completion list specifies a default value and a completion item
-	//also specifies a corresponding value the one from the item is used.
+	// If a completion list specifies a default value and a completion item
+	// also specifies a corresponding value the one from the item is used.
 	//
-	//Servers are only allowed to return default values if the client
-	//signals support for this via the `completionList.itemDefaults`
-	//capability.
+	// Servers are only allowed to return default values if the client
+	// signals support for this via the `completionList.itemDefaults`
+	// capability.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	ItemDefaults *PItemDefaultsMsg_textDocument_completion `json:"itemDefaults,omitempty"`
 	// The completion items.
 	Items []CompletionItem `json:"items"`
 }
 
 // Completion options.
-type CompletionOptions struct { // line 8706
-	//Most tools trigger completion request automatically without explicitly requesting
-	//it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
-	//starts to type an identifier. For example if the user types `c` in a JavaScript file
-	//code complete will automatically pop up present `console` besides others as a
-	//completion item. Characters that make up identifiers don't need to be listed here.
+type CompletionOptions struct { // line 8707
+	// Most tools trigger completion request automatically without explicitly requesting
+	// it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
+	// starts to type an identifier. For example if the user types `c` in a JavaScript file
+	// code complete will automatically pop up present `console` besides others as a
+	// completion item. Characters that make up identifiers don't need to be listed here.
 	//
-	//If code complete should automatically be trigger on characters not being valid inside
-	//an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
+	// If code complete should automatically be trigger on characters not being valid inside
+	// an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
 	TriggerCharacters []string `json:"triggerCharacters,omitempty"`
-	//The list of all possible characters that commit a completion. This field can be used
-	//if clients don't support individual commit characters per completion item. See
-	//`ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
+	// The list of all possible characters that commit a completion. This field can be used
+	// if clients don't support individual commit characters per completion item. See
+	// `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
 	//
-	//If a server provides both `allCommitCharacters` and commit characters on an individual
-	//completion item the ones on the completion item win.
+	// If a server provides both `allCommitCharacters` and commit characters on an individual
+	// completion item the ones on the completion item win.
 	//
-	//@since 3.2.0
+	// @since 3.2.0
 	AllCommitCharacters []string `json:"allCommitCharacters,omitempty"`
-	//The server provides support to resolve additional
-	//information for a completion item.
+	// The server provides support to resolve additional
+	// information for a completion item.
 	ResolveProvider bool `json:"resolveProvider,omitempty"`
-	//The server supports the following `CompletionItem` specific
-	//capabilities.
+	// The server supports the following `CompletionItem` specific
+	// capabilities.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	CompletionItem *PCompletionItemPCompletionProvider `json:"completionItem,omitempty"`
 	WorkDoneProgressOptions
 }
 
 // Completion parameters
-type CompletionParams struct { // line 4496
-	//The completion context. This is only available it the client specifies
-	//to send this using the client capability `textDocument.completion.contextSupport === true`
+type CompletionParams struct { // line 4497
+	// The completion context. This is only available it the client specifies
+	// to send this using the client capability `textDocument.completion.contextSupport === true`
 	Context CompletionContext `json:"context,omitempty"`
 	TextDocumentPositionParams
 	WorkDoneProgressParams
@@ -714,14 +715,14 @@
 }
 
 // Registration options for a {@link CompletionRequest}.
-type CompletionRegistrationOptions struct { // line 4853
+type CompletionRegistrationOptions struct { // line 4854
 	TextDocumentRegistrationOptions
 	CompletionOptions
 }
 
 // How a completion was triggered
-type CompletionTriggerKind uint32 // line 13554
-type ConfigurationItem struct {   // line 6395
+type CompletionTriggerKind uint32 // line 13555
+type ConfigurationItem struct {   // line 6396
 	// The scope to get the configuration section for.
 	ScopeURI string `json:"scopeUri,omitempty"`
 	// The configuration section asked for.
@@ -729,12 +730,12 @@
 }
 
 // The parameters of a configuration request.
-type ConfigurationParams struct { // line 2198
+type ConfigurationParams struct { // line 2199
 	Items []ConfigurationItem `json:"items"`
 }
 
 // Create file operation.
-type CreateFile struct { // line 6711
+type CreateFile struct { // line 6712
 	// A create
 	Kind string `json:"kind"`
 	// The resource to create.
@@ -745,7 +746,7 @@
 }
 
 // Options to create a file.
-type CreateFileOptions struct { // line 9416
+type CreateFileOptions struct { // line 9417
 	// Overwrite existing file. Overwrite wins over `ignoreIfExists`
 	Overwrite bool `json:"overwrite,omitempty"`
 	// Ignore if exists.
@@ -756,18 +757,18 @@
 // files.
 //
 // @since 3.16.0
-type CreateFilesParams struct { // line 3174
+type CreateFilesParams struct { // line 3175
 	// An array of all files/folders created in this operation.
 	Files []FileCreate `json:"files"`
 }
 
 // The declaration of a symbol representation as one or many {@link Location locations}.
-type Declaration = []Location // (alias) line 13832
+type Declaration = []Location // (alias) line 13833
 // @since 3.14.0
-type DeclarationClientCapabilities struct { // line 11508
-	//Whether declaration supports dynamic registration. If this is set to `true`
-	//the client supports the new `DeclarationRegistrationOptions` return value
-	//for the corresponding server capability as well.
+type DeclarationClientCapabilities struct { // line 11509
+	// Whether declaration supports dynamic registration. If this is set to `true`
+	// the client supports the new `DeclarationRegistrationOptions` return value
+	// for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 	// The client supports additional metadata in the form of declaration links.
 	LinkSupport bool `json:"linkSupport,omitempty"`
@@ -780,16 +781,16 @@
 //
 // Servers should prefer returning `DeclarationLink` over `Declaration` if supported
 // by the client.
-type DeclarationLink = LocationLink // (alias) line 13852
-type DeclarationOptions struct {    // line 6490
+type DeclarationLink = LocationLink // (alias) line 13853
+type DeclarationOptions struct {    // line 6491
 	WorkDoneProgressOptions
 }
-type DeclarationParams struct { // line 2493
+type DeclarationParams struct { // line 2494
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 	PartialResultParams
 }
-type DeclarationRegistrationOptions struct { // line 2513
+type DeclarationRegistrationOptions struct { // line 2514
 	DeclarationOptions
 	TextDocumentRegistrationOptions
 	StaticRegistrationOptions
@@ -801,14 +802,14 @@
 //
 // Servers should prefer returning `DefinitionLink` over `Definition` if supported
 // by the client.
-type Definition = Or_Definition // (alias) line 13750
+type Definition = Or_Definition // (alias) line 13751
 // Client Capabilities for a {@link DefinitionRequest}.
-type DefinitionClientCapabilities struct { // line 11533
+type DefinitionClientCapabilities struct { // line 11534
 	// Whether definition supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//The client supports additional metadata in the form of definition links.
+	// The client supports additional metadata in the form of definition links.
 	//
-	//@since 3.14.0
+	// @since 3.14.0
 	LinkSupport bool `json:"linkSupport,omitempty"`
 }
 
@@ -816,27 +817,27 @@
 //
 // Provides additional metadata over normal {@link Location location} definitions, including the range of
 // the defining symbol
-type DefinitionLink = LocationLink // (alias) line 13770
+type DefinitionLink = LocationLink // (alias) line 13771
 // Server Capabilities for a {@link DefinitionRequest}.
-type DefinitionOptions struct { // line 8918
+type DefinitionOptions struct { // line 8919
 	WorkDoneProgressOptions
 }
 
 // Parameters for a {@link DefinitionRequest}.
-type DefinitionParams struct { // line 5017
+type DefinitionParams struct { // line 5018
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 	PartialResultParams
 }
 
 // Registration options for a {@link DefinitionRequest}.
-type DefinitionRegistrationOptions struct { // line 5038
+type DefinitionRegistrationOptions struct { // line 5039
 	TextDocumentRegistrationOptions
 	DefinitionOptions
 }
 
 // Delete file operation
-type DeleteFile struct { // line 6793
+type DeleteFile struct { // line 6794
 	// A delete
 	Kind string `json:"kind"`
 	// The file to delete.
@@ -847,7 +848,7 @@
 }
 
 // Delete file options
-type DeleteFileOptions struct { // line 9464
+type DeleteFileOptions struct { // line 9465
 	// Delete the content recursively if a folder is denoted.
 	Recursive bool `json:"recursive,omitempty"`
 	// Ignore the operation if the file doesn't exist.
@@ -858,53 +859,53 @@
 // files.
 //
 // @since 3.16.0
-type DeleteFilesParams struct { // line 3299
+type DeleteFilesParams struct { // line 3300
 	// An array of all files/folders deleted in this operation.
 	Files []FileDelete `json:"files"`
 }
 
 // Represents a diagnostic, such as a compiler error or warning. Diagnostic objects
 // are only valid in the scope of a resource.
-type Diagnostic struct { // line 8524
+type Diagnostic struct { // line 8525
 	// The range at which the message applies
 	Range Range `json:"range"`
-	//The diagnostic's severity. Can be omitted. If omitted it is up to the
-	//client to interpret diagnostics as error, warning, info or hint.
+	// The diagnostic's severity. Can be omitted. If omitted it is up to the
+	// client to interpret diagnostics as error, warning, info or hint.
 	Severity DiagnosticSeverity `json:"severity,omitempty"`
 	// The diagnostic's code, which usually appear in the user interface.
 	Code interface{} `json:"code,omitempty"`
-	//An optional property to describe the error code.
-	//Requires the code field (above) to be present/not null.
+	// An optional property to describe the error code.
+	// Requires the code field (above) to be present/not null.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	CodeDescription *CodeDescription `json:"codeDescription,omitempty"`
-	//A human-readable string describing the source of this
-	//diagnostic, e.g. 'typescript' or 'super lint'. It usually
-	//appears in the user interface.
+	// A human-readable string describing the source of this
+	// diagnostic, e.g. 'typescript' or 'super lint'. It usually
+	// appears in the user interface.
 	Source string `json:"source,omitempty"`
 	// The diagnostic's message. It usually appears in the user interface
 	Message string `json:"message"`
-	//Additional metadata about the diagnostic.
+	// Additional metadata about the diagnostic.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	Tags []DiagnosticTag `json:"tags,omitempty"`
-	//An array of related diagnostic information, e.g. when symbol-names within
-	//a scope collide all definitions can be marked via this property.
+	// An array of related diagnostic information, e.g. when symbol-names within
+	// a scope collide all definitions can be marked via this property.
 	RelatedInformation []DiagnosticRelatedInformation `json:"relatedInformation,omitempty"`
-	//A data entry field that is preserved between a `textDocument/publishDiagnostics`
-	//notification and `textDocument/codeAction` request.
+	// A data entry field that is preserved between a `textDocument/publishDiagnostics`
+	// notification and `textDocument/codeAction` request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Data interface{} `json:"data,omitempty"`
 }
 
 // Client capabilities specific to diagnostic pull requests.
 //
 // @since 3.17.0
-type DiagnosticClientCapabilities struct { // line 12407
-	//Whether implementation supports dynamic registration. If this is set to `true`
-	//the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
-	//return value for the corresponding server capability as well.
+type DiagnosticClientCapabilities struct { // line 12408
+	// Whether implementation supports dynamic registration. If this is set to `true`
+	// the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+	// return value for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 	// Whether the clients supports related documents for document diagnostic pulls.
 	RelatedDocumentSupport bool `json:"relatedDocumentSupport,omitempty"`
@@ -913,14 +914,14 @@
 // Diagnostic options.
 //
 // @since 3.17.0
-type DiagnosticOptions struct { // line 7292
-	//An optional identifier under which the diagnostics are
-	//managed by the client.
+type DiagnosticOptions struct { // line 7293
+	// An optional identifier under which the diagnostics are
+	// managed by the client.
 	Identifier string `json:"identifier,omitempty"`
-	//Whether the language has inter file dependencies meaning that
-	//editing code in one file can result in a different diagnostic
-	//set in another file. Inter file dependencies are common for
-	//most programming languages and typically uncommon for linters.
+	// Whether the language has inter file dependencies meaning that
+	// editing code in one file can result in a different diagnostic
+	// set in another file. Inter file dependencies are common for
+	// most programming languages and typically uncommon for linters.
 	InterFileDependencies bool `json:"interFileDependencies"`
 	// The server provides support for workspace diagnostics as well.
 	WorkspaceDiagnostics bool `json:"workspaceDiagnostics"`
@@ -930,7 +931,7 @@
 // Diagnostic registration options.
 //
 // @since 3.17.0
-type DiagnosticRegistrationOptions struct { // line 3854
+type DiagnosticRegistrationOptions struct { // line 3855
 	TextDocumentRegistrationOptions
 	DiagnosticOptions
 	StaticRegistrationOptions
@@ -939,7 +940,7 @@
 // Represents a related message and source code location for a diagnostic. This should be
 // used to point to code locations that cause or related to a diagnostics, e.g when duplicating
 // a symbol in a scope.
-type DiagnosticRelatedInformation struct { // line 10040
+type DiagnosticRelatedInformation struct { // line 10041
 	// The location of this related diagnostic information.
 	Location Location `json:"location"`
 	// The message of this related diagnostic information.
@@ -949,115 +950,115 @@
 // Cancellation data returned from a diagnostic request.
 //
 // @since 3.17.0
-type DiagnosticServerCancellationData struct { // line 3840
+type DiagnosticServerCancellationData struct { // line 3841
 	RetriggerRequest bool `json:"retriggerRequest"`
 }
 
 // The diagnostic's severity.
-type DiagnosticSeverity uint32 // line 13503
+type DiagnosticSeverity uint32 // line 13504
 // The diagnostic tags.
 //
 // @since 3.15.0
-type DiagnosticTag uint32 // line 13533
+type DiagnosticTag uint32 // line 13534
 // Workspace client capabilities specific to diagnostic pull requests.
 //
 // @since 3.17.0
-type DiagnosticWorkspaceClientCapabilities struct { // line 11110
-	//Whether the client implementation supports a refresh request sent from
-	//the server to the client.
+type DiagnosticWorkspaceClientCapabilities struct { // line 11111
+	// Whether the client implementation supports a refresh request sent from
+	// the server to the client.
 	//
-	//Note that this event is global and will force the client to refresh all
-	//pulled diagnostics currently shown. It should be used with absolute care and
-	//is useful for situation where a server for example detects a project wide
-	//change that requires such a calculation.
+	// Note that this event is global and will force the client to refresh all
+	// pulled diagnostics currently shown. It should be used with absolute care and
+	// is useful for situation where a server for example detects a project wide
+	// change that requires such a calculation.
 	RefreshSupport bool `json:"refreshSupport,omitempty"`
 }
-type DidChangeConfigurationClientCapabilities struct { // line 10836
+type DidChangeConfigurationClientCapabilities struct { // line 10837
 	// Did change configuration notification supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // The parameters of a change configuration notification.
-type DidChangeConfigurationParams struct { // line 4143
+type DidChangeConfigurationParams struct { // line 4144
 	// The actual changed settings
 	Settings interface{} `json:"settings"`
 }
-type DidChangeConfigurationRegistrationOptions struct { // line 4157
+type DidChangeConfigurationRegistrationOptions struct { // line 4158
 	Section *OrPSection_workspace_didChangeConfiguration `json:"section,omitempty"`
 }
 
 // The params sent in a change notebook document notification.
 //
 // @since 3.17.0
-type DidChangeNotebookDocumentParams struct { // line 3973
-	//The notebook document that did change. The version number points
-	//to the version after all provided changes have been applied. If
-	//only the text document content of a cell changes the notebook version
-	//doesn't necessarily have to change.
+type DidChangeNotebookDocumentParams struct { // line 3974
+	// The notebook document that did change. The version number points
+	// to the version after all provided changes have been applied. If
+	// only the text document content of a cell changes the notebook version
+	// doesn't necessarily have to change.
 	NotebookDocument VersionedNotebookDocumentIdentifier `json:"notebookDocument"`
-	//The actual changes to the notebook document.
+	// The actual changes to the notebook document.
 	//
-	//The changes describe single state changes to the notebook document.
-	//So if there are two changes c1 (at array index 0) and c2 (at array
-	//index 1) for a notebook in state S then c1 moves the notebook from
-	//S to S' and c2 from S' to S''. So c1 is computed on the state S and
-	//c2 is computed on the state S'.
+	// The changes describe single state changes to the notebook document.
+	// So if there are two changes c1 (at array index 0) and c2 (at array
+	// index 1) for a notebook in state S then c1 moves the notebook from
+	// S to S' and c2 from S' to S''. So c1 is computed on the state S and
+	// c2 is computed on the state S'.
 	//
-	//To mirror the content of a notebook using change events use the following approach:
+	// To mirror the content of a notebook using change events use the following approach:
 	//
 	//  - start with the same initial content
 	//  - apply the 'notebookDocument/didChange' notifications in the order you receive them.
 	//  - apply the `NotebookChangeEvent`s in a single notification in the order
-	//  you receive them.
+	//   you receive them.
 	Change NotebookDocumentChangeEvent `json:"change"`
 }
 
 // The change text document notification's parameters.
-type DidChangeTextDocumentParams struct { // line 4286
-	//The document that did change. The version number points
-	//to the version after all provided content changes have
-	//been applied.
+type DidChangeTextDocumentParams struct { // line 4287
+	// The document that did change. The version number points
+	// to the version after all provided content changes have
+	// been applied.
 	TextDocument VersionedTextDocumentIdentifier `json:"textDocument"`
-	//The actual content changes. The content changes describe single state changes
-	//to the document. So if there are two content changes c1 (at array index 0) and
-	//c2 (at array index 1) for a document in state S then c1 moves the document from
-	//S to S' and c2 from S' to S''. So c1 is computed on the state S and c2 is computed
-	//on the state S'.
+	// The actual content changes. The content changes describe single state changes
+	// to the document. So if there are two content changes c1 (at array index 0) and
+	// c2 (at array index 1) for a document in state S then c1 moves the document from
+	// S to S' and c2 from S' to S''. So c1 is computed on the state S and c2 is computed
+	// on the state S'.
 	//
-	//To mirror the content of a document using change events use the following approach:
+	// To mirror the content of a document using change events use the following approach:
 	//
 	//  - start with the same initial content
 	//  - apply the 'textDocument/didChange' notifications in the order you receive them.
 	//  - apply the `TextDocumentContentChangeEvent`s in a single notification in the order
-	//  you receive them.
+	//   you receive them.
 	ContentChanges []TextDocumentContentChangeEvent `json:"contentChanges"`
 }
-type DidChangeWatchedFilesClientCapabilities struct { // line 10850
-	//Did change watched files notification supports dynamic registration. Please note
-	//that the current protocol doesn't support static configuration for file changes
-	//from the server side.
+type DidChangeWatchedFilesClientCapabilities struct { // line 10851
+	// Did change watched files notification supports dynamic registration. Please note
+	// that the current protocol doesn't support static configuration for file changes
+	// from the server side.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//Whether the client has support for {@link  RelativePattern relative pattern}
-	//or not.
+	// Whether the client has support for {@link  RelativePattern relative pattern}
+	// or not.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	RelativePatternSupport bool `json:"relativePatternSupport,omitempty"`
 }
 
 // The watched files change notification's parameters.
-type DidChangeWatchedFilesParams struct { // line 4427
+type DidChangeWatchedFilesParams struct { // line 4428
 	// The actual file events.
 	Changes []FileEvent `json:"changes"`
 }
 
 // Describe options to be used when registered for text document change events.
-type DidChangeWatchedFilesRegistrationOptions struct { // line 4444
+type DidChangeWatchedFilesRegistrationOptions struct { // line 4445
 	// The watchers to register.
 	Watchers []FileSystemWatcher `json:"watchers"`
 }
 
 // The parameters of a `workspace/didChangeWorkspaceFolders` notification.
-type DidChangeWorkspaceFoldersParams struct { // line 2184
+type DidChangeWorkspaceFoldersParams struct { // line 2185
 	// The actual workspace folder change event.
 	Event WorkspaceFoldersChangeEvent `json:"event"`
 }
@@ -1065,16 +1066,16 @@
 // The params sent in a close notebook document notification.
 //
 // @since 3.17.0
-type DidCloseNotebookDocumentParams struct { // line 4011
+type DidCloseNotebookDocumentParams struct { // line 4012
 	// The notebook document that got closed.
 	NotebookDocument NotebookDocumentIdentifier `json:"notebookDocument"`
-	//The text documents that represent the content
-	//of a notebook cell that got closed.
+	// The text documents that represent the content
+	// of a notebook cell that got closed.
 	CellTextDocuments []TextDocumentIdentifier `json:"cellTextDocuments"`
 }
 
 // The parameters sent in a close text document notification
-type DidCloseTextDocumentParams struct { // line 4331
+type DidCloseTextDocumentParams struct { // line 4332
 	// The document that was closed.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 }
@@ -1082,16 +1083,16 @@
 // The params sent in an open notebook document notification.
 //
 // @since 3.17.0
-type DidOpenNotebookDocumentParams struct { // line 3947
+type DidOpenNotebookDocumentParams struct { // line 3948
 	// The notebook document that got opened.
 	NotebookDocument NotebookDocument `json:"notebookDocument"`
-	//The text documents that represent the content
-	//of a notebook cell.
+	// The text documents that represent the content
+	// of a notebook cell.
 	CellTextDocuments []TextDocumentItem `json:"cellTextDocuments"`
 }
 
 // The parameters sent in an open text document notification
-type DidOpenTextDocumentParams struct { // line 4272
+type DidOpenTextDocumentParams struct { // line 4273
 	// The document that was opened.
 	TextDocument TextDocumentItem `json:"textDocument"`
 }
@@ -1099,37 +1100,37 @@
 // The params sent in a save notebook document notification.
 //
 // @since 3.17.0
-type DidSaveNotebookDocumentParams struct { // line 3996
+type DidSaveNotebookDocumentParams struct { // line 3997
 	// The notebook document that got saved.
 	NotebookDocument NotebookDocumentIdentifier `json:"notebookDocument"`
 }
 
 // The parameters sent in a save text document notification
-type DidSaveTextDocumentParams struct { // line 4345
+type DidSaveTextDocumentParams struct { // line 4346
 	// The document that was saved.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
-	//Optional the content when saved. Depends on the includeText value
-	//when the save notification was requested.
+	// Optional the content when saved. Depends on the includeText value
+	// when the save notification was requested.
 	Text *string `json:"text,omitempty"`
 }
-type DocumentColorClientCapabilities struct { // line 11874
-	//Whether implementation supports dynamic registration. If this is set to `true`
-	//the client supports the new `DocumentColorRegistrationOptions` return value
-	//for the corresponding server capability as well.
+type DocumentColorClientCapabilities struct { // line 11875
+	// Whether implementation supports dynamic registration. If this is set to `true`
+	// the client supports the new `DocumentColorRegistrationOptions` return value
+	// for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
-type DocumentColorOptions struct { // line 6470
+type DocumentColorOptions struct { // line 6471
 	WorkDoneProgressOptions
 }
 
 // Parameters for a {@link DocumentColorRequest}.
-type DocumentColorParams struct { // line 2214
+type DocumentColorParams struct { // line 2215
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	WorkDoneProgressParams
 	PartialResultParams
 }
-type DocumentColorRegistrationOptions struct { // line 2260
+type DocumentColorRegistrationOptions struct { // line 2261
 	TextDocumentRegistrationOptions
 	DocumentColorOptions
 	StaticRegistrationOptions
@@ -1138,7 +1139,7 @@
 // Parameters of the document diagnostic request.
 //
 // @since 3.17.0
-type DocumentDiagnosticParams struct { // line 3767
+type DocumentDiagnosticParams struct { // line 3768
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The additional identifier  provided during registration.
@@ -1152,11 +1153,11 @@
 // The document diagnostic report kinds.
 //
 // @since 3.17.0
-type DocumentDiagnosticReportKind string // line 12721
+type DocumentDiagnosticReportKind string // line 12722
 // A partial result for a document diagnostic report.
 //
 // @since 3.17.0
-type DocumentDiagnosticReportPartialResult struct { // line 3810
+type DocumentDiagnosticReportPartialResult struct { // line 3811
 	RelatedDocuments map[DocumentURI]interface{} `json:"relatedDocuments"`
 }
 
@@ -1164,20 +1165,20 @@
 // a notebook cell document.
 //
 // @since 3.17.0 - proposed support for NotebookCellTextDocumentFilter.
-type DocumentFilter = Or_DocumentFilter // (alias) line 14092
+type DocumentFilter = Or_DocumentFilter // (alias) line 14093
 // Client capabilities of a {@link DocumentFormattingRequest}.
-type DocumentFormattingClientCapabilities struct { // line 11888
+type DocumentFormattingClientCapabilities struct { // line 11889
 	// Whether formatting supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // Provider options for a {@link DocumentFormattingRequest}.
-type DocumentFormattingOptions struct { // line 9220
+type DocumentFormattingOptions struct { // line 9221
 	WorkDoneProgressOptions
 }
 
 // The parameters of a {@link DocumentFormattingRequest}.
-type DocumentFormattingParams struct { // line 5726
+type DocumentFormattingParams struct { // line 5727
 	// The document to format.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The format options.
@@ -1186,7 +1187,7 @@
 }
 
 // Registration options for a {@link DocumentFormattingRequest}.
-type DocumentFormattingRegistrationOptions struct { // line 5754
+type DocumentFormattingRegistrationOptions struct { // line 5755
 	TextDocumentRegistrationOptions
 	DocumentFormattingOptions
 }
@@ -1194,7 +1195,7 @@
 // A document highlight is a range inside a text document which deserves
 // special attention. Usually a document highlight is visualized by changing
 // the background color of its range.
-type DocumentHighlight struct { // line 5118
+type DocumentHighlight struct { // line 5119
 	// The range this highlight applies to.
 	Range Range `json:"range"`
 	// The highlight kind, default is {@link DocumentHighlightKind.Text text}.
@@ -1202,70 +1203,70 @@
 }
 
 // Client Capabilities for a {@link DocumentHighlightRequest}.
-type DocumentHighlightClientCapabilities struct { // line 11623
+type DocumentHighlightClientCapabilities struct { // line 11624
 	// Whether document highlight supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // A document highlight kind.
-type DocumentHighlightKind uint32 // line 13300
+type DocumentHighlightKind uint32 // line 13301
 // Provider options for a {@link DocumentHighlightRequest}.
-type DocumentHighlightOptions struct { // line 8954
+type DocumentHighlightOptions struct { // line 8955
 	WorkDoneProgressOptions
 }
 
 // Parameters for a {@link DocumentHighlightRequest}.
-type DocumentHighlightParams struct { // line 5097
+type DocumentHighlightParams struct { // line 5098
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 	PartialResultParams
 }
 
 // Registration options for a {@link DocumentHighlightRequest}.
-type DocumentHighlightRegistrationOptions struct { // line 5141
+type DocumentHighlightRegistrationOptions struct { // line 5142
 	TextDocumentRegistrationOptions
 	DocumentHighlightOptions
 }
 
 // A document link is a range in a text document that links to an internal or external resource, like another
 // text document or a web site.
-type DocumentLink struct { // line 5669
+type DocumentLink struct { // line 5670
 	// The range this link applies to.
 	Range Range `json:"range"`
 	// The uri this link points to. If missing a resolve request is sent later.
 	Target string `json:"target,omitempty"`
-	//The tooltip text when you hover over this link.
+	// The tooltip text when you hover over this link.
 	//
-	//If a tooltip is provided, is will be displayed in a string that includes instructions on how to
-	//trigger the link, such as `{0} (ctrl + click)`. The specific instructions vary depending on OS,
-	//user settings, and localization.
+	// If a tooltip is provided, is will be displayed in a string that includes instructions on how to
+	// trigger the link, such as `{0} (ctrl + click)`. The specific instructions vary depending on OS,
+	// user settings, and localization.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	Tooltip string `json:"tooltip,omitempty"`
-	//A data entry field that is preserved on a document link between a
-	//DocumentLinkRequest and a DocumentLinkResolveRequest.
+	// A data entry field that is preserved on a document link between a
+	// DocumentLinkRequest and a DocumentLinkResolveRequest.
 	Data interface{} `json:"data,omitempty"`
 }
 
 // The client capabilities of a {@link DocumentLinkRequest}.
-type DocumentLinkClientCapabilities struct { // line 11849
+type DocumentLinkClientCapabilities struct { // line 11850
 	// Whether document link supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//Whether the client supports the `tooltip` property on `DocumentLink`.
+	// Whether the client supports the `tooltip` property on `DocumentLink`.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	TooltipSupport bool `json:"tooltipSupport,omitempty"`
 }
 
 // Provider options for a {@link DocumentLinkRequest}.
-type DocumentLinkOptions struct { // line 9147
+type DocumentLinkOptions struct { // line 9148
 	// Document links have a resolve provider as well.
 	ResolveProvider bool `json:"resolveProvider,omitempty"`
 	WorkDoneProgressOptions
 }
 
 // The parameters of a {@link DocumentLinkRequest}.
-type DocumentLinkParams struct { // line 5645
+type DocumentLinkParams struct { // line 5646
 	// The document to provide document links for.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	WorkDoneProgressParams
@@ -1273,19 +1274,19 @@
 }
 
 // Registration options for a {@link DocumentLinkRequest}.
-type DocumentLinkRegistrationOptions struct { // line 5711
+type DocumentLinkRegistrationOptions struct { // line 5712
 	TextDocumentRegistrationOptions
 	DocumentLinkOptions
 }
 
 // Client capabilities of a {@link DocumentOnTypeFormattingRequest}.
-type DocumentOnTypeFormattingClientCapabilities struct { // line 11918
+type DocumentOnTypeFormattingClientCapabilities struct { // line 11919
 	// Whether on type formatting supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // Provider options for a {@link DocumentOnTypeFormattingRequest}.
-type DocumentOnTypeFormattingOptions struct { // line 9242
+type DocumentOnTypeFormattingOptions struct { // line 9243
 	// A character on which formatting should be triggered, like `{`.
 	FirstTriggerCharacter string `json:"firstTriggerCharacter"`
 	// More trigger characters.
@@ -1293,41 +1294,41 @@
 }
 
 // The parameters of a {@link DocumentOnTypeFormattingRequest}.
-type DocumentOnTypeFormattingParams struct { // line 5820
+type DocumentOnTypeFormattingParams struct { // line 5821
 	// The document to format.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
-	//The position around which the on type formatting should happen.
-	//This is not necessarily the exact position where the character denoted
-	//by the property `ch` got typed.
+	// The position around which the on type formatting should happen.
+	// This is not necessarily the exact position where the character denoted
+	// by the property `ch` got typed.
 	Position Position `json:"position"`
-	//The character that has been typed that triggered the formatting
-	//on type request. That is not necessarily the last character that
-	//got inserted into the document since the client could auto insert
-	//characters as well (e.g. like automatic brace completion).
+	// The character that has been typed that triggered the formatting
+	// on type request. That is not necessarily the last character that
+	// got inserted into the document since the client could auto insert
+	// characters as well (e.g. like automatic brace completion).
 	Ch string `json:"ch"`
 	// The formatting options.
 	Options FormattingOptions `json:"options"`
 }
 
 // Registration options for a {@link DocumentOnTypeFormattingRequest}.
-type DocumentOnTypeFormattingRegistrationOptions struct { // line 5858
+type DocumentOnTypeFormattingRegistrationOptions struct { // line 5859
 	TextDocumentRegistrationOptions
 	DocumentOnTypeFormattingOptions
 }
 
 // Client capabilities of a {@link DocumentRangeFormattingRequest}.
-type DocumentRangeFormattingClientCapabilities struct { // line 11903
+type DocumentRangeFormattingClientCapabilities struct { // line 11904
 	// Whether range formatting supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // Provider options for a {@link DocumentRangeFormattingRequest}.
-type DocumentRangeFormattingOptions struct { // line 9231
+type DocumentRangeFormattingOptions struct { // line 9232
 	WorkDoneProgressOptions
 }
 
 // The parameters of a {@link DocumentRangeFormattingRequest}.
-type DocumentRangeFormattingParams struct { // line 5769
+type DocumentRangeFormattingParams struct { // line 5770
 	// The document to format.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The range to format
@@ -1338,7 +1339,7 @@
 }
 
 // Registration options for a {@link DocumentRangeFormattingRequest}.
-type DocumentRangeFormattingRegistrationOptions struct { // line 5805
+type DocumentRangeFormattingRegistrationOptions struct { // line 5806
 	TextDocumentRegistrationOptions
 	DocumentRangeFormattingOptions
 }
@@ -1348,72 +1349,72 @@
 // @sample `let sel:DocumentSelector = [{ language: 'typescript' }, { language: 'json', pattern: '**∕tsconfig.json' }]`;
 //
 // The use of a string as a document filter is deprecated @since 3.16.0.
-type DocumentSelector = []DocumentFilter // (alias) line 13947
+type DocumentSelector = []DocumentFilter // (alias) line 13948
 // Represents programming constructs like variables, classes, interfaces etc.
 // that appear in a document. Document symbols can be hierarchical and they
 // have two ranges: one that encloses its definition and one that points to
 // its most interesting range, e.g. the range of an identifier.
-type DocumentSymbol struct { // line 5210
-	//The name of this symbol. Will be displayed in the user interface and therefore must not be
-	//an empty string or a string only consisting of white spaces.
+type DocumentSymbol struct { // line 5211
+	// The name of this symbol. Will be displayed in the user interface and therefore must not be
+	// an empty string or a string only consisting of white spaces.
 	Name string `json:"name"`
 	// More detail for this symbol, e.g the signature of a function.
 	Detail string `json:"detail,omitempty"`
 	// The kind of this symbol.
 	Kind SymbolKind `json:"kind"`
-	//Tags for this document symbol.
+	// Tags for this document symbol.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Tags []SymbolTag `json:"tags,omitempty"`
-	//Indicates if this symbol is deprecated.
+	// Indicates if this symbol is deprecated.
 	//
-	//@deprecated Use tags instead
+	// @deprecated Use tags instead
 	Deprecated bool `json:"deprecated,omitempty"`
-	//The range enclosing this symbol not including leading/trailing whitespace but everything else
-	//like comments. This information is typically used to determine if the clients cursor is
-	//inside the symbol to reveal in the symbol in the UI.
+	// The range enclosing this symbol not including leading/trailing whitespace but everything else
+	// like comments. This information is typically used to determine if the clients cursor is
+	// inside the symbol to reveal in the symbol in the UI.
 	Range Range `json:"range"`
-	//The range that should be selected and revealed when this symbol is being picked, e.g the name of a function.
-	//Must be contained by the `range`.
+	// The range that should be selected and revealed when this symbol is being picked, e.g the name of a function.
+	// Must be contained by the `range`.
 	SelectionRange Range `json:"selectionRange"`
 	// Children of this symbol, e.g. properties of a class.
 	Children []DocumentSymbol `json:"children,omitempty"`
 }
 
 // Client Capabilities for a {@link DocumentSymbolRequest}.
-type DocumentSymbolClientCapabilities struct { // line 11638
+type DocumentSymbolClientCapabilities struct { // line 11639
 	// Whether document symbol supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//Specific capabilities for the `SymbolKind` in the
-	//`textDocument/documentSymbol` request.
+	// Specific capabilities for the `SymbolKind` in the
+	// `textDocument/documentSymbol` request.
 	SymbolKind *PSymbolKindPDocumentSymbol `json:"symbolKind,omitempty"`
 	// The client supports hierarchical document symbols.
 	HierarchicalDocumentSymbolSupport bool `json:"hierarchicalDocumentSymbolSupport,omitempty"`
-	//The client supports tags on `SymbolInformation`. Tags are supported on
-	//`DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
-	//Clients supporting tags have to handle unknown tags gracefully.
+	// The client supports tags on `SymbolInformation`. Tags are supported on
+	// `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
+	// Clients supporting tags have to handle unknown tags gracefully.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	TagSupport *PTagSupportPDocumentSymbol `json:"tagSupport,omitempty"`
-	//The client supports an additional label presented in the UI when
-	//registering a document symbol provider.
+	// The client supports an additional label presented in the UI when
+	// registering a document symbol provider.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	LabelSupport bool `json:"labelSupport,omitempty"`
 }
 
 // Provider options for a {@link DocumentSymbolRequest}.
-type DocumentSymbolOptions struct { // line 9009
-	//A human-readable string that is shown when multiple outlines trees
-	//are shown for the same document.
+type DocumentSymbolOptions struct { // line 9010
+	// A human-readable string that is shown when multiple outlines trees
+	// are shown for the same document.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Label string `json:"label,omitempty"`
 	WorkDoneProgressOptions
 }
 
 // Parameters for a {@link DocumentSymbolRequest}.
-type DocumentSymbolParams struct { // line 5156
+type DocumentSymbolParams struct { // line 5157
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	WorkDoneProgressParams
@@ -1421,29 +1422,29 @@
 }
 
 // Registration options for a {@link DocumentSymbolRequest}.
-type DocumentSymbolRegistrationOptions struct { // line 5292
+type DocumentSymbolRegistrationOptions struct { // line 5293
 	TextDocumentRegistrationOptions
 	DocumentSymbolOptions
 }
 type DocumentURI string
 
 // Predefined error codes.
-type ErrorCodes int32 // line 12742
+type ErrorCodes int32 // line 12743
 // The client capabilities of a {@link ExecuteCommandRequest}.
-type ExecuteCommandClientCapabilities struct { // line 10961
+type ExecuteCommandClientCapabilities struct { // line 10962
 	// Execute command supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // The server capabilities of a {@link ExecuteCommandRequest}.
-type ExecuteCommandOptions struct { // line 9290
+type ExecuteCommandOptions struct { // line 9291
 	// The commands to be executed on the server
 	Commands []string `json:"commands"`
 	WorkDoneProgressOptions
 }
 
 // The parameters of a {@link ExecuteCommandRequest}.
-type ExecuteCommandParams struct { // line 5940
+type ExecuteCommandParams struct { // line 5941
 	// The identifier of the actual command handler.
 	Command string `json:"command"`
 	// Arguments that the command should be invoked with.
@@ -1452,67 +1453,67 @@
 }
 
 // Registration options for a {@link ExecuteCommandRequest}.
-type ExecuteCommandRegistrationOptions struct { // line 5972
+type ExecuteCommandRegistrationOptions struct { // line 5973
 	ExecuteCommandOptions
 }
-type ExecutionSummary struct { // line 10161
-	//A strict monotonically increasing value
-	//indicating the execution order of a cell
-	//inside a notebook.
+type ExecutionSummary struct { // line 10162
+	// A strict monotonically increasing value
+	// indicating the execution order of a cell
+	// inside a notebook.
 	ExecutionOrder uint32 `json:"executionOrder"`
-	//Whether the execution was successful or
-	//not if known by the client.
+	// Whether the execution was successful or
+	// not if known by the client.
 	Success bool `json:"success,omitempty"`
 }
 
 // created for Literal (Lit_CodeActionClientCapabilities_codeActionLiteralSupport_codeActionKind)
-type FCodeActionKindPCodeActionLiteralSupport struct { // line 11741
-	//The code action kind values the client supports. When this
-	//property exists the client also guarantees that it will
-	//handle values outside its set gracefully and falls back
-	//to a default value when unknown.
+type FCodeActionKindPCodeActionLiteralSupport struct { // line 11742
+	// The code action kind values the client supports. When this
+	// property exists the client also guarantees that it will
+	// handle values outside its set gracefully and falls back
+	// to a default value when unknown.
 	ValueSet []CodeActionKind `json:"valueSet"`
 }
 
 // created for Literal (Lit_CompletionList_itemDefaults_editRange_Item1)
-type FEditRangePItemDefaults struct { // line 4776
+type FEditRangePItemDefaults struct { // line 4777
 	Insert  Range `json:"insert"`
 	Replace Range `json:"replace"`
 }
 
 // created for Literal (Lit_SemanticTokensClientCapabilities_requests_full_Item1)
-type FFullPRequests struct { // line 12204
-	//The client will send the `textDocument/semanticTokens/full/delta` request if
-	//the server provides a corresponding handler.
+type FFullPRequests struct { // line 12205
+	// The client will send the `textDocument/semanticTokens/full/delta` request if
+	// the server provides a corresponding handler.
 	Delta bool `json:"delta"`
 }
 
 // created for Literal (Lit_CompletionClientCapabilities_completionItem_insertTextModeSupport)
-type FInsertTextModeSupportPCompletionItem struct { // line 11294
+type FInsertTextModeSupportPCompletionItem struct { // line 11295
 	ValueSet []InsertTextMode `json:"valueSet"`
 }
 
 // created for Literal (Lit_SignatureHelpClientCapabilities_signatureInformation_parameterInformation)
-type FParameterInformationPSignatureInformation struct { // line 11460
-	//The client supports processing label offsets instead of a
-	//simple label string.
+type FParameterInformationPSignatureInformation struct { // line 11461
+	// The client supports processing label offsets instead of a
+	// simple label string.
 	//
-	//@since 3.14.0
+	// @since 3.14.0
 	LabelOffsetSupport bool `json:"labelOffsetSupport"`
 }
 
 // created for Literal (Lit_SemanticTokensClientCapabilities_requests_range_Item1)
-type FRangePRequests struct { // line 12184
+type FRangePRequests struct { // line 12185
 }
 
 // created for Literal (Lit_CompletionClientCapabilities_completionItem_resolveSupport)
-type FResolveSupportPCompletionItem struct { // line 11270
+type FResolveSupportPCompletionItem struct { // line 11271
 	// The properties that a client can resolve lazily.
 	Properties []string `json:"properties"`
 }
 
 // created for Literal (Lit_NotebookDocumentChangeEvent_cells_structure)
-type FStructurePCells struct { // line 7486
+type FStructurePCells struct { // line 7487
 	// The change to the cell array.
 	Array NotebookCellArrayChange `json:"array"`
 	// Additional opened cell text documents.
@@ -1522,17 +1523,17 @@
 }
 
 // created for Literal (Lit_CompletionClientCapabilities_completionItem_tagSupport)
-type FTagSupportPCompletionItem struct { // line 11236
+type FTagSupportPCompletionItem struct { // line 11237
 	// The tags supported by the client.
 	ValueSet []CompletionItemTag `json:"valueSet"`
 }
-type FailureHandlingKind string // line 13692
+type FailureHandlingKind string // line 13693
 // The file event type
-type FileChangeType uint32 // line 13453
+type FileChangeType uint32 // line 13454
 // Represents information on a file/folder create.
 //
 // @since 3.16.0
-type FileCreate struct { // line 6661
+type FileCreate struct { // line 6662
 	// A file:// URI for the location of the file/folder being created.
 	URI string `json:"uri"`
 }
@@ -1540,13 +1541,13 @@
 // Represents information on a file/folder delete.
 //
 // @since 3.16.0
-type FileDelete struct { // line 6910
+type FileDelete struct { // line 6911
 	// A file:// URI for the location of the file/folder being deleted.
 	URI string `json:"uri"`
 }
 
 // An event describing a file change.
-type FileEvent struct { // line 8479
+type FileEvent struct { // line 8480
 	// The file's uri.
 	URI DocumentURI `json:"uri"`
 	// The change type.
@@ -1559,7 +1560,7 @@
 // like renaming a file in the UI.
 //
 // @since 3.16.0
-type FileOperationClientCapabilities struct { // line 11008
+type FileOperationClientCapabilities struct { // line 11009
 	// Whether the client supports dynamic registration for file requests/notifications.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 	// The client has support for sending didCreateFiles notifications.
@@ -1580,7 +1581,7 @@
 // the server is interested in receiving.
 //
 // @since 3.16.0
-type FileOperationFilter struct { // line 6863
+type FileOperationFilter struct { // line 6864
 	// A Uri scheme like `file` or `untitled`.
 	Scheme string `json:"scheme,omitempty"`
 	// The actual file operation pattern.
@@ -1590,7 +1591,7 @@
 // Options for notifications/requests for user operations on files.
 //
 // @since 3.16.0
-type FileOperationOptions struct { // line 9964
+type FileOperationOptions struct { // line 9965
 	// The server is interested in receiving didCreateFiles notifications.
 	DidCreate *FileOperationRegistrationOptions `json:"didCreate,omitempty"`
 	// The server is interested in receiving willCreateFiles requests.
@@ -1609,8 +1610,8 @@
 // the server is interested in receiving.
 //
 // @since 3.16.0
-type FileOperationPattern struct { // line 9488
-	//The glob pattern to match. Glob patterns can have the following syntax:
+type FileOperationPattern struct { // line 9489
+	// The glob pattern to match. Glob patterns can have the following syntax:
 	//
 	//  - `*` to match one or more characters in a path segment
 	//  - `?` to match on one character in a path segment
@@ -1619,9 +1620,9 @@
 	//  - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
 	//  - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
 	Glob string `json:"glob"`
-	//Whether to match files or folders with this pattern.
+	// Whether to match files or folders with this pattern.
 	//
-	//Matches both if undefined.
+	// Matches both if undefined.
 	Matches FileOperationPatternKind `json:"matches,omitempty"`
 	// Additional options used during matching.
 	Options *FileOperationPatternOptions `json:"options,omitempty"`
@@ -1631,11 +1632,11 @@
 // both.
 //
 // @since 3.16.0
-type FileOperationPatternKind string // line 13626
+type FileOperationPatternKind string // line 13627
 // Matching options for the file operation pattern.
 //
 // @since 3.16.0
-type FileOperationPatternOptions struct { // line 10145
+type FileOperationPatternOptions struct { // line 10146
 	// The pattern should be matched ignoring casing.
 	IgnoreCase bool `json:"ignoreCase,omitempty"`
 }
@@ -1643,7 +1644,7 @@
 // The options to register for file operations.
 //
 // @since 3.16.0
-type FileOperationRegistrationOptions struct { // line 3263
+type FileOperationRegistrationOptions struct { // line 3264
 	// The actual filters.
 	Filters []FileOperationFilter `json:"filters"`
 }
@@ -1651,119 +1652,119 @@
 // Represents information on a file/folder rename.
 //
 // @since 3.16.0
-type FileRename struct { // line 6887
+type FileRename struct { // line 6888
 	// A file:// URI for the original location of the file/folder being renamed.
 	OldURI string `json:"oldUri"`
 	// A file:// URI for the new location of the file/folder being renamed.
 	NewURI string `json:"newUri"`
 }
-type FileSystemWatcher struct { // line 8501
-	//The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail.
+type FileSystemWatcher struct { // line 8502
+	// The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail.
 	//
-	//@since 3.17.0 support for relative patterns.
+	// @since 3.17.0 support for relative patterns.
 	GlobPattern GlobPattern `json:"globPattern"`
-	//The kind of events of interest. If omitted it defaults
-	//to WatchKind.Create | WatchKind.Change | WatchKind.Delete
-	//which is 7.
+	// The kind of events of interest. If omitted it defaults
+	// to WatchKind.Create | WatchKind.Change | WatchKind.Delete
+	// which is 7.
 	Kind WatchKind `json:"kind,omitempty"`
 }
 
 // Represents a folding range. To be valid, start and end line must be bigger than zero and smaller
 // than the number of lines in the document. Clients are free to ignore invalid ranges.
-type FoldingRange struct { // line 2414
-	//The zero-based start line of the range to fold. The folded area starts after the line's last character.
-	//To be valid, the end must be zero or larger and smaller than the number of lines in the document.
+type FoldingRange struct { // line 2415
+	// The zero-based start line of the range to fold. The folded area starts after the line's last character.
+	// To be valid, the end must be zero or larger and smaller than the number of lines in the document.
 	StartLine uint32 `json:"startLine"`
 	// The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line.
 	StartCharacter uint32 `json:"startCharacter,omitempty"`
-	//The zero-based end line of the range to fold. The folded area ends with the line's last character.
-	//To be valid, the end must be zero or larger and smaller than the number of lines in the document.
+	// The zero-based end line of the range to fold. The folded area ends with the line's last character.
+	// To be valid, the end must be zero or larger and smaller than the number of lines in the document.
 	EndLine uint32 `json:"endLine"`
 	// The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line.
 	EndCharacter uint32 `json:"endCharacter,omitempty"`
-	//Describes the kind of the folding range such as `comment' or 'region'. The kind
-	//is used to categorize folding ranges and used by commands like 'Fold all comments'.
-	//See {@link FoldingRangeKind} for an enumeration of standardized kinds.
+	// Describes the kind of the folding range such as `comment' or 'region'. The kind
+	// is used to categorize folding ranges and used by commands like 'Fold all comments'.
+	// See {@link FoldingRangeKind} for an enumeration of standardized kinds.
 	Kind string `json:"kind,omitempty"`
-	//The text that the client should show when the specified range is
-	//collapsed. If not defined or not supported by the client, a default
-	//will be chosen by the client.
+	// The text that the client should show when the specified range is
+	// collapsed. If not defined or not supported by the client, a default
+	// will be chosen by the client.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	CollapsedText string `json:"collapsedText,omitempty"`
 }
-type FoldingRangeClientCapabilities struct { // line 11977
-	//Whether implementation supports dynamic registration for folding range
-	//providers. If this is set to `true` the client supports the new
-	//`FoldingRangeRegistrationOptions` return value for the corresponding
-	//server capability as well.
+type FoldingRangeClientCapabilities struct { // line 11978
+	// Whether implementation supports dynamic registration for folding range
+	// providers. If this is set to `true` the client supports the new
+	// `FoldingRangeRegistrationOptions` return value for the corresponding
+	// server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//The maximum number of folding ranges that the client prefers to receive
-	//per document. The value serves as a hint, servers are free to follow the
-	//limit.
+	// The maximum number of folding ranges that the client prefers to receive
+	// per document. The value serves as a hint, servers are free to follow the
+	// limit.
 	RangeLimit uint32 `json:"rangeLimit,omitempty"`
-	//If set, the client signals that it only supports folding complete lines.
-	//If set, client will ignore specified `startCharacter` and `endCharacter`
-	//properties in a FoldingRange.
+	// If set, the client signals that it only supports folding complete lines.
+	// If set, client will ignore specified `startCharacter` and `endCharacter`
+	// properties in a FoldingRange.
 	LineFoldingOnly bool `json:"lineFoldingOnly,omitempty"`
-	//Specific options for the folding range kind.
+	// Specific options for the folding range kind.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	FoldingRangeKind *PFoldingRangeKindPFoldingRange `json:"foldingRangeKind,omitempty"`
-	//Specific options for the folding range.
+	// Specific options for the folding range.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	FoldingRange *PFoldingRangePFoldingRange `json:"foldingRange,omitempty"`
 }
 
 // A set of predefined range kinds.
-type FoldingRangeKind string      // line 12814
-type FoldingRangeOptions struct { // line 6480
+type FoldingRangeKind string      // line 12815
+type FoldingRangeOptions struct { // line 6481
 	WorkDoneProgressOptions
 }
 
 // Parameters for a {@link FoldingRangeRequest}.
-type FoldingRangeParams struct { // line 2390
+type FoldingRangeParams struct { // line 2391
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	WorkDoneProgressParams
 	PartialResultParams
 }
-type FoldingRangeRegistrationOptions struct { // line 2473
+type FoldingRangeRegistrationOptions struct { // line 2474
 	TextDocumentRegistrationOptions
 	FoldingRangeOptions
 	StaticRegistrationOptions
 }
 
 // Value-object describing what options formatting should use.
-type FormattingOptions struct { // line 9168
+type FormattingOptions struct { // line 9169
 	// Size of a tab in spaces.
 	TabSize uint32 `json:"tabSize"`
 	// Prefer spaces over tabs.
 	InsertSpaces bool `json:"insertSpaces"`
-	//Trim trailing whitespace on a line.
+	// Trim trailing whitespace on a line.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	TrimTrailingWhitespace bool `json:"trimTrailingWhitespace,omitempty"`
-	//Insert a newline character at the end of the file if one does not exist.
+	// Insert a newline character at the end of the file if one does not exist.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	InsertFinalNewline bool `json:"insertFinalNewline,omitempty"`
-	//Trim all newlines after the final newline at the end of the file.
+	// Trim all newlines after the final newline at the end of the file.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	TrimFinalNewlines bool `json:"trimFinalNewlines,omitempty"`
 }
 
 // A diagnostic report with a full set of problems.
 //
 // @since 3.17.0
-type FullDocumentDiagnosticReport struct { // line 7234
+type FullDocumentDiagnosticReport struct { // line 7235
 	// A full document diagnostic report.
 	Kind string `json:"kind"`
-	//An optional result id. If provided it will
-	//be sent on the next diagnostic request for the
-	//same document.
+	// An optional result id. If provided it will
+	// be sent on the next diagnostic request for the
+	// same document.
 	ResultID string `json:"resultId,omitempty"`
 	// The actual items.
 	Items []Diagnostic `json:"items"`
@@ -1772,100 +1773,100 @@
 // General client capabilities.
 //
 // @since 3.16.0
-type GeneralClientCapabilities struct { // line 10663
-	//Client capability that signals how the client
-	//handles stale requests (e.g. a request
-	//for which the client will not process the response
-	//anymore since the information is outdated).
+type GeneralClientCapabilities struct { // line 10664
+	// Client capability that signals how the client
+	// handles stale requests (e.g. a request
+	// for which the client will not process the response
+	// anymore since the information is outdated).
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	StaleRequestSupport *PStaleRequestSupportPGeneral `json:"staleRequestSupport,omitempty"`
-	//Client capabilities specific to regular expressions.
+	// Client capabilities specific to regular expressions.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	RegularExpressions *RegularExpressionsClientCapabilities `json:"regularExpressions,omitempty"`
-	//Client capabilities specific to the client's markdown parser.
+	// Client capabilities specific to the client's markdown parser.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Markdown *MarkdownClientCapabilities `json:"markdown,omitempty"`
-	//The position encodings supported by the client. Client and server
-	//have to agree on the same position encoding to ensure that offsets
-	//(e.g. character position in a line) are interpreted the same on both
-	//sides.
+	// The position encodings supported by the client. Client and server
+	// have to agree on the same position encoding to ensure that offsets
+	// (e.g. character position in a line) are interpreted the same on both
+	// sides.
 	//
-	//To keep the protocol backwards compatible the following applies: if
-	//the value 'utf-16' is missing from the array of position encodings
-	//servers can assume that the client supports UTF-16. UTF-16 is
-	//therefore a mandatory encoding.
+	// To keep the protocol backwards compatible the following applies: if
+	// the value 'utf-16' is missing from the array of position encodings
+	// servers can assume that the client supports UTF-16. UTF-16 is
+	// therefore a mandatory encoding.
 	//
-	//If omitted it defaults to ['utf-16'].
+	// If omitted it defaults to ['utf-16'].
 	//
-	//Implementation considerations: since the conversion from one encoding
-	//into another requires the content of the file / line the conversion
-	//is best done where the file is read which is usually on the server
-	//side.
+	// Implementation considerations: since the conversion from one encoding
+	// into another requires the content of the file / line the conversion
+	// is best done where the file is read which is usually on the server
+	// side.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	PositionEncodings []PositionEncodingKind `json:"positionEncodings,omitempty"`
 }
 
 // The glob pattern. Either a string pattern or a relative pattern.
 //
 // @since 3.17.0
-type GlobPattern = string // (alias) line 14126
+type GlobPattern = string // (alias) line 14127
 // The result of a hover request.
-type Hover struct { // line 4885
+type Hover struct { // line 4886
 	// The hover's content
 	Contents MarkupContent `json:"contents"`
-	//An optional range inside the text document that is used to
-	//visualize the hover, e.g. by changing the background color.
+	// An optional range inside the text document that is used to
+	// visualize the hover, e.g. by changing the background color.
 	Range Range `json:"range,omitempty"`
 }
-type HoverClientCapabilities struct { // line 11401
+type HoverClientCapabilities struct { // line 11402
 	// Whether hover supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//Client supports the following content formats for the content
-	//property. The order describes the preferred format of the client.
+	// Client supports the following content formats for the content
+	// property. The order describes the preferred format of the client.
 	ContentFormat []MarkupKind `json:"contentFormat,omitempty"`
 }
 
 // Hover options.
-type HoverOptions struct { // line 8775
+type HoverOptions struct { // line 8776
 	WorkDoneProgressOptions
 }
 
 // Parameters for a {@link HoverRequest}.
-type HoverParams struct { // line 4868
+type HoverParams struct { // line 4869
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 }
 
 // Registration options for a {@link HoverRequest}.
-type HoverRegistrationOptions struct { // line 4924
+type HoverRegistrationOptions struct { // line 4925
 	TextDocumentRegistrationOptions
 	HoverOptions
 }
 
 // @since 3.6.0
-type ImplementationClientCapabilities struct { // line 11582
-	//Whether implementation supports dynamic registration. If this is set to `true`
-	//the client supports the new `ImplementationRegistrationOptions` return value
-	//for the corresponding server capability as well.
+type ImplementationClientCapabilities struct { // line 11583
+	// Whether implementation supports dynamic registration. If this is set to `true`
+	// the client supports the new `ImplementationRegistrationOptions` return value
+	// for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//The client supports additional metadata in the form of definition links.
+	// The client supports additional metadata in the form of definition links.
 	//
-	//@since 3.14.0
+	// @since 3.14.0
 	LinkSupport bool `json:"linkSupport,omitempty"`
 }
-type ImplementationOptions struct { // line 6332
+type ImplementationOptions struct { // line 6333
 	WorkDoneProgressOptions
 }
-type ImplementationParams struct { // line 2062
+type ImplementationParams struct { // line 2063
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 	PartialResultParams
 }
-type ImplementationRegistrationOptions struct { // line 2102
+type ImplementationRegistrationOptions struct { // line 2103
 	TextDocumentRegistrationOptions
 	ImplementationOptions
 	StaticRegistrationOptions
@@ -1873,120 +1874,120 @@
 
 // The data type of the ResponseError if the
 // initialize request fails.
-type InitializeError struct { // line 4125
-	//Indicates whether the client execute the following retry logic:
-	//(1) show the message provided by the ResponseError to the user
-	//(2) user selects retry or cancel
-	//(3) if user selected retry the initialize method is sent again.
+type InitializeError struct { // line 4126
+	// Indicates whether the client execute the following retry logic:
+	// (1) show the message provided by the ResponseError to the user
+	// (2) user selects retry or cancel
+	// (3) if user selected retry the initialize method is sent again.
 	Retry bool `json:"retry"`
 }
-type InitializeParams struct { // line 4067
+type InitializeParams struct { // line 4068
 	XInitializeParams
 	WorkspaceFoldersInitializeParams
 }
 
 // The result returned from an initialize request.
-type InitializeResult struct { // line 4081
+type InitializeResult struct { // line 4082
 	// The capabilities the language server provides.
 	Capabilities ServerCapabilities `json:"capabilities"`
-	//Information about the server.
+	// Information about the server.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	ServerInfo PServerInfoMsg_initialize `json:"serverInfo,omitempty"`
 }
-type InitializedParams struct { // line 4139
+type InitializedParams struct { // line 4140
 }
 
 // Inlay hint information.
 //
 // @since 3.17.0
-type InlayHint struct { // line 3644
+type InlayHint struct { // line 3645
 	// The position of this hint.
 	Position *Position `json:"position"`
-	//The label of this hint. A human readable string or an array of
-	//InlayHintLabelPart label parts.
+	// The label of this hint. A human readable string or an array of
+	// InlayHintLabelPart label parts.
 	//
-	//*Note* that neither the string nor the label part can be empty.
+	// *Note* that neither the string nor the label part can be empty.
 	Label []InlayHintLabelPart `json:"label"`
-	//The kind of this hint. Can be omitted in which case the client
-	//should fall back to a reasonable default.
+	// The kind of this hint. Can be omitted in which case the client
+	// should fall back to a reasonable default.
 	Kind InlayHintKind `json:"kind,omitempty"`
-	//Optional text edits that are performed when accepting this inlay hint.
+	// Optional text edits that are performed when accepting this inlay hint.
 	//
-	//*Note* that edits are expected to change the document so that the inlay
-	//hint (or its nearest variant) is now part of the document and the inlay
-	//hint itself is now obsolete.
+	// *Note* that edits are expected to change the document so that the inlay
+	// hint (or its nearest variant) is now part of the document and the inlay
+	// hint itself is now obsolete.
 	TextEdits []TextEdit `json:"textEdits,omitempty"`
 	// The tooltip text when you hover over this item.
 	Tooltip *OrPTooltip_textDocument_inlayHint `json:"tooltip,omitempty"`
-	//Render padding before the hint.
+	// Render padding before the hint.
 	//
-	//Note: Padding should use the editor's background color, not the
-	//background color of the hint itself. That means padding can be used
-	//to visually align/separate an inlay hint.
+	// Note: Padding should use the editor's background color, not the
+	// background color of the hint itself. That means padding can be used
+	// to visually align/separate an inlay hint.
 	PaddingLeft bool `json:"paddingLeft,omitempty"`
-	//Render padding after the hint.
+	// Render padding after the hint.
 	//
-	//Note: Padding should use the editor's background color, not the
-	//background color of the hint itself. That means padding can be used
-	//to visually align/separate an inlay hint.
+	// Note: Padding should use the editor's background color, not the
+	// background color of the hint itself. That means padding can be used
+	// to visually align/separate an inlay hint.
 	PaddingRight bool `json:"paddingRight,omitempty"`
-	//A data entry field that is preserved on an inlay hint between
-	//a `textDocument/inlayHint` and a `inlayHint/resolve` request.
+	// A data entry field that is preserved on an inlay hint between
+	// a `textDocument/inlayHint` and a `inlayHint/resolve` request.
 	Data interface{} `json:"data,omitempty"`
 }
 
 // Inlay hint client capabilities.
 //
 // @since 3.17.0
-type InlayHintClientCapabilities struct { // line 12368
+type InlayHintClientCapabilities struct { // line 12369
 	// Whether inlay hints support dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//Indicates which properties a client can resolve lazily on an inlay
-	//hint.
+	// Indicates which properties a client can resolve lazily on an inlay
+	// hint.
 	ResolveSupport *PResolveSupportPInlayHint `json:"resolveSupport,omitempty"`
 }
 
 // Inlay hint kinds.
 //
 // @since 3.17.0
-type InlayHintKind uint32 // line 13032
+type InlayHintKind uint32 // line 13033
 // An inlay hint label part allows for interactive and composite labels
 // of inlay hints.
 //
 // @since 3.17.0
-type InlayHintLabelPart struct { // line 7061
+type InlayHintLabelPart struct { // line 7062
 	// The value of this label part.
 	Value string `json:"value"`
-	//The tooltip text when you hover over this label part. Depending on
-	//the client capability `inlayHint.resolveSupport` clients might resolve
-	//this property late using the resolve request.
+	// The tooltip text when you hover over this label part. Depending on
+	// the client capability `inlayHint.resolveSupport` clients might resolve
+	// this property late using the resolve request.
 	Tooltip *OrPTooltipPLabel `json:"tooltip,omitempty"`
-	//An optional source code location that represents this
-	//label part.
+	// An optional source code location that represents this
+	// label part.
 	//
-	//The editor will use this location for the hover and for code navigation
-	//features: This part will become a clickable link that resolves to the
-	//definition of the symbol at the given location (not necessarily the
-	//location itself), it shows the hover that shows at the given location,
-	//and it shows a context menu with further code navigation commands.
+	// The editor will use this location for the hover and for code navigation
+	// features: This part will become a clickable link that resolves to the
+	// definition of the symbol at the given location (not necessarily the
+	// location itself), it shows the hover that shows at the given location,
+	// and it shows a context menu with further code navigation commands.
 	//
-	//Depending on the client capability `inlayHint.resolveSupport` clients
-	//might resolve this property late using the resolve request.
+	// Depending on the client capability `inlayHint.resolveSupport` clients
+	// might resolve this property late using the resolve request.
 	Location *Location `json:"location,omitempty"`
-	//An optional command for this label part.
+	// An optional command for this label part.
 	//
-	//Depending on the client capability `inlayHint.resolveSupport` clients
-	//might resolve this property late using the resolve request.
+	// Depending on the client capability `inlayHint.resolveSupport` clients
+	// might resolve this property late using the resolve request.
 	Command *Command `json:"command,omitempty"`
 }
 
 // Inlay hint options used during static registration.
 //
 // @since 3.17.0
-type InlayHintOptions struct { // line 7134
-	//The server provides support to resolve additional
-	//information for an inlay hint item.
+type InlayHintOptions struct { // line 7135
+	// The server provides support to resolve additional
+	// information for an inlay hint item.
 	ResolveProvider bool `json:"resolveProvider,omitempty"`
 	WorkDoneProgressOptions
 }
@@ -1994,7 +1995,7 @@
 // A parameter literal used in inlay hint requests.
 //
 // @since 3.17.0
-type InlayHintParams struct { // line 3615
+type InlayHintParams struct { // line 3616
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The document range for which inlay hints should be computed.
@@ -2005,7 +2006,7 @@
 // Inlay hint options used during static or dynamic registration.
 //
 // @since 3.17.0
-type InlayHintRegistrationOptions struct { // line 3745
+type InlayHintRegistrationOptions struct { // line 3746
 	InlayHintOptions
 	TextDocumentRegistrationOptions
 	StaticRegistrationOptions
@@ -2014,14 +2015,14 @@
 // Client workspace capabilities specific to inlay hints.
 //
 // @since 3.17.0
-type InlayHintWorkspaceClientCapabilities struct { // line 11094
-	//Whether the client implementation supports a refresh request sent from
-	//the server to the client.
+type InlayHintWorkspaceClientCapabilities struct { // line 11095
+	// Whether the client implementation supports a refresh request sent from
+	// the server to the client.
 	//
-	//Note that this event is global and will force the client to refresh all
-	//inlay hints currently shown. It should be used with absolute care and
-	//is useful for situation where a server for example detects a project wide
-	//change that requires such a calculation.
+	// Note that this event is global and will force the client to refresh all
+	// inlay hints currently shown. It should be used with absolute care and
+	// is useful for situation where a server for example detects a project wide
+	// change that requires such a calculation.
 	RefreshSupport bool `json:"refreshSupport,omitempty"`
 }
 
@@ -2034,21 +2035,21 @@
 // The InlineValue types combines all inline value types into one type.
 //
 // @since 3.17.0
-type InlineValue = Or_InlineValue // (alias) line 13860
+type InlineValue = Or_InlineValue // (alias) line 13861
 // Client capabilities specific to inline values.
 //
 // @since 3.17.0
-type InlineValueClientCapabilities struct { // line 12352
+type InlineValueClientCapabilities struct { // line 12353
 	// Whether implementation supports dynamic registration for inline value providers.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // @since 3.17.0
-type InlineValueContext struct { // line 6947
+type InlineValueContext struct { // line 6948
 	// The stack frame (as a DAP Id) where the execution has stopped.
 	FrameID int32 `json:"frameId"`
-	//The document range where execution has stopped.
-	//Typically the end position of the range denotes the line where the inline values are shown.
+	// The document range where execution has stopped.
+	// Typically the end position of the range denotes the line where the inline values are shown.
 	StoppedLocation Range `json:"stoppedLocation"`
 }
 
@@ -2057,9 +2058,9 @@
 // An optional expression can be used to override the extracted expression.
 //
 // @since 3.17.0
-type InlineValueEvaluatableExpression struct { // line 7025
-	//The document range for which the inline value applies.
-	//The range is used to extract the evaluatable expression from the underlying document.
+type InlineValueEvaluatableExpression struct { // line 7026
+	// The document range for which the inline value applies.
+	// The range is used to extract the evaluatable expression from the underlying document.
 	Range Range `json:"range"`
 	// If specified the expression overrides the extracted expression.
 	Expression string `json:"expression,omitempty"`
@@ -2068,20 +2069,20 @@
 // Inline value options used during static registration.
 //
 // @since 3.17.0
-type InlineValueOptions struct { // line 7049
+type InlineValueOptions struct { // line 7050
 	WorkDoneProgressOptions
 }
 
 // A parameter literal used in inline value requests.
 //
 // @since 3.17.0
-type InlineValueParams struct { // line 3556
+type InlineValueParams struct { // line 3557
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The document range for which inline values should be computed.
 	Range Range `json:"range"`
-	//Additional information about the context in which inline values were
-	//requested.
+	// Additional information about the context in which inline values were
+	// requested.
 	Context InlineValueContext `json:"context"`
 	WorkDoneProgressParams
 }
@@ -2089,7 +2090,7 @@
 // Inline value options used during static or dynamic registration.
 //
 // @since 3.17.0
-type InlineValueRegistrationOptions struct { // line 3593
+type InlineValueRegistrationOptions struct { // line 3594
 	InlineValueOptions
 	TextDocumentRegistrationOptions
 	StaticRegistrationOptions
@@ -2098,7 +2099,7 @@
 // Provide inline value as text.
 //
 // @since 3.17.0
-type InlineValueText struct { // line 6970
+type InlineValueText struct { // line 6971
 	// The document range for which the inline value applies.
 	Range Range `json:"range"`
 	// The text of the inline value.
@@ -2110,9 +2111,9 @@
 // An optional variable name can be used to override the extracted name.
 //
 // @since 3.17.0
-type InlineValueVariableLookup struct { // line 6993
-	//The document range for which the inline value applies.
-	//The range is used to extract the variable name from the underlying document.
+type InlineValueVariableLookup struct { // line 6994
+	// The document range for which the inline value applies.
+	// The range is used to extract the variable name from the underlying document.
 	Range Range `json:"range"`
 	// If specified the name of the variable to look up.
 	VariableName string `json:"variableName,omitempty"`
@@ -2123,21 +2124,21 @@
 // Client workspace capabilities specific to inline values.
 //
 // @since 3.17.0
-type InlineValueWorkspaceClientCapabilities struct { // line 11078
-	//Whether the client implementation supports a refresh request sent from the
-	//server to the client.
+type InlineValueWorkspaceClientCapabilities struct { // line 11079
+	// Whether the client implementation supports a refresh request sent from the
+	// server to the client.
 	//
-	//Note that this event is global and will force the client to refresh all
-	//inline values currently shown. It should be used with absolute care and is
-	//useful for situation where a server for example detects a project wide
-	//change that requires such a calculation.
+	// Note that this event is global and will force the client to refresh all
+	// inline values currently shown. It should be used with absolute care and is
+	// useful for situation where a server for example detects a project wide
+	// change that requires such a calculation.
 	RefreshSupport bool `json:"refreshSupport,omitempty"`
 }
 
 // A special text edit to provide an insert and a replace operation.
 //
 // @since 3.16.0
-type InsertReplaceEdit struct { // line 8675
+type InsertReplaceEdit struct { // line 8676
 	// The string to be inserted.
 	NewText string `json:"newText"`
 	// The range if the insert is requested
@@ -2148,38 +2149,38 @@
 
 // Defines whether the insert text in a completion item should be interpreted as
 // plain text or a snippet.
-type InsertTextFormat uint32 // line 13259
+type InsertTextFormat uint32 // line 13260
 // How whitespace and indentation is handled during completion
 // item insertion.
 //
 // @since 3.16.0
-type InsertTextMode uint32 // line 13279
+type InsertTextMode uint32 // line 13280
 type LSPAny = interface{}
 
 // LSP arrays.
 // @since 3.17.0
-type LSPArray = []interface{} // (alias) line 13778
-type LSPErrorCodes int32      // line 12782
+type LSPArray = []interface{} // (alias) line 13779
+type LSPErrorCodes int32      // line 12783
 // LSP object definition.
 // @since 3.17.0
-type LSPObject = map[string]LSPAny // (alias) line 14110
+type LSPObject = map[string]LSPAny // (alias) line 14111
 // Client capabilities for the linked editing range request.
 //
 // @since 3.16.0
-type LinkedEditingRangeClientCapabilities struct { // line 12304
-	//Whether implementation supports dynamic registration. If this is set to `true`
-	//the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
-	//return value for the corresponding server capability as well.
+type LinkedEditingRangeClientCapabilities struct { // line 12305
+	// Whether implementation supports dynamic registration. If this is set to `true`
+	// the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+	// return value for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
-type LinkedEditingRangeOptions struct { // line 6651
+type LinkedEditingRangeOptions struct { // line 6652
 	WorkDoneProgressOptions
 }
-type LinkedEditingRangeParams struct { // line 3111
+type LinkedEditingRangeParams struct { // line 3112
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 }
-type LinkedEditingRangeRegistrationOptions struct { // line 3154
+type LinkedEditingRangeRegistrationOptions struct { // line 3155
 	TextDocumentRegistrationOptions
 	LinkedEditingRangeOptions
 	StaticRegistrationOptions
@@ -2188,24 +2189,24 @@
 // The result of a linked editing range request.
 //
 // @since 3.16.0
-type LinkedEditingRanges struct { // line 3127
-	//A list of ranges that can be edited together. The ranges must have
-	//identical length and contain identical text content. The ranges cannot overlap.
+type LinkedEditingRanges struct { // line 3128
+	// A list of ranges that can be edited together. The ranges must have
+	// identical length and contain identical text content. The ranges cannot overlap.
 	Ranges []Range `json:"ranges"`
-	//An optional word pattern (regular expression) that describes valid contents for
-	//the given ranges. If no pattern is provided, the client configuration's word
-	//pattern will be used.
+	// An optional word pattern (regular expression) that describes valid contents for
+	// the given ranges. If no pattern is provided, the client configuration's word
+	// pattern will be used.
 	WordPattern string `json:"wordPattern,omitempty"`
 }
 
 // created for Literal (Lit_NotebookDocumentChangeEvent_cells_textContent_Elem)
-type Lit_NotebookDocumentChangeEvent_cells_textContent_Elem struct { // line 7544
+type Lit_NotebookDocumentChangeEvent_cells_textContent_Elem struct { // line 7545
 	Document VersionedTextDocumentIdentifier  `json:"document"`
 	Changes  []TextDocumentContentChangeEvent `json:"changes"`
 }
 
 // created for Literal (Lit_NotebookDocumentFilter_Item1)
-type Lit_NotebookDocumentFilter_Item1 struct { // line 14292
+type Lit_NotebookDocumentFilter_Item1 struct { // line 14293
 	// The type of the enclosing notebook.
 	NotebookType string `json:"notebookType,omitempty"`
 	// A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
@@ -2215,7 +2216,7 @@
 }
 
 // created for Literal (Lit_NotebookDocumentFilter_Item2)
-type Lit_NotebookDocumentFilter_Item2 struct { // line 14325
+type Lit_NotebookDocumentFilter_Item2 struct { // line 14326
 	// The type of the enclosing notebook.
 	NotebookType string `json:"notebookType,omitempty"`
 	// A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
@@ -2225,38 +2226,38 @@
 }
 
 // created for Literal (Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item0_cells_Elem)
-type Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item0_cells_Elem struct { // line 9830
+type Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item0_cells_Elem struct { // line 9831
 	Language string `json:"language"`
 }
 
 // created for Literal (Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1)
-type Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1 struct { // line 9851
-	//The notebook to be synced If a string
-	//value is provided it matches against the
-	//notebook type. '*' matches every notebook.
+type Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1 struct { // line 9852
+	// 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 9877
+type Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_cells_Elem struct { // line 9878
 	Language string `json:"language"`
 }
 
 // created for Literal (Lit_PrepareRenameResult_Item2)
-type Lit_PrepareRenameResult_Item2 struct { // line 13931
+type Lit_PrepareRenameResult_Item2 struct { // line 13932
 	DefaultBehavior bool `json:"defaultBehavior"`
 }
 
 // created for Literal (Lit_TextDocumentContentChangeEvent_Item1)
-type Lit_TextDocumentContentChangeEvent_Item1 struct { // line 14039
+type Lit_TextDocumentContentChangeEvent_Item1 struct { // line 14040
 	// The new text of the whole document.
 	Text string `json:"text"`
 }
 
 // created for Literal (Lit_TextDocumentFilter_Item2)
-type Lit_TextDocumentFilter_Item2 struct { // line 14216
+type Lit_TextDocumentFilter_Item2 struct { // line 14217
 	// A language id, like `typescript`.
 	Language string `json:"language,omitempty"`
 	// A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
@@ -2267,38 +2268,38 @@
 
 // Represents a location inside a resource, such as a line
 // inside a text file.
-type Location struct { // line 2082
+type Location struct { // line 2083
 	URI   DocumentURI `json:"uri"`
 	Range Range       `json:"range"`
 }
 
 // Represents the connection of two locations. Provides additional metadata over normal {@link Location locations},
 // including an origin range.
-type LocationLink struct { // line 6271
-	//Span of the origin of this link.
+type LocationLink struct { // line 6272
+	// Span of the origin of this link.
 	//
-	//Used as the underlined span for mouse interaction. Defaults to the word range at
-	//the definition position.
+	// Used as the underlined span for mouse interaction. Defaults to the word range at
+	// the definition position.
 	OriginSelectionRange *Range `json:"originSelectionRange,omitempty"`
 	// The target resource identifier of this link.
 	TargetURI DocumentURI `json:"targetUri"`
-	//The full target range of this link. If the target for example is a symbol then target range is the
-	//range enclosing this symbol not including leading/trailing whitespace but everything else
-	//like comments. This information is typically used to highlight the range in the editor.
+	// The full target range of this link. If the target for example is a symbol then target range is the
+	// range enclosing this symbol not including leading/trailing whitespace but everything else
+	// like comments. This information is typically used to highlight the range in the editor.
 	TargetRange Range `json:"targetRange"`
-	//The range that should be selected and revealed when this link is being followed, e.g the name of a function.
-	//Must be contained by the `targetRange`. See also `DocumentSymbol#range`
+	// The range that should be selected and revealed when this link is being followed, e.g the name of a function.
+	// Must be contained by the `targetRange`. See also `DocumentSymbol#range`
 	TargetSelectionRange Range `json:"targetSelectionRange"`
 }
 
 // The log message parameters.
-type LogMessageParams struct { // line 4250
+type LogMessageParams struct { // line 4251
 	// The message type. See {@link MessageType}
 	Type MessageType `json:"type"`
 	// The actual message.
 	Message string `json:"message"`
 }
-type LogTraceParams struct { // line 6158
+type LogTraceParams struct { // line 6159
 	Message string `json:"message"`
 	Verbose string `json:"verbose,omitempty"`
 }
@@ -2306,15 +2307,15 @@
 // Client capabilities specific to the used markdown parser.
 //
 // @since 3.16.0
-type MarkdownClientCapabilities struct { // line 12523
+type MarkdownClientCapabilities struct { // line 12524
 	// The name of the parser.
 	Parser string `json:"parser"`
 	// The version of the parser.
 	Version string `json:"version,omitempty"`
-	//A list of HTML tags that the client allows / supports in
-	//Markdown.
+	// A list of HTML tags that the client allows / supports in
+	// Markdown.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	AllowedTags []string `json:"allowedTags,omitempty"`
 }
 
@@ -2330,7 +2331,7 @@
 //
 // Note that markdown strings will be sanitized - that means html will be escaped.
 // @deprecated use MarkupContent instead.
-type MarkedString = Or_MarkedString // (alias) line 14057
+type MarkedString = Or_MarkedString // (alias) line 14058
 // A `MarkupContent` literal represents a string value which content is interpreted base on its
 // kind flag. Currently the protocol supports `plaintext` and `markdown` as markup kinds.
 //
@@ -2339,23 +2340,23 @@
 //
 // Here is an example how such a string can be constructed using JavaScript / TypeScript:
 // ```ts
-// let markdown: MarkdownContent = {
-// kind: MarkupKind.Markdown,
-// value: [
 //
-//	'# Header',
-//	'Some text',
-//	'```typescript',
-//	'someCode();',
-//	'```'
+//	let markdown: MarkdownContent = {
+//	 kind: MarkupKind.Markdown,
+//	 value: [
+//	   '# Header',
+//	   'Some text',
+//	   '```typescript',
+//	   'someCode();',
+//	   '```'
+//	 ].join('\n')
+//	};
 //
-// ].join('\n')
-// };
 // ```
 //
 // *Please Note* that clients might sanitize the return markdown. A client could decide to
 // remove HTML from the markdown to avoid script execution.
-type MarkupContent struct { // line 7112
+type MarkupContent struct { // line 7113
 	// The type of the Markup
 	Kind MarkupKind `json:"kind"`
 	// The content itself
@@ -2367,22 +2368,22 @@
 //
 // Please note that `MarkupKinds` must not start with a `$`. This kinds
 // are reserved for internal usage.
-type MarkupKind string          // line 13406
-type MessageActionItem struct { // line 4237
+type MarkupKind string          // line 13407
+type MessageActionItem struct { // line 4238
 	// A short title like 'Retry', 'Open Log' etc.
 	Title string `json:"title"`
 }
 
 // The message type
-type MessageType uint32 // line 13053
+type MessageType uint32 // line 13054
 // Moniker definition to match LSIF 0.5 moniker definition.
 //
 // @since 3.16.0
-type Moniker struct { // line 3337
+type Moniker struct { // line 3338
 	// The scheme of the moniker. For example tsc or .Net
 	Scheme string `json:"scheme"`
-	//The identifier of the moniker. The value is opaque in LSIF however
-	//schema owners are allowed to define the structure if they want.
+	// The identifier of the moniker. The value is opaque in LSIF however
+	// schema owners are allowed to define the structure if they want.
 	Identifier string `json:"identifier"`
 	// The scope in which the moniker is unique
 	Unique UniquenessLevel `json:"unique"`
@@ -2393,38 +2394,38 @@
 // Client capabilities specific to the moniker request.
 //
 // @since 3.16.0
-type MonikerClientCapabilities struct { // line 12320
-	//Whether moniker supports dynamic registration. If this is set to `true`
-	//the client supports the new `MonikerRegistrationOptions` return value
-	//for the corresponding server capability as well.
+type MonikerClientCapabilities struct { // line 12321
+	// Whether moniker supports dynamic registration. If this is set to `true`
+	// the client supports the new `MonikerRegistrationOptions` return value
+	// for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // The moniker kind.
 //
 // @since 3.16.0
-type MonikerKind string      // line 13006
-type MonikerOptions struct { // line 6925
+type MonikerKind string      // line 13007
+type MonikerOptions struct { // line 6926
 	WorkDoneProgressOptions
 }
-type MonikerParams struct { // line 3317
+type MonikerParams struct { // line 3318
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 	PartialResultParams
 }
-type MonikerRegistrationOptions struct { // line 3377
+type MonikerRegistrationOptions struct { // line 3378
 	TextDocumentRegistrationOptions
 	MonikerOptions
 }
 
 // created for Literal (Lit_MarkedString_Item1)
-type Msg_MarkedString struct { // line 14067
+type Msg_MarkedString struct { // line 14068
 	Language string `json:"language"`
 	Value    string `json:"value"`
 }
 
 // created for Literal (Lit_NotebookDocumentFilter_Item0)
-type Msg_NotebookDocumentFilter struct { // line 14259
+type Msg_NotebookDocumentFilter struct { // line 14260
 	// The type of the enclosing notebook.
 	NotebookType string `json:"notebookType"`
 	// A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
@@ -2434,25 +2435,25 @@
 }
 
 // created for Literal (Lit_PrepareRenameResult_Item1)
-type Msg_PrepareRename2Gn struct { // line 13910
+type Msg_PrepareRename2Gn struct { // line 13911
 	Range       Range  `json:"range"`
 	Placeholder string `json:"placeholder"`
 }
 
 // created for Literal (Lit_TextDocumentContentChangeEvent_Item0)
-type Msg_TextDocumentContentChangeEvent struct { // line 14007
+type Msg_TextDocumentContentChangeEvent struct { // line 14008
 	// The range of the document that changed.
 	Range *Range `json:"range"`
-	//The optional length of the range that got replaced.
+	// The optional length of the range that got replaced.
 	//
-	//@deprecated use range instead.
+	// @deprecated use range instead.
 	RangeLength uint32 `json:"rangeLength"`
 	// The new text for the provided range.
 	Text string `json:"text"`
 }
 
-// created for Literal (Lit_TextDocumentFilter_Item0)
-type Msg_TextDocumentFilter struct { // line 14150
+// created for Literal (Lit_TextDocumentFilter_Item1)
+type Msg_TextDocumentFilter struct { // line 14184
 	// A language id, like `typescript`.
 	Language string `json:"language"`
 	// A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
@@ -2462,7 +2463,7 @@
 }
 
 // created for Literal (Lit__InitializeParams_clientInfo)
-type Msg_XInitializeParams_clientInfo struct { // line 7672
+type Msg_XInitializeParams_clientInfo struct { // line 7673
 	// The name of the client as defined by the client.
 	Name string `json:"name"`
 	// The client's version as defined by the client.
@@ -2476,18 +2477,18 @@
 // notebook cell or the cell's text document.
 //
 // @since 3.17.0
-type NotebookCell struct { // line 9597
+type NotebookCell struct { // line 9598
 	// The cell's kind
 	Kind NotebookCellKind `json:"kind"`
-	//The URI of the cell's text document
-	//content.
+	// The URI of the cell's text document
+	// content.
 	Document DocumentURI `json:"document"`
-	//Additional metadata stored with the cell.
+	// Additional metadata stored with the cell.
 	//
-	//Note: should always be an object literal (e.g. LSPObject)
+	// Note: should always be an object literal (e.g. LSPObject)
 	Metadata *LSPObject `json:"metadata,omitempty"`
-	//Additional execution summary information
-	//if supported by the client.
+	// Additional execution summary information
+	// if supported by the client.
 	ExecutionSummary *ExecutionSummary `json:"executionSummary,omitempty"`
 }
 
@@ -2495,7 +2496,7 @@
 // array from state S to S'.
 //
 // @since 3.17.0
-type NotebookCellArrayChange struct { // line 9638
+type NotebookCellArrayChange struct { // line 9639
 	// The start oftest of the cell that changed.
 	Start uint32 `json:"start"`
 	// The deleted cells
@@ -2507,39 +2508,39 @@
 // A notebook cell kind.
 //
 // @since 3.17.0
-type NotebookCellKind uint32 // line 13647
+type NotebookCellKind uint32 // line 13648
 // A notebook cell text document filter denotes a cell text
 // document by different properties.
 //
 // @since 3.17.0
-type NotebookCellTextDocumentFilter struct { // line 10112
-	//A filter that matches against the notebook
-	//containing the notebook cell. If a string
-	//value is provided it matches against the
-	//notebook type. '*' matches every notebook.
+type NotebookCellTextDocumentFilter struct { // line 10113
+	// A filter that matches against the notebook
+	// containing the notebook cell. If a string
+	// value is provided it matches against the
+	// notebook type. '*' matches every notebook.
 	Notebook Or_NotebookCellTextDocumentFilter_notebook `json:"notebook"`
-	//A language id like `python`.
+	// A language id like `python`.
 	//
-	//Will be matched against the language id of the
-	//notebook cell document. '*' matches every language.
+	// Will be matched against the language id of the
+	// notebook cell document. '*' matches every language.
 	Language string `json:"language,omitempty"`
 }
 
 // A notebook document.
 //
 // @since 3.17.0
-type NotebookDocument struct { // line 7353
+type NotebookDocument struct { // line 7354
 	// The notebook document's uri.
 	URI URI `json:"uri"`
 	// The type of the notebook.
 	NotebookType string `json:"notebookType"`
-	//The version number of this document (it will increase after each
-	//change, including undo/redo).
+	// The version number of this document (it will increase after each
+	// change, including undo/redo).
 	Version int32 `json:"version"`
-	//Additional metadata stored with the notebook
-	//document.
+	// Additional metadata stored with the notebook
+	// document.
 	//
-	//Note: should always be an object literal (e.g. LSPObject)
+	// Note: should always be an object literal (e.g. LSPObject)
 	Metadata *LSPObject `json:"metadata,omitempty"`
 	// The cells of a notebook.
 	Cells []NotebookCell `json:"cells"`
@@ -2548,10 +2549,10 @@
 // A change event for a notebook document.
 //
 // @since 3.17.0
-type NotebookDocumentChangeEvent struct { // line 7465
-	//The changed meta data if any.
+type NotebookDocumentChangeEvent struct { // line 7466
+	// The changed meta data if any.
 	//
-	//Note: should always be an object literal (e.g. LSPObject)
+	// Note: should always be an object literal (e.g. LSPObject)
 	Metadata *LSPObject `json:"metadata,omitempty"`
 	// Changes to cells
 	Cells *PCellsPChange `json:"cells,omitempty"`
@@ -2560,10 +2561,10 @@
 // Capabilities specific to the notebook document support.
 //
 // @since 3.17.0
-type NotebookDocumentClientCapabilities struct { // line 10612
-	//Capabilities specific to notebook document synchronization
+type NotebookDocumentClientCapabilities struct { // line 10613
+	// Capabilities specific to notebook document synchronization
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	Synchronization NotebookDocumentSyncClientCapabilities `json:"synchronization"`
 }
 
@@ -2572,11 +2573,11 @@
 // against the notebook's URI (same as with documents)
 //
 // @since 3.17.0
-type NotebookDocumentFilter = Msg_NotebookDocumentFilter // (alias) line 14253
+type NotebookDocumentFilter = Msg_NotebookDocumentFilter // (alias) line 14254
 // A literal to identify a notebook document in the client.
 //
 // @since 3.17.0
-type NotebookDocumentIdentifier struct { // line 7581
+type NotebookDocumentIdentifier struct { // line 7582
 	// The notebook document's uri.
 	URI URI `json:"uri"`
 }
@@ -2584,11 +2585,11 @@
 // Notebook specific client capabilities.
 //
 // @since 3.17.0
-type NotebookDocumentSyncClientCapabilities struct { // line 12432
-	//Whether implementation supports dynamic registration. If this is
-	//set to `true` the client supports the new
-	//`(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
-	//return value for the corresponding server capability as well.
+type NotebookDocumentSyncClientCapabilities struct { // line 12433
+	// Whether implementation supports dynamic registration. If this is
+	// set to `true` the client supports the new
+	// `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+	// return value for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 	// The client supports sending execution summary data per cell.
 	ExecutionSummarySupport bool `json:"executionSummarySupport,omitempty"`
@@ -2607,559 +2608,559 @@
 // cell will be synced.
 //
 // @since 3.17.0
-type NotebookDocumentSyncOptions struct { // line 9794
+type NotebookDocumentSyncOptions struct { // line 9795
 	// The notebooks to be synced
 	NotebookSelector []PNotebookSelectorPNotebookDocumentSync `json:"notebookSelector"`
-	//Whether save notification should be forwarded to
-	//the server. Will only be honored if mode === `notebook`.
+	// Whether save notification should be forwarded to
+	// the server. Will only be honored if mode === `notebook`.
 	Save bool `json:"save,omitempty"`
 }
 
 // Registration options specific to a notebook.
 //
 // @since 3.17.0
-type NotebookDocumentSyncRegistrationOptions struct { // line 9914
+type NotebookDocumentSyncRegistrationOptions struct { // line 9915
 	NotebookDocumentSyncOptions
 	StaticRegistrationOptions
 }
 
 // A text document identifier to optionally denote a specific version of a text document.
-type OptionalVersionedTextDocumentIdentifier struct { // line 9342
-	//The version number of this document. If a versioned text document identifier
-	//is sent from the server to the client and the file is not open in the editor
-	//(the server has not received an open notification before) the server can send
-	//`null` to indicate that the version is unknown and the content on disk is the
-	//truth (as specified with document content ownership).
+type OptionalVersionedTextDocumentIdentifier struct { // line 9343
+	// The version number of this document. If a versioned text document identifier
+	// is sent from the server to the client and the file is not open in the editor
+	// (the server has not received an open notification before) the server can send
+	// `null` to indicate that the version is unknown and the content on disk is the
+	// truth (as specified with document content ownership).
 	Version int32 `json:"version"`
 	TextDocumentIdentifier
 }
 
 // created for Or [FEditRangePItemDefaults Range]
-type OrFEditRangePItemDefaults struct { // line 4769
+type OrFEditRangePItemDefaults struct { // line 4770
 	Value interface{} `json:"value"`
 }
 
 // created for Or [NotebookDocumentFilter string]
-type OrFNotebookPNotebookSelector struct { // line 9811
+type OrFNotebookPNotebookSelector struct { // line 9812
 	Value interface{} `json:"value"`
 }
 
 // created for Or [Location PLocationMsg_workspace_symbol]
-type OrPLocation_workspace_symbol struct { // line 5520
+type OrPLocation_workspace_symbol struct { // line 5521
 	Value interface{} `json:"value"`
 }
 
 // created for Or [[]string string]
-type OrPSection_workspace_didChangeConfiguration struct { // line 4163
+type OrPSection_workspace_didChangeConfiguration struct { // line 4164
 	Value interface{} `json:"value"`
 }
 
 // created for Or [MarkupContent string]
-type OrPTooltipPLabel struct { // line 7075
+type OrPTooltipPLabel struct { // line 7076
 	Value interface{} `json:"value"`
 }
 
 // created for Or [MarkupContent string]
-type OrPTooltip_textDocument_inlayHint struct { // line 3699
+type OrPTooltip_textDocument_inlayHint struct { // line 3700
 	Value interface{} `json:"value"`
 }
 
 // created for Or [int32 string]
-type Or_CancelParams_id struct { // line 6184
+type Or_CancelParams_id struct { // line 6185
 	Value interface{} `json:"value"`
 }
 
 // created for Or [MarkupContent string]
-type Or_CompletionItem_documentation struct { // line 4582
+type Or_CompletionItem_documentation struct { // line 4583
 	Value interface{} `json:"value"`
 }
 
 // created for Or [InsertReplaceEdit TextEdit]
-type Or_CompletionItem_textEdit struct { // line 4665
+type Or_CompletionItem_textEdit struct { // line 4666
 	Value interface{} `json:"value"`
 }
 
 // created for Or [Location []Location]
-type Or_Definition struct { // line 13753
+type Or_Definition struct { // line 13754
 	Value interface{} `json:"value"`
 }
 
 // created for Or [int32 string]
-type Or_Diagnostic_code struct { // line 8547
+type Or_Diagnostic_code struct { // line 8548
 	Value interface{} `json:"value"`
 }
 
 // created for Or [RelatedFullDocumentDiagnosticReport RelatedUnchangedDocumentDiagnosticReport]
-type Or_DocumentDiagnosticReport struct { // line 13885
+type Or_DocumentDiagnosticReport struct { // line 13886
 	Value interface{} `json:"value"`
 }
 
 // created for Or [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]
-type Or_DocumentDiagnosticReportPartialResult_relatedDocuments_Value struct { // line 3822
+type Or_DocumentDiagnosticReportPartialResult_relatedDocuments_Value struct { // line 3823
 	Value interface{} `json:"value"`
 }
 
 // created for Or [NotebookCellTextDocumentFilter TextDocumentFilter]
-type Or_DocumentFilter struct { // line 14095
+type Or_DocumentFilter struct { // line 14096
 	Value interface{} `json:"value"`
 }
 
 // created for Or [MarkedString MarkupContent []MarkedString]
-type Or_Hover_contents struct { // line 4891
+type Or_Hover_contents struct { // line 4892
 	Value interface{} `json:"value"`
 }
 
 // created for Or [[]InlayHintLabelPart string]
-type Or_InlayHint_label struct { // line 3658
+type Or_InlayHint_label struct { // line 3659
 	Value interface{} `json:"value"`
 }
 
 // created for Or [InlineValueEvaluatableExpression InlineValueText InlineValueVariableLookup]
-type Or_InlineValue struct { // line 13863
+type Or_InlineValue struct { // line 13864
 	Value interface{} `json:"value"`
 }
 
 // created for Or [Msg_MarkedString string]
-type Or_MarkedString struct { // line 14060
+type Or_MarkedString struct { // line 14061
 	Value interface{} `json:"value"`
 }
 
 // created for Or [NotebookDocumentFilter string]
-type Or_NotebookCellTextDocumentFilter_notebook struct { // line 10118
+type Or_NotebookCellTextDocumentFilter_notebook struct { // line 10119
 	Value interface{} `json:"value"`
 }
 
 // created for Or [NotebookDocumentFilter string]
-type Or_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_notebook struct { // line 9857
+type Or_NotebookDocumentSyncOptions_notebookSelector_Elem_Item1_notebook struct { // line 9858
 	Value interface{} `json:"value"`
 }
 
 // created for Or [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]
-type Or_RelatedFullDocumentDiagnosticReport_relatedDocuments_Value struct { // line 7168
+type Or_RelatedFullDocumentDiagnosticReport_relatedDocuments_Value struct { // line 7169
 	Value interface{} `json:"value"`
 }
 
 // created for Or [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]
-type Or_RelatedUnchangedDocumentDiagnosticReport_relatedDocuments_Value struct { // line 7207
+type Or_RelatedUnchangedDocumentDiagnosticReport_relatedDocuments_Value struct { // line 7208
 	Value interface{} `json:"value"`
 }
 
 // created for Or [URI WorkspaceFolder]
-type Or_RelativePattern_baseUri struct { // line 10741
+type Or_RelativePattern_baseUri struct { // line 10742
 	Value interface{} `json:"value"`
 }
 
 // created for Or [CodeAction Command]
-type Or_Result_textDocument_codeAction_Item0_Elem struct { // line 1371
+type Or_Result_textDocument_codeAction_Item0_Elem struct { // line 1372
 	Value interface{} `json:"value"`
 }
 
 // created for Or [FFullPRequests bool]
-type Or_SemanticTokensClientCapabilities_requests_full struct { // line 12197
+type Or_SemanticTokensClientCapabilities_requests_full struct { // line 12198
 	Value interface{} `json:"value"`
 }
 
 // created for Or [FRangePRequests bool]
-type Or_SemanticTokensClientCapabilities_requests_range struct { // line 12177
+type Or_SemanticTokensClientCapabilities_requests_range struct { // line 12178
 	Value interface{} `json:"value"`
 }
 
 // created for Or [PFullESemanticTokensOptions bool]
-type Or_SemanticTokensOptions_full struct { // line 6579
+type Or_SemanticTokensOptions_full struct { // line 6580
 	Value interface{} `json:"value"`
 }
 
 // created for Or [PRangeESemanticTokensOptions bool]
-type Or_SemanticTokensOptions_range struct { // line 6559
+type Or_SemanticTokensOptions_range struct { // line 6560
 	Value interface{} `json:"value"`
 }
 
 // created for Or [CallHierarchyOptions CallHierarchyRegistrationOptions bool]
-type Or_ServerCapabilities_callHierarchyProvider struct { // line 8227
+type Or_ServerCapabilities_callHierarchyProvider struct { // line 8228
 	Value interface{} `json:"value"`
 }
 
 // created for Or [CodeActionOptions bool]
-type Or_ServerCapabilities_codeActionProvider struct { // line 8035
+type Or_ServerCapabilities_codeActionProvider struct { // line 8036
 	Value interface{} `json:"value"`
 }
 
 // created for Or [DocumentColorOptions DocumentColorRegistrationOptions bool]
-type Or_ServerCapabilities_colorProvider struct { // line 8071
+type Or_ServerCapabilities_colorProvider struct { // line 8072
 	Value interface{} `json:"value"`
 }
 
 // created for Or [DeclarationOptions DeclarationRegistrationOptions bool]
-type Or_ServerCapabilities_declarationProvider struct { // line 7897
+type Or_ServerCapabilities_declarationProvider struct { // line 7898
 	Value interface{} `json:"value"`
 }
 
 // created for Or [DefinitionOptions bool]
-type Or_ServerCapabilities_definitionProvider struct { // line 7919
+type Or_ServerCapabilities_definitionProvider struct { // line 7920
 	Value interface{} `json:"value"`
 }
 
 // created for Or [DiagnosticOptions DiagnosticRegistrationOptions]
-type Or_ServerCapabilities_diagnosticProvider struct { // line 8384
+type Or_ServerCapabilities_diagnosticProvider struct { // line 8385
 	Value interface{} `json:"value"`
 }
 
 // created for Or [DocumentFormattingOptions bool]
-type Or_ServerCapabilities_documentFormattingProvider struct { // line 8111
+type Or_ServerCapabilities_documentFormattingProvider struct { // line 8112
 	Value interface{} `json:"value"`
 }
 
 // created for Or [DocumentHighlightOptions bool]
-type Or_ServerCapabilities_documentHighlightProvider struct { // line 7999
+type Or_ServerCapabilities_documentHighlightProvider struct { // line 8000
 	Value interface{} `json:"value"`
 }
 
 // created for Or [DocumentRangeFormattingOptions bool]
-type Or_ServerCapabilities_documentRangeFormattingProvider struct { // line 8129
+type Or_ServerCapabilities_documentRangeFormattingProvider struct { // line 8130
 	Value interface{} `json:"value"`
 }
 
 // created for Or [DocumentSymbolOptions bool]
-type Or_ServerCapabilities_documentSymbolProvider struct { // line 8017
+type Or_ServerCapabilities_documentSymbolProvider struct { // line 8018
 	Value interface{} `json:"value"`
 }
 
 // created for Or [FoldingRangeOptions FoldingRangeRegistrationOptions bool]
-type Or_ServerCapabilities_foldingRangeProvider struct { // line 8174
+type Or_ServerCapabilities_foldingRangeProvider struct { // line 8175
 	Value interface{} `json:"value"`
 }
 
 // created for Or [HoverOptions bool]
-type Or_ServerCapabilities_hoverProvider struct { // line 7870
+type Or_ServerCapabilities_hoverProvider struct { // line 7871
 	Value interface{} `json:"value"`
 }
 
 // created for Or [ImplementationOptions ImplementationRegistrationOptions bool]
-type Or_ServerCapabilities_implementationProvider struct { // line 7959
+type Or_ServerCapabilities_implementationProvider struct { // line 7960
 	Value interface{} `json:"value"`
 }
 
 // created for Or [InlayHintOptions InlayHintRegistrationOptions bool]
-type Or_ServerCapabilities_inlayHintProvider struct { // line 8361
+type Or_ServerCapabilities_inlayHintProvider struct { // line 8362
 	Value interface{} `json:"value"`
 }
 
 // created for Or [InlineValueOptions InlineValueRegistrationOptions bool]
-type Or_ServerCapabilities_inlineValueProvider struct { // line 8338
+type Or_ServerCapabilities_inlineValueProvider struct { // line 8339
 	Value interface{} `json:"value"`
 }
 
 // created for Or [LinkedEditingRangeOptions LinkedEditingRangeRegistrationOptions bool]
-type Or_ServerCapabilities_linkedEditingRangeProvider struct { // line 8250
+type Or_ServerCapabilities_linkedEditingRangeProvider struct { // line 8251
 	Value interface{} `json:"value"`
 }
 
 // created for Or [MonikerOptions MonikerRegistrationOptions bool]
-type Or_ServerCapabilities_monikerProvider struct { // line 8292
+type Or_ServerCapabilities_monikerProvider struct { // line 8293
 	Value interface{} `json:"value"`
 }
 
 // created for Or [NotebookDocumentSyncOptions NotebookDocumentSyncRegistrationOptions]
-type Or_ServerCapabilities_notebookDocumentSync struct { // line 7842
+type Or_ServerCapabilities_notebookDocumentSync struct { // line 7843
 	Value interface{} `json:"value"`
 }
 
 // created for Or [ReferenceOptions bool]
-type Or_ServerCapabilities_referencesProvider struct { // line 7981
+type Or_ServerCapabilities_referencesProvider struct { // line 7982
 	Value interface{} `json:"value"`
 }
 
 // created for Or [RenameOptions bool]
-type Or_ServerCapabilities_renameProvider struct { // line 8156
+type Or_ServerCapabilities_renameProvider struct { // line 8157
 	Value interface{} `json:"value"`
 }
 
 // created for Or [SelectionRangeOptions SelectionRangeRegistrationOptions bool]
-type Or_ServerCapabilities_selectionRangeProvider struct { // line 8196
+type Or_ServerCapabilities_selectionRangeProvider struct { // line 8197
 	Value interface{} `json:"value"`
 }
 
 // created for Or [SemanticTokensOptions SemanticTokensRegistrationOptions]
-type Or_ServerCapabilities_semanticTokensProvider struct { // line 8273
+type Or_ServerCapabilities_semanticTokensProvider struct { // line 8274
 	Value interface{} `json:"value"`
 }
 
 // created for Or [TextDocumentSyncKind TextDocumentSyncOptions]
-type Or_ServerCapabilities_textDocumentSync struct { // line 7824
+type Or_ServerCapabilities_textDocumentSync struct { // line 7825
 	Value interface{} `json:"value"`
 }
 
 // created for Or [TypeDefinitionOptions TypeDefinitionRegistrationOptions bool]
-type Or_ServerCapabilities_typeDefinitionProvider struct { // line 7937
+type Or_ServerCapabilities_typeDefinitionProvider struct { // line 7938
 	Value interface{} `json:"value"`
 }
 
 // created for Or [TypeHierarchyOptions TypeHierarchyRegistrationOptions bool]
-type Or_ServerCapabilities_typeHierarchyProvider struct { // line 8315
+type Or_ServerCapabilities_typeHierarchyProvider struct { // line 8316
 	Value interface{} `json:"value"`
 }
 
 // created for Or [WorkspaceSymbolOptions bool]
-type Or_ServerCapabilities_workspaceSymbolProvider struct { // line 8093
+type Or_ServerCapabilities_workspaceSymbolProvider struct { // line 8094
 	Value interface{} `json:"value"`
 }
 
 // created for Or [MarkupContent string]
-type Or_SignatureInformation_documentation struct { // line 8841
+type Or_SignatureInformation_documentation struct { // line 8842
 	Value interface{} `json:"value"`
 }
 
 // created for Or [AnnotatedTextEdit TextEdit]
-type Or_TextDocumentEdit_edits_Elem struct { // line 6692
+type Or_TextDocumentEdit_edits_Elem struct { // line 6693
 	Value interface{} `json:"value"`
 }
 
 // created for Or [SaveOptions bool]
-type Or_TextDocumentSyncOptions_save struct { // line 9777
+type Or_TextDocumentSyncOptions_save struct { // line 9778
 	Value interface{} `json:"value"`
 }
 
 // created for Or [WorkspaceFullDocumentDiagnosticReport WorkspaceUnchangedDocumentDiagnosticReport]
-type Or_WorkspaceDocumentDiagnosticReport struct { // line 13986
+type Or_WorkspaceDocumentDiagnosticReport struct { // line 13987
 	Value interface{} `json:"value"`
 }
 
 // created for Or [CreateFile DeleteFile RenameFile TextDocumentEdit]
-type Or_WorkspaceEdit_documentChanges_Elem struct { // line 3219
+type Or_WorkspaceEdit_documentChanges_Elem struct { // line 3220
 	Value interface{} `json:"value"`
 }
 
 // created for Or [Declaration []DeclarationLink]
-type Or_textDocument_declaration struct { // line 248
+type Or_textDocument_declaration struct { // line 249
 	Value interface{} `json:"value"`
 }
 
 // created for Literal (Lit_NotebookDocumentChangeEvent_cells)
-type PCellsPChange struct { // line 7480
-	//Changes to the cell structure to add or
-	//remove cells.
+type PCellsPChange struct { // line 7481
+	// Changes to the cell structure to add or
+	// remove cells.
 	Structure FStructurePCells `json:"structure"`
-	//Changes to notebook cells properties like its
-	//kind, execution summary or metadata.
+	// Changes to notebook cells properties like its
+	// kind, execution summary or metadata.
 	Data []NotebookCell `json:"data"`
 	// Changes to the text content of notebook cells.
 	TextContent []Lit_NotebookDocumentChangeEvent_cells_textContent_Elem `json:"textContent"`
 }
 
 // created for Literal (Lit_WorkspaceEditClientCapabilities_changeAnnotationSupport)
-type PChangeAnnotationSupportPWorkspaceEdit struct { // line 10815
-	//Whether the client groups edits with equal labels into tree nodes,
-	//for instance all edits labelled with "Changes in Strings" would
-	//be a tree node.
+type PChangeAnnotationSupportPWorkspaceEdit struct { // line 10816
+	// Whether the client groups edits with equal labels into tree nodes,
+	// for instance all edits labelled with "Changes in Strings" would
+	// be a tree node.
 	GroupsOnLabel bool `json:"groupsOnLabel"`
 }
 
 // created for Literal (Lit_CodeActionClientCapabilities_codeActionLiteralSupport)
-type PCodeActionLiteralSupportPCodeAction struct { // line 11735
-	//The code action kind is support with the following value
-	//set.
+type PCodeActionLiteralSupportPCodeAction struct { // line 11736
+	// The code action kind is support with the following value
+	// set.
 	CodeActionKind FCodeActionKindPCodeActionLiteralSupport `json:"codeActionKind"`
 }
 
 // created for Literal (Lit_CompletionClientCapabilities_completionItemKind)
-type PCompletionItemKindPCompletion struct { // line 11333
-	//The completion item kind values the client supports. When this
-	//property exists the client also guarantees that it will
-	//handle values outside its set gracefully and falls back
-	//to a default value when unknown.
+type PCompletionItemKindPCompletion struct { // line 11334
+	// The completion item kind values the client supports. When this
+	// property exists the client also guarantees that it will
+	// handle values outside its set gracefully and falls back
+	// to a default value when unknown.
 	//
-	//If this property is not present the client only supports
-	//the completion items kinds from `Text` to `Reference` as defined in
-	//the initial version of the protocol.
+	// If this property is not present the client only supports
+	// the completion items kinds from `Text` to `Reference` as defined in
+	// the initial version of the protocol.
 	ValueSet []CompletionItemKind `json:"valueSet"`
 }
 
 // created for Literal (Lit_CompletionClientCapabilities_completionItem)
-type PCompletionItemPCompletion struct { // line 11182
-	//Client supports snippets as insert text.
+type PCompletionItemPCompletion struct { // line 11183
+	// Client supports snippets as insert text.
 	//
-	//A snippet can define tab stops and placeholders with `$1`, `$2`
-	//and `${3:foo}`. `$0` defines the final tab stop, it defaults to
-	//the end of the snippet. Placeholders with equal identifiers are linked,
-	//that is typing in one will update others too.
+	// A snippet can define tab stops and placeholders with `$1`, `$2`
+	// and `${3:foo}`. `$0` defines the final tab stop, it defaults to
+	// the end of the snippet. Placeholders with equal identifiers are linked,
+	// that is typing in one will update others too.
 	SnippetSupport bool `json:"snippetSupport"`
 	// Client supports commit characters on a completion item.
 	CommitCharactersSupport bool `json:"commitCharactersSupport"`
-	//Client supports the following content formats for the documentation
-	//property. The order describes the preferred format of the client.
+	// Client supports the following content formats for the documentation
+	// property. The order describes the preferred format of the client.
 	DocumentationFormat []MarkupKind `json:"documentationFormat"`
 	// Client supports the deprecated property on a completion item.
 	DeprecatedSupport bool `json:"deprecatedSupport"`
 	// Client supports the preselect property on a completion item.
 	PreselectSupport bool `json:"preselectSupport"`
-	//Client supports the tag property on a completion item. Clients supporting
-	//tags have to handle unknown tags gracefully. Clients especially need to
-	//preserve unknown tags when sending a completion item back to the server in
-	//a resolve call.
+	// Client supports the tag property on a completion item. Clients supporting
+	// tags have to handle unknown tags gracefully. Clients especially need to
+	// preserve unknown tags when sending a completion item back to the server in
+	// a resolve call.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	TagSupport FTagSupportPCompletionItem `json:"tagSupport"`
-	//Client support insert replace edit to control different behavior if a
-	//completion item is inserted in the text or should replace text.
+	// Client support insert replace edit to control different behavior if a
+	// completion item is inserted in the text or should replace text.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	InsertReplaceSupport bool `json:"insertReplaceSupport"`
-	//Indicates which properties a client can resolve lazily on a completion
-	//item. Before version 3.16.0 only the predefined properties `documentation`
-	//and `details` could be resolved lazily.
+	// Indicates which properties a client can resolve lazily on a completion
+	// item. Before version 3.16.0 only the predefined properties `documentation`
+	// and `details` could be resolved lazily.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	ResolveSupport FResolveSupportPCompletionItem `json:"resolveSupport"`
-	//The client supports the `insertTextMode` property on
-	//a completion item to override the whitespace handling mode
-	//as defined by the client (see `insertTextMode`).
+	// The client supports the `insertTextMode` property on
+	// a completion item to override the whitespace handling mode
+	// as defined by the client (see `insertTextMode`).
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	InsertTextModeSupport FInsertTextModeSupportPCompletionItem `json:"insertTextModeSupport"`
-	//The client has support for completion item label
-	//details (see also `CompletionItemLabelDetails`).
+	// The client has support for completion item label
+	// details (see also `CompletionItemLabelDetails`).
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	LabelDetailsSupport bool `json:"labelDetailsSupport"`
 }
 
 // created for Literal (Lit_CompletionOptions_completionItem)
-type PCompletionItemPCompletionProvider struct { // line 8746
-	//The server has support for completion item label
-	//details (see also `CompletionItemLabelDetails`) when
-	//receiving a completion item in a resolve call.
+type PCompletionItemPCompletionProvider struct { // line 8747
+	// The server has support for completion item label
+	// details (see also `CompletionItemLabelDetails`) when
+	// receiving a completion item in a resolve call.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	LabelDetailsSupport bool `json:"labelDetailsSupport"`
 }
 
 // created for Literal (Lit_CompletionClientCapabilities_completionList)
-type PCompletionListPCompletion struct { // line 11375
-	//The client supports the following itemDefaults on
-	//a completion list.
+type PCompletionListPCompletion struct { // line 11376
+	// The client supports the following itemDefaults on
+	// a completion list.
 	//
-	//The value lists the supported property names of the
-	//`CompletionList.itemDefaults` object. If omitted
-	//no properties are supported.
+	// The value lists the supported property names of the
+	// `CompletionList.itemDefaults` object. If omitted
+	// no properties are supported.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	ItemDefaults []string `json:"itemDefaults"`
 }
 
 // created for Literal (Lit_CodeAction_disabled)
-type PDisabledMsg_textDocument_codeAction struct { // line 5426
-	//Human readable description of why the code action is currently disabled.
+type PDisabledMsg_textDocument_codeAction struct { // line 5427
+	// Human readable description of why the code action is currently disabled.
 	//
-	//This is displayed in the code actions UI.
+	// This is displayed in the code actions UI.
 	Reason string `json:"reason"`
 }
 
 // created for Literal (Lit_FoldingRangeClientCapabilities_foldingRangeKind)
-type PFoldingRangeKindPFoldingRange struct { // line 12010
-	//The folding range kind values the client supports. When this
-	//property exists the client also guarantees that it will
-	//handle values outside its set gracefully and falls back
-	//to a default value when unknown.
+type PFoldingRangeKindPFoldingRange struct { // line 12011
+	// The folding range kind values the client supports. When this
+	// property exists the client also guarantees that it will
+	// handle values outside its set gracefully and falls back
+	// to a default value when unknown.
 	ValueSet []FoldingRangeKind `json:"valueSet"`
 }
 
 // created for Literal (Lit_FoldingRangeClientCapabilities_foldingRange)
-type PFoldingRangePFoldingRange struct { // line 12035
-	//If set, the client signals that it supports setting collapsedText on
-	//folding ranges to display custom labels instead of the default text.
+type PFoldingRangePFoldingRange struct { // line 12036
+	// If set, the client signals that it supports setting collapsedText on
+	// folding ranges to display custom labels instead of the default text.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	CollapsedText bool `json:"collapsedText"`
 }
 
 // created for Literal (Lit_SemanticTokensOptions_full_Item1)
-type PFullESemanticTokensOptions struct { // line 6586
+type PFullESemanticTokensOptions struct { // line 6587
 	// The server supports deltas for full documents.
 	Delta bool `json:"delta"`
 }
 
 // created for Literal (Lit_CompletionList_itemDefaults)
-type PItemDefaultsMsg_textDocument_completion struct { // line 4750
-	//A default commit character set.
+type PItemDefaultsMsg_textDocument_completion struct { // line 4751
+	// A default commit character set.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	CommitCharacters []string `json:"commitCharacters"`
-	//A default edit range.
+	// A default edit range.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	EditRange OrFEditRangePItemDefaults `json:"editRange"`
-	//A default insert text format.
+	// A default insert text format.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	InsertTextFormat InsertTextFormat `json:"insertTextFormat"`
-	//A default insert text mode.
+	// A default insert text mode.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	InsertTextMode InsertTextMode `json:"insertTextMode"`
-	//A default data value.
+	// A default data value.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	Data interface{} `json:"data"`
 }
 
 // created for Literal (Lit_WorkspaceSymbol_location_Item1)
-type PLocationMsg_workspace_symbol struct { // line 5527
+type PLocationMsg_workspace_symbol struct { // line 5528
 	URI DocumentURI `json:"uri"`
 }
 
 // created for Literal (Lit_ShowMessageRequestClientCapabilities_messageActionItem)
-type PMessageActionItemPShowMessage struct { // line 12463
-	//Whether the client supports additional attributes which
-	//are preserved and send back to the server in the
-	//request's response.
+type PMessageActionItemPShowMessage struct { // line 12464
+	// Whether the client supports additional attributes which
+	// are preserved and send back to the server in the
+	// request's response.
 	AdditionalPropertiesSupport bool `json:"additionalPropertiesSupport"`
 }
 
 // created for Literal (Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item0)
-type PNotebookSelectorPNotebookDocumentSync struct { // line 9805
-	//The notebook to be synced If a string
-	//value is provided it matches against the
-	//notebook type. '*' matches every notebook.
+type PNotebookSelectorPNotebookDocumentSync struct { // line 9806
+	// The notebook to be synced If a string
+	// value is provided it matches against the
+	// notebook type. '*' matches every notebook.
 	Notebook OrFNotebookPNotebookSelector `json:"notebook"`
 	// The cells of the matching notebook to be synced.
 	Cells []Lit_NotebookDocumentSyncOptions_notebookSelector_Elem_Item0_cells_Elem `json:"cells"`
 }
 
 // created for Literal (Lit_SemanticTokensOptions_range_Item1)
-type PRangeESemanticTokensOptions struct { // line 6566
+type PRangeESemanticTokensOptions struct { // line 6567
 }
 
 // created for Literal (Lit_SemanticTokensClientCapabilities_requests)
-type PRequestsPSemanticTokens struct { // line 12171
-	//The client will send the `textDocument/semanticTokens/range` request if
-	//the server provides a corresponding handler.
+type PRequestsPSemanticTokens struct { // line 12172
+	// The client will send the `textDocument/semanticTokens/range` request if
+	// the server provides a corresponding handler.
 	Range Or_SemanticTokensClientCapabilities_requests_range `json:"range"`
-	//The client will send the `textDocument/semanticTokens/full` request if
-	//the server provides a corresponding handler.
+	// The client will send the `textDocument/semanticTokens/full` request if
+	// the server provides a corresponding handler.
 	Full Or_SemanticTokensClientCapabilities_requests_full `json:"full"`
 }
 
 // created for Literal (Lit_CodeActionClientCapabilities_resolveSupport)
-type PResolveSupportPCodeAction struct { // line 11800
+type PResolveSupportPCodeAction struct { // line 11801
 	// The properties that a client can resolve lazily.
 	Properties []string `json:"properties"`
 }
 
 // created for Literal (Lit_InlayHintClientCapabilities_resolveSupport)
-type PResolveSupportPInlayHint struct { // line 12383
+type PResolveSupportPInlayHint struct { // line 12384
 	// The properties that a client can resolve lazily.
 	Properties []string `json:"properties"`
 }
 
 // created for Literal (Lit_WorkspaceSymbolClientCapabilities_resolveSupport)
-type PResolveSupportPSymbol struct { // line 10937
-	//The properties that a client can resolve lazily. Usually
-	//`location.range`
+type PResolveSupportPSymbol struct { // line 10938
+	// The properties that a client can resolve lazily. Usually
+	// `location.range`
 	Properties []string `json:"properties"`
 }
 
 // created for Literal (Lit_InitializeResult_serverInfo)
-type PServerInfoMsg_initialize struct { // line 4095
+type PServerInfoMsg_initialize struct { // line 4096
 	// The name of the server as defined by the server.
 	Name string `json:"name"`
 	// The server's version as defined by the server.
@@ -3167,101 +3168,101 @@
 }
 
 // created for Literal (Lit_SignatureHelpClientCapabilities_signatureInformation)
-type PSignatureInformationPSignatureHelp struct { // line 11442
-	//Client supports the following content formats for the documentation
-	//property. The order describes the preferred format of the client.
+type PSignatureInformationPSignatureHelp struct { // line 11443
+	// Client supports the following content formats for the documentation
+	// property. The order describes the preferred format of the client.
 	DocumentationFormat []MarkupKind `json:"documentationFormat"`
 	// Client capabilities specific to parameter information.
 	ParameterInformation FParameterInformationPSignatureInformation `json:"parameterInformation"`
-	//The client supports the `activeParameter` property on `SignatureInformation`
-	//literal.
+	// The client supports the `activeParameter` property on `SignatureInformation`
+	// literal.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	ActiveParameterSupport bool `json:"activeParameterSupport"`
 }
 
 // created for Literal (Lit_GeneralClientCapabilities_staleRequestSupport)
-type PStaleRequestSupportPGeneral struct { // line 10669
+type PStaleRequestSupportPGeneral struct { // line 10670
 	// The client will actively cancel the request.
 	Cancel bool `json:"cancel"`
-	//The list of requests for which the client
-	//will retry the request if it receives a
-	//response with error code `ContentModified`
+	// The list of requests for which the client
+	// will retry the request if it receives a
+	// response with error code `ContentModified`
 	RetryOnContentModified []string `json:"retryOnContentModified"`
 }
 
 // created for Literal (Lit_DocumentSymbolClientCapabilities_symbolKind)
-type PSymbolKindPDocumentSymbol struct { // line 11653
-	//The symbol kind values the client supports. When this
-	//property exists the client also guarantees that it will
-	//handle values outside its set gracefully and falls back
-	//to a default value when unknown.
+type PSymbolKindPDocumentSymbol struct { // line 11654
+	// The symbol kind values the client supports. When this
+	// property exists the client also guarantees that it will
+	// handle values outside its set gracefully and falls back
+	// to a default value when unknown.
 	//
-	//If this property is not present the client only supports
-	//the symbol kinds from `File` to `Array` as defined in
-	//the initial version of the protocol.
+	// If this property is not present the client only supports
+	// the symbol kinds from `File` to `Array` as defined in
+	// the initial version of the protocol.
 	ValueSet []SymbolKind `json:"valueSet"`
 }
 
 // created for Literal (Lit_WorkspaceSymbolClientCapabilities_symbolKind)
-type PSymbolKindPSymbol struct { // line 10889
-	//The symbol kind values the client supports. When this
-	//property exists the client also guarantees that it will
-	//handle values outside its set gracefully and falls back
-	//to a default value when unknown.
+type PSymbolKindPSymbol struct { // line 10890
+	// The symbol kind values the client supports. When this
+	// property exists the client also guarantees that it will
+	// handle values outside its set gracefully and falls back
+	// to a default value when unknown.
 	//
-	//If this property is not present the client only supports
-	//the symbol kinds from `File` to `Array` as defined in
-	//the initial version of the protocol.
+	// If this property is not present the client only supports
+	// the symbol kinds from `File` to `Array` as defined in
+	// the initial version of the protocol.
 	ValueSet []SymbolKind `json:"valueSet"`
 }
 
 // created for Literal (Lit_DocumentSymbolClientCapabilities_tagSupport)
-type PTagSupportPDocumentSymbol struct { // line 11686
+type PTagSupportPDocumentSymbol struct { // line 11687
 	// The tags supported by the client.
 	ValueSet []SymbolTag `json:"valueSet"`
 }
 
 // created for Literal (Lit_PublishDiagnosticsClientCapabilities_tagSupport)
-type PTagSupportPPublishDiagnostics struct { // line 12086
+type PTagSupportPPublishDiagnostics struct { // line 12087
 	// The tags supported by the client.
 	ValueSet []DiagnosticTag `json:"valueSet"`
 }
 
 // created for Literal (Lit_WorkspaceSymbolClientCapabilities_tagSupport)
-type PTagSupportPSymbol struct { // line 10913
+type PTagSupportPSymbol struct { // line 10914
 	// The tags supported by the client.
 	ValueSet []SymbolTag `json:"valueSet"`
 }
 
 // The parameters of a configuration request.
-type ParamConfiguration struct { // line 2198
+type ParamConfiguration struct { // line 2199
 	Items []ConfigurationItem `json:"items"`
 }
-type ParamInitialize struct { // line 4067
+type ParamInitialize struct { // line 4068
 	XInitializeParams
 	WorkspaceFoldersInitializeParams
 }
 
 // Represents a parameter of a callable-signature. A parameter can
 // have a label and a doc-comment.
-type ParameterInformation struct { // line 10062
-	//The label of this parameter information.
+type ParameterInformation struct { // line 10063
+	// The label of this parameter information.
 	//
-	//Either a string or an inclusive start and exclusive end offsets within its containing
-	//signature label. (see SignatureInformation.label). The offsets are based on a UTF-16
-	//string representation as `Position` and `Range` does.
+	// Either a string or an inclusive start and exclusive end offsets within its containing
+	// signature label. (see SignatureInformation.label). The offsets are based on a UTF-16
+	// string representation as `Position` and `Range` does.
 	//
-	//*Note*: a label of type string should be a substring of its containing signature label.
-	//Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`.
+	// *Note*: a label of type string should be a substring of its containing signature label.
+	// Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`.
 	Label string `json:"label"`
-	//The human-readable doc-comment of this parameter. Will be shown
-	//in the UI but can be omitted.
+	// The human-readable doc-comment of this parameter. Will be shown
+	// in the UI but can be omitted.
 	Documentation string `json:"documentation,omitempty"`
 }
-type PartialResultParams struct { // line 6257
-	//An optional token that a server can use to report partial results (e.g. streaming) to
-	//the client.
+type PartialResultParams struct { // line 6258
+	// An optional token that a server can use to report partial results (e.g. streaming) to
+	// the client.
 	PartialResultToken ProgressToken `json:"partialResultToken,omitempty"`
 }
 
@@ -3275,7 +3276,7 @@
 //   - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
 //
 // @since 3.17.0
-type Pattern = string // (alias) line 14362
+type Pattern = string // (alias) line 14363
 // Position in a text document expressed as zero-based line and character
 // offset. Prior to 3.17 the offsets were always based on a UTF-16 string
 // representation. So a string of the form `a𐐀b` the character offset of the
@@ -3303,39 +3304,39 @@
 // that denotes `\r|\n` or `\n|` where `|` represents the character offset.
 //
 // @since 3.17.0 - support for negotiated position encoding.
-type Position struct { // line 6500
-	//Line position in a document (zero-based).
+type Position struct { // line 6501
+	// Line position in a document (zero-based).
 	//
-	//If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document.
-	//If a line number is negative, it defaults to 0.
+	// If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document.
+	// If a line number is negative, it defaults to 0.
 	Line uint32 `json:"line"`
-	//Character offset on a line in a document (zero-based).
+	// Character offset on a line in a document (zero-based).
 	//
-	//The meaning of this offset is determined by the negotiated
-	//`PositionEncodingKind`.
+	// The meaning of this offset is determined by the negotiated
+	// `PositionEncodingKind`.
 	//
-	//If the character value is greater than the line length it defaults back to the
-//line length.
+	// If the character value is greater than the line length it defaults back to the
+	// line length.
 	Character uint32 `json:"character"`
 }
 
 // A set of predefined position encoding kinds.
 //
 // @since 3.17.0
-type PositionEncodingKind string             // line 13426
+type PositionEncodingKind string             // line 13427
 type PrepareRename2Gn = Msg_PrepareRename2Gn // (alias) line 13927
-type PrepareRenameParams struct {            // line 5924
+type PrepareRenameParams struct {            // line 5925
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 }
 type PrepareRenameResult = Msg_PrepareRename2Gn // (alias) line 13927
-type PrepareSupportDefaultBehavior uint32       // line 13721
+type PrepareSupportDefaultBehavior uint32       // line 13722
 // A previous result id in a workspace pull request.
 //
 // @since 3.17.0
-type PreviousResultID struct { // line 7330
-	//The URI for which the client knowns a
-	//result id.
+type PreviousResultID struct { // line 7331
+	// The URI for which the client knowns a
+	// result id.
 	URI DocumentURI `json:"uri"`
 	// The value of the previous result id.
 	Value string `json:"value"`
@@ -3344,53 +3345,53 @@
 // A previous result id in a workspace pull request.
 //
 // @since 3.17.0
-type PreviousResultId struct { // line 7330
-	//The URI for which the client knowns a
-	//result id.
+type PreviousResultId struct { // line 7331
+	// The URI for which the client knowns a
+	// result id.
 	URI DocumentURI `json:"uri"`
 	// The value of the previous result id.
 	Value string `json:"value"`
 }
-type ProgressParams struct { // line 6200
+type ProgressParams struct { // line 6201
 	// The progress token provided by the client or server.
 	Token ProgressToken `json:"token"`
 	// The progress data.
 	Value interface{} `json:"value"`
 }
-type ProgressToken = interface{} // (alias) line 13959
+type ProgressToken = interface{} // (alias) line 13960
 // The publish diagnostic client capabilities.
-type PublishDiagnosticsClientCapabilities struct { // line 12071
+type PublishDiagnosticsClientCapabilities struct { // line 12072
 	// Whether the clients accepts diagnostics with related information.
 	RelatedInformation bool `json:"relatedInformation,omitempty"`
-	//Client supports the tag property to provide meta data about a diagnostic.
-	//Clients supporting tags have to handle unknown tags gracefully.
+	// Client supports the tag property to provide meta data about a diagnostic.
+	// Clients supporting tags have to handle unknown tags gracefully.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	TagSupport *PTagSupportPPublishDiagnostics `json:"tagSupport,omitempty"`
-	//Whether the client interprets the version property of the
-	//`textDocument/publishDiagnostics` notification's parameter.
+	// Whether the client interprets the version property of the
+	// `textDocument/publishDiagnostics` notification's parameter.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	VersionSupport bool `json:"versionSupport,omitempty"`
-	//Client supports a codeDescription property
+	// Client supports a codeDescription property
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	CodeDescriptionSupport bool `json:"codeDescriptionSupport,omitempty"`
-	//Whether code action supports the `data` property which is
-	//preserved between a `textDocument/publishDiagnostics` and
-	//`textDocument/codeAction` request.
+	// Whether code action supports the `data` property which is
+	// preserved between a `textDocument/publishDiagnostics` and
+	// `textDocument/codeAction` request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	DataSupport bool `json:"dataSupport,omitempty"`
 }
 
 // The publish diagnostic notification's parameters.
-type PublishDiagnosticsParams struct { // line 4461
+type PublishDiagnosticsParams struct { // line 4462
 	// The URI for which diagnostic information is reported.
 	URI DocumentURI `json:"uri"`
-	//Optional the version number of the document the diagnostics are published for.
+	// Optional the version number of the document the diagnostics are published for.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	Version int32 `json:"version,omitempty"`
 	// An array of diagnostic information items.
 	Diagnostics []Diagnostic `json:"diagnostics"`
@@ -3404,12 +3405,12 @@
 // ```ts
 //
 //	{
-//	   start: { line: 5, character: 23 }
-//	   end : { line 6, character : 0 }
+//	    start: { line: 5, character: 23 }
+//	    end : { line 6, character : 0 }
 //	}
 //
 // ```
-type Range struct { // line 6310
+type Range struct { // line 6311
 	// The range's start position.
 	Start Position `json:"start"`
 	// The range's end position.
@@ -3417,25 +3418,25 @@
 }
 
 // Client Capabilities for a {@link ReferencesRequest}.
-type ReferenceClientCapabilities struct { // line 11608
+type ReferenceClientCapabilities struct { // line 11609
 	// Whether references supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // Value-object that contains additional information when
 // requesting references.
-type ReferenceContext struct { // line 8929
+type ReferenceContext struct { // line 8930
 	// Include the declaration of the current symbol.
 	IncludeDeclaration bool `json:"includeDeclaration"`
 }
 
 // Reference options.
-type ReferenceOptions struct { // line 8943
+type ReferenceOptions struct { // line 8944
 	WorkDoneProgressOptions
 }
 
 // Parameters for a {@link ReferencesRequest}.
-type ReferenceParams struct { // line 5053
+type ReferenceParams struct { // line 5054
 	Context ReferenceContext `json:"context"`
 	TextDocumentPositionParams
 	WorkDoneProgressParams
@@ -3443,29 +3444,29 @@
 }
 
 // Registration options for a {@link ReferencesRequest}.
-type ReferenceRegistrationOptions struct { // line 5082
+type ReferenceRegistrationOptions struct { // line 5083
 	TextDocumentRegistrationOptions
 	ReferenceOptions
 }
 
 // General parameters to to register for an notification or to register a provider.
-type Registration struct { // line 7596
-	//The id used to register the request. The id can be used to deregister
-	//the request again.
+type Registration struct { // line 7597
+	// The id used to register the request. The id can be used to deregister
+	// the request again.
 	ID string `json:"id"`
 	// The method / capability to register for.
 	Method string `json:"method"`
 	// Options necessary for the registration.
 	RegisterOptions interface{} `json:"registerOptions,omitempty"`
 }
-type RegistrationParams struct { // line 4037
+type RegistrationParams struct { // line 4038
 	Registrations []Registration `json:"registrations"`
 }
 
 // Client capabilities specific to regular expressions.
 //
 // @since 3.16.0
-type RegularExpressionsClientCapabilities struct { // line 12499
+type RegularExpressionsClientCapabilities struct { // line 12500
 	// The engine's name.
 	Engine string `json:"engine"`
 	// The engine's version.
@@ -3475,14 +3476,14 @@
 // A full diagnostic report with a set of related documents.
 //
 // @since 3.17.0
-type RelatedFullDocumentDiagnosticReport struct { // line 7156
-	//Diagnostics of related documents. This information is useful
-	//in programming languages where code in a file A can generate
-	//diagnostics in a file B which A depends on. An example of
-	//such a language is C/C++ where marco definitions in a file
-	//a.cpp and result in errors in a header file b.hpp.
+type RelatedFullDocumentDiagnosticReport struct { // line 7157
+	// Diagnostics of related documents. This information is useful
+	// in programming languages where code in a file A can generate
+	// diagnostics in a file B which A depends on. An example of
+	// such a language is C/C++ where marco definitions in a file
+	// a.cpp and result in errors in a header file b.hpp.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	RelatedDocuments map[DocumentURI]interface{} `json:"relatedDocuments,omitempty"`
 	FullDocumentDiagnosticReport
 }
@@ -3490,14 +3491,14 @@
 // An unchanged diagnostic report with a set of related documents.
 //
 // @since 3.17.0
-type RelatedUnchangedDocumentDiagnosticReport struct { // line 7195
-	//Diagnostics of related documents. This information is useful
-	//in programming languages where code in a file A can generate
-	//diagnostics in a file B which A depends on. An example of
-	//such a language is C/C++ where marco definitions in a file
-	//a.cpp and result in errors in a header file b.hpp.
+type RelatedUnchangedDocumentDiagnosticReport struct { // line 7196
+	// Diagnostics of related documents. This information is useful
+	// in programming languages where code in a file A can generate
+	// diagnostics in a file B which A depends on. An example of
+	// such a language is C/C++ where marco definitions in a file
+	// a.cpp and result in errors in a header file b.hpp.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	RelatedDocuments map[DocumentURI]interface{} `json:"relatedDocuments,omitempty"`
 	UnchangedDocumentDiagnosticReport
 }
@@ -3507,40 +3508,40 @@
 // folder root, but it can be another absolute URI as well.
 //
 // @since 3.17.0
-type RelativePattern struct { // line 10735
-	//A workspace folder or a base URI to which this pattern will be matched
-	//against relatively.
+type RelativePattern struct { // line 10736
+	// A workspace folder or a base URI to which this pattern will be matched
+	// against relatively.
 	BaseURI Or_RelativePattern_baseUri `json:"baseUri"`
 	// The actual glob pattern;
 	Pattern Pattern `json:"pattern"`
 }
-type RenameClientCapabilities struct { // line 11933
+type RenameClientCapabilities struct { // line 11934
 	// Whether rename supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//Client supports testing for validity of rename operations
-	//before execution.
+	// Client supports testing for validity of rename operations
+	// before execution.
 	//
-	//@since 3.12.0
+	// @since 3.12.0
 	PrepareSupport bool `json:"prepareSupport,omitempty"`
-	//Client supports the default behavior result.
+	// Client supports the default behavior result.
 	//
-	//The value indicates the default behavior used by the
-	//client.
+	// The value indicates the default behavior used by the
+	// client.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	PrepareSupportDefaultBehavior *PrepareSupportDefaultBehavior `json:"prepareSupportDefaultBehavior,omitempty"`
-	//Whether the client honors the change annotations in
-	//text edits and resource operations returned via the
-	//rename request's workspace edit by for example presenting
-	//the workspace edit in the user interface and asking
-	//for confirmation.
+	// Whether the client honors the change annotations in
+	// text edits and resource operations returned via the
+	// rename request's workspace edit by for example presenting
+	// the workspace edit in the user interface and asking
+	// for confirmation.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	HonorsChangeAnnotations bool `json:"honorsChangeAnnotations,omitempty"`
 }
 
 // Rename file operation
-type RenameFile struct { // line 6748
+type RenameFile struct { // line 6749
 	// A rename
 	Kind string `json:"kind"`
 	// The old (existing) location.
@@ -3553,7 +3554,7 @@
 }
 
 // Rename file options
-type RenameFileOptions struct { // line 9440
+type RenameFileOptions struct { // line 9441
 	// Overwrite target if existing. Overwrite wins over `ignoreIfExists`
 	Overwrite bool `json:"overwrite,omitempty"`
 	// Ignores if target exists.
@@ -3564,76 +3565,76 @@
 // files.
 //
 // @since 3.16.0
-type RenameFilesParams struct { // line 3281
-	//An array of all files/folders renamed in this operation. When a folder is renamed, only
-	//the folder will be included, and not its children.
+type RenameFilesParams struct { // line 3282
+	// An array of all files/folders renamed in this operation. When a folder is renamed, only
+	// the folder will be included, and not its children.
 	Files []FileRename `json:"files"`
 }
 
 // Provider options for a {@link RenameRequest}.
-type RenameOptions struct { // line 9268
-	//Renames should be checked and tested before being executed.
+type RenameOptions struct { // line 9269
+	// Renames should be checked and tested before being executed.
 	//
-	//@since version 3.12.0
+	// @since version 3.12.0
 	PrepareProvider bool `json:"prepareProvider,omitempty"`
 	WorkDoneProgressOptions
 }
 
 // The parameters of a {@link RenameRequest}.
-type RenameParams struct { // line 5873
+type RenameParams struct { // line 5874
 	// The document to rename.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The position at which this request was sent.
 	Position Position `json:"position"`
-	//The new name of the symbol. If the given name is not valid the
-	//request must return a {@link ResponseError} with an
-	//appropriate message set.
+	// The new name of the symbol. If the given name is not valid the
+	// request must return a {@link ResponseError} with an
+	// appropriate message set.
 	NewName string `json:"newName"`
 	WorkDoneProgressParams
 }
 
 // Registration options for a {@link RenameRequest}.
-type RenameRegistrationOptions struct { // line 5909
+type RenameRegistrationOptions struct { // line 5910
 	TextDocumentRegistrationOptions
 	RenameOptions
 }
 
 // A generic resource operation.
-type ResourceOperation struct { // line 9392
+type ResourceOperation struct { // line 9393
 	// The resource operation kind.
 	Kind string `json:"kind"`
-	//An optional annotation identifier describing the operation.
+	// An optional annotation identifier describing the operation.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	AnnotationID ChangeAnnotationIdentifier `json:"annotationId,omitempty"`
 }
-type ResourceOperationKind string // line 13668
+type ResourceOperationKind string // line 13669
 // Save options.
-type SaveOptions struct { // line 8464
+type SaveOptions struct { // line 8465
 	// The client is supposed to include the content on save.
 	IncludeText bool `json:"includeText,omitempty"`
 }
 
 // A selection range represents a part of a selection hierarchy. A selection range
 // may have a parent selection range that contains it.
-type SelectionRange struct { // line 2568
+type SelectionRange struct { // line 2569
 	// The {@link Range range} of this selection range.
 	Range Range `json:"range"`
 	// The parent selection range containing this range. Therefore `parent.range` must contain `this.range`.
 	Parent *SelectionRange `json:"parent,omitempty"`
 }
-type SelectionRangeClientCapabilities struct { // line 12057
-	//Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
-	//the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
-	//capability as well.
+type SelectionRangeClientCapabilities struct { // line 12058
+	// Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
+	// the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
+	// capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
-type SelectionRangeOptions struct { // line 6523
+type SelectionRangeOptions struct { // line 6524
 	WorkDoneProgressOptions
 }
 
 // A parameter literal used in selection range requests.
-type SelectionRangeParams struct { // line 2533
+type SelectionRangeParams struct { // line 2534
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The positions inside the text document.
@@ -3641,7 +3642,7 @@
 	WorkDoneProgressParams
 	PartialResultParams
 }
-type SelectionRangeRegistrationOptions struct { // line 2591
+type SelectionRangeRegistrationOptions struct { // line 2592
 	SelectionRangeOptions
 	TextDocumentRegistrationOptions
 	StaticRegistrationOptions
@@ -3652,38 +3653,38 @@
 // corresponding client capabilities.
 //
 // @since 3.16.0
-type SemanticTokenModifiers string // line 12669
+type SemanticTokenModifiers string // line 12670
 // 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 12562
+type SemanticTokenTypes string // line 12563
 // @since 3.16.0
-type SemanticTokens struct { // line 2879
-	//An optional result id. If provided and clients support delta updating
-	//the client will include the result id in the next semantic token request.
-	//A server can then instead of computing all semantic tokens again simply
-	//send a delta.
+type SemanticTokens struct { // line 2880
+	// An optional result id. If provided and clients support delta updating
+	// the client will include the result id in the next semantic token request.
+	// A server can then instead of computing all semantic tokens again simply
+	// send a delta.
 	ResultID string `json:"resultId,omitempty"`
 	// The actual tokens.
 	Data []uint32 `json:"data"`
 }
 
 // @since 3.16.0
-type SemanticTokensClientCapabilities struct { // line 12156
-	//Whether implementation supports dynamic registration. If this is set to `true`
-	//the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
-	//return value for the corresponding server capability as well.
+type SemanticTokensClientCapabilities struct { // line 12157
+	// Whether implementation supports dynamic registration. If this is set to `true`
+	// the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+	// return value for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//Which requests the client supports and might send to the server
-	//depending on the server's capability. Please note that clients might not
-	//show semantic tokens or degrade some of the user experience if a range
-	//or full request is advertised by the client but not provided by the
-	//server. If for example the client capability `requests.full` and
-	//`request.range` are both set to true but the server only provides a
-	//range provider the client might not render a minimap correctly or might
-	//even decide to not show any semantic tokens at all.
+	// Which requests the client supports and might send to the server
+	// depending on the server's capability. Please note that clients might not
+	// show semantic tokens or degrade some of the user experience if a range
+	// or full request is advertised by the client but not provided by the
+	// server. If for example the client capability `requests.full` and
+	// `request.range` are both set to true but the server only provides a
+	// range provider the client might not render a minimap correctly or might
+	// even decide to not show any semantic tokens at all.
 	Requests PRequestsPSemanticTokens `json:"requests"`
 	// The token types that the client supports.
 	TokenTypes []string `json:"tokenTypes"`
@@ -3695,51 +3696,51 @@
 	OverlappingTokenSupport bool `json:"overlappingTokenSupport,omitempty"`
 	// Whether the client supports tokens that can span multiple lines.
 	MultilineTokenSupport bool `json:"multilineTokenSupport,omitempty"`
-	//Whether the client allows the server to actively cancel a
-	//semantic token request, e.g. supports returning
-	//LSPErrorCodes.ServerCancelled. If a server does the client
-	//needs to retrigger the request.
+	// Whether the client allows the server to actively cancel a
+	// semantic token request, e.g. supports returning
+	// LSPErrorCodes.ServerCancelled. If a server does the client
+	// needs to retrigger the request.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	ServerCancelSupport bool `json:"serverCancelSupport,omitempty"`
-	//Whether the client uses semantic tokens to augment existing
-	//syntax tokens. If set to `true` client side created syntax
-	//tokens and semantic tokens are both used for colorization. If
-	//set to `false` the client only uses the returned semantic tokens
-	//for colorization.
+	// Whether the client uses semantic tokens to augment existing
+	// syntax tokens. If set to `true` client side created syntax
+	// tokens and semantic tokens are both used for colorization. If
+	// set to `false` the client only uses the returned semantic tokens
+	// for colorization.
 	//
-	//If the value is `undefined` then the client behavior is not
-	//specified.
+	// If the value is `undefined` then the client behavior is not
+	// specified.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	AugmentsSyntaxTokens bool `json:"augmentsSyntaxTokens,omitempty"`
 }
 
 // @since 3.16.0
-type SemanticTokensDelta struct { // line 2978
+type SemanticTokensDelta struct { // line 2979
 	ResultID string `json:"resultId,omitempty"`
 	// The semantic token edits to transform a previous result into a new result.
 	Edits []SemanticTokensEdit `json:"edits"`
 }
 
 // @since 3.16.0
-type SemanticTokensDeltaParams struct { // line 2945
+type SemanticTokensDeltaParams struct { // line 2946
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
-	//The result id of a previous response. The result Id can either point to a full response
-	//or a delta response depending on what was received last.
+	// The result id of a previous response. The result Id can either point to a full response
+	// or a delta response depending on what was received last.
 	PreviousResultID string `json:"previousResultId"`
 	WorkDoneProgressParams
 	PartialResultParams
 }
 
 // @since 3.16.0
-type SemanticTokensDeltaPartialResult struct { // line 3004
+type SemanticTokensDeltaPartialResult struct { // line 3005
 	Edits []SemanticTokensEdit `json:"edits"`
 }
 
 // @since 3.16.0
-type SemanticTokensEdit struct { // line 6616
+type SemanticTokensEdit struct { // line 6617
 	// The start offset of the edit.
 	Start uint32 `json:"start"`
 	// The count of elements to remove.
@@ -3749,7 +3750,7 @@
 }
 
 // @since 3.16.0
-type SemanticTokensLegend struct { // line 9313
+type SemanticTokensLegend struct { // line 9314
 	// The token types a server uses.
 	TokenTypes []string `json:"tokenTypes"`
 	// The token modifiers a server uses.
@@ -3757,11 +3758,11 @@
 }
 
 // @since 3.16.0
-type SemanticTokensOptions struct { // line 6545
+type SemanticTokensOptions struct { // line 6546
 	// The legend used by the server
 	Legend SemanticTokensLegend `json:"legend"`
-	//Server supports providing semantic tokens for a specific range
-	//of a document.
+	// Server supports providing semantic tokens for a specific range
+	// of a document.
 	Range *Or_SemanticTokensOptions_range `json:"range,omitempty"`
 	// Server supports providing semantic tokens for a full document.
 	Full *Or_SemanticTokensOptions_full `json:"full,omitempty"`
@@ -3769,7 +3770,7 @@
 }
 
 // @since 3.16.0
-type SemanticTokensParams struct { // line 2854
+type SemanticTokensParams struct { // line 2855
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	WorkDoneProgressParams
@@ -3777,12 +3778,12 @@
 }
 
 // @since 3.16.0
-type SemanticTokensPartialResult struct { // line 2906
+type SemanticTokensPartialResult struct { // line 2907
 	Data []uint32 `json:"data"`
 }
 
 // @since 3.16.0
-type SemanticTokensRangeParams struct { // line 3021
+type SemanticTokensRangeParams struct { // line 3022
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The range the semantic tokens are requested for.
@@ -3792,44 +3793,44 @@
 }
 
 // @since 3.16.0
-type SemanticTokensRegistrationOptions struct { // line 2923
+type SemanticTokensRegistrationOptions struct { // line 2924
 	TextDocumentRegistrationOptions
 	SemanticTokensOptions
 	StaticRegistrationOptions
 }
 
 // @since 3.16.0
-type SemanticTokensWorkspaceClientCapabilities struct { // line 10976
-	//Whether the client implementation supports a refresh request sent from
-	//the server to the client.
+type SemanticTokensWorkspaceClientCapabilities struct { // line 10977
+	// Whether the client implementation supports a refresh request sent from
+	// the server to the client.
 	//
-	//Note that this event is global and will force the client to refresh all
-	//semantic tokens currently shown. It should be used with absolute care
-	//and is useful for situation where a server for example detects a project
-	//wide change that requires such a calculation.
+	// Note that this event is global and will force the client to refresh all
+	// semantic tokens currently shown. It should be used with absolute care
+	// and is useful for situation where a server for example detects a project
+	// wide change that requires such a calculation.
 	RefreshSupport bool `json:"refreshSupport,omitempty"`
 }
 
 // Defines the capabilities provided by a language
 // server.
-type ServerCapabilities struct { // line 7808
-	//The position encoding the server picked from the encodings offered
-	//by the client via the client capability `general.positionEncodings`.
+type ServerCapabilities struct { // line 7809
+	// The position encoding the server picked from the encodings offered
+	// by the client via the client capability `general.positionEncodings`.
 	//
-	//If the client didn't provide any position encodings the only valid
-	//value that a server can return is 'utf-16'.
+	// If the client didn't provide any position encodings the only valid
+	// value that a server can return is 'utf-16'.
 	//
-	//If omitted it defaults to 'utf-16'.
+	// If omitted it defaults to 'utf-16'.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	PositionEncoding PositionEncodingKind `json:"positionEncoding,omitempty"`
-	//Defines how text documents are synced. Is either a detailed structure
-	//defining each notification or for backwards compatibility the
-	//TextDocumentSyncKind number.
+	// Defines how text documents are synced. Is either a detailed structure
+	// defining each notification or for backwards compatibility the
+	// TextDocumentSyncKind number.
 	TextDocumentSync interface{} `json:"textDocumentSync,omitempty"`
-	//Defines how notebook documents are synced.
+	// Defines how notebook documents are synced.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	NotebookDocumentSync *Or_ServerCapabilities_notebookDocumentSync `json:"notebookDocumentSync,omitempty"`
 	// The server provides completion support.
 	CompletionProvider CompletionOptions `json:"completionProvider,omitempty"`
@@ -3851,9 +3852,9 @@
 	DocumentHighlightProvider *Or_ServerCapabilities_documentHighlightProvider `json:"documentHighlightProvider,omitempty"`
 	// The server provides document symbol support.
 	DocumentSymbolProvider *Or_ServerCapabilities_documentSymbolProvider `json:"documentSymbolProvider,omitempty"`
-	//The server provides code actions. CodeActionOptions may only be
-	//specified if the client states that it supports
-	//`codeActionLiteralSupport` in its initial `initialize` request.
+	// The server provides code actions. CodeActionOptions may only be
+	// specified if the client states that it supports
+	// `codeActionLiteralSupport` in its initial `initialize` request.
 	CodeActionProvider interface{} `json:"codeActionProvider,omitempty"`
 	// The server provides code lens.
 	CodeLensProvider *CodeLensOptions `json:"codeLensProvider,omitempty"`
@@ -3869,9 +3870,9 @@
 	DocumentRangeFormattingProvider *Or_ServerCapabilities_documentRangeFormattingProvider `json:"documentRangeFormattingProvider,omitempty"`
 	// The server provides document formatting on typing.
 	DocumentOnTypeFormattingProvider *DocumentOnTypeFormattingOptions `json:"documentOnTypeFormattingProvider,omitempty"`
-	//The server provides rename support. RenameOptions may only be
-	//specified if the client states that it supports
-	//`prepareSupport` in its initial `initialize` request.
+	// The server provides rename support. RenameOptions may only be
+	// specified if the client states that it supports
+	// `prepareSupport` in its initial `initialize` request.
 	RenameProvider interface{} `json:"renameProvider,omitempty"`
 	// The server provides folding provider support.
 	FoldingRangeProvider *Or_ServerCapabilities_foldingRangeProvider `json:"foldingRangeProvider,omitempty"`
@@ -3879,88 +3880,88 @@
 	SelectionRangeProvider *Or_ServerCapabilities_selectionRangeProvider `json:"selectionRangeProvider,omitempty"`
 	// The server provides execute command support.
 	ExecuteCommandProvider ExecuteCommandOptions `json:"executeCommandProvider,omitempty"`
-	//The server provides call hierarchy support.
+	// The server provides call hierarchy support.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	CallHierarchyProvider *Or_ServerCapabilities_callHierarchyProvider `json:"callHierarchyProvider,omitempty"`
-	//The server provides linked editing range support.
+	// The server provides linked editing range support.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	LinkedEditingRangeProvider *Or_ServerCapabilities_linkedEditingRangeProvider `json:"linkedEditingRangeProvider,omitempty"`
-	//The server provides semantic tokens support.
+	// The server provides semantic tokens support.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	SemanticTokensProvider interface{} `json:"semanticTokensProvider,omitempty"`
-	//The server provides moniker support.
+	// The server provides moniker support.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	MonikerProvider *Or_ServerCapabilities_monikerProvider `json:"monikerProvider,omitempty"`
-	//The server provides type hierarchy support.
+	// The server provides type hierarchy support.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	TypeHierarchyProvider *Or_ServerCapabilities_typeHierarchyProvider `json:"typeHierarchyProvider,omitempty"`
-	//The server provides inline values.
+	// The server provides inline values.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	InlineValueProvider *Or_ServerCapabilities_inlineValueProvider `json:"inlineValueProvider,omitempty"`
-	//The server provides inlay hints.
+	// The server provides inlay hints.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	InlayHintProvider interface{} `json:"inlayHintProvider,omitempty"`
-	//The server has support for pull model diagnostics.
+	// The server has support for pull model diagnostics.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	DiagnosticProvider *Or_ServerCapabilities_diagnosticProvider `json:"diagnosticProvider,omitempty"`
 	// Workspace specific server capabilities.
 	Workspace Workspace6Gn `json:"workspace,omitempty"`
 	// Experimental server capabilities.
 	Experimental interface{} `json:"experimental,omitempty"`
 }
-type SetTraceParams struct { // line 6146
+type SetTraceParams struct { // line 6147
 	Value TraceValues `json:"value"`
 }
 
 // Client capabilities for the showDocument request.
 //
 // @since 3.16.0
-type ShowDocumentClientCapabilities struct { // line 12484
-	//The client has support for the showDocument
-	//request.
+type ShowDocumentClientCapabilities struct { // line 12485
+	// The client has support for the showDocument
+	// request.
 	Support bool `json:"support"`
 }
 
 // Params to show a document.
 //
 // @since 3.16.0
-type ShowDocumentParams struct { // line 3054
+type ShowDocumentParams struct { // line 3055
 	// The document uri to show.
 	URI URI `json:"uri"`
-	//Indicates to show the resource in an external program.
-	//To show for example `https://code.visualstudio.com/`
-	//in the default WEB browser set `external` to `true`.
+	// Indicates to show the resource in an external program.
+	// To show for example `https://code.visualstudio.com/`
+	// in the default WEB browser set `external` to `true`.
 	External bool `json:"external,omitempty"`
-	//An optional property to indicate whether the editor
-	//showing the document should take focus or not.
-	//Clients might ignore this property if an external
-	//program is started.
+	// An optional property to indicate whether the editor
+	// showing the document should take focus or not.
+	// Clients might ignore this property if an external
+	// program is started.
 	TakeFocus bool `json:"takeFocus,omitempty"`
-	//An optional selection range if the document is a text
-	//document. Clients might ignore the property if an
-	//external program is started or the file is not a text
-	//file.
+	// An optional selection range if the document is a text
+	// document. Clients might ignore the property if an
+	// external program is started or the file is not a text
+	// file.
 	Selection *Range `json:"selection,omitempty"`
 }
 
 // The result of a showDocument request.
 //
 // @since 3.16.0
-type ShowDocumentResult struct { // line 3096
+type ShowDocumentResult struct { // line 3097
 	// A boolean indicating if the show was successful.
 	Success bool `json:"success"`
 }
 
 // The parameters of a notification message.
-type ShowMessageParams struct { // line 4182
+type ShowMessageParams struct { // line 4183
 	// The message type. See {@link MessageType}
 	Type MessageType `json:"type"`
 	// The actual message.
@@ -3968,11 +3969,11 @@
 }
 
 // Show message request client capabilities
-type ShowMessageRequestClientCapabilities struct { // line 12457
+type ShowMessageRequestClientCapabilities struct { // line 12458
 	// Capabilities specific to the `MessageActionItem` type.
 	MessageActionItem *PMessageActionItemPShowMessage `json:"messageActionItem,omitempty"`
 }
-type ShowMessageRequestParams struct { // line 4204
+type ShowMessageRequestParams struct { // line 4205
 	// The message type. See {@link MessageType}
 	Type MessageType `json:"type"`
 	// The actual message.
@@ -3984,94 +3985,94 @@
 // Signature help represents the signature of something
 // callable. There can be multiple signature but only one
 // active and only one active parameter.
-type SignatureHelp struct { // line 4967
+type SignatureHelp struct { // line 4968
 	// One or more signatures.
 	Signatures []SignatureInformation `json:"signatures"`
-	//The active signature. If omitted or the value lies outside the
-	//range of `signatures` the value defaults to zero or is ignored if
-	//the `SignatureHelp` has no signatures.
+	// The active signature. If omitted or the value lies outside the
+	// range of `signatures` the value defaults to zero or is ignored if
+	// the `SignatureHelp` has no signatures.
 	//
-	//Whenever possible implementors should make an active decision about
-	//the active signature and shouldn't rely on a default value.
+	// Whenever possible implementors should make an active decision about
+	// the active signature and shouldn't rely on a default value.
 	//
-	//In future version of the protocol this property might become
-	//mandatory to better express this.
+	// In future version of the protocol this property might become
+	// mandatory to better express this.
 	ActiveSignature uint32 `json:"activeSignature,omitempty"`
-	//The active parameter of the active signature. If omitted or the value
-	//lies outside the range of `signatures[activeSignature].parameters`
-	//defaults to 0 if the active signature has parameters. If
-	//the active signature has no parameters it is ignored.
-	//In future version of the protocol this property might become
-	//mandatory to better express the active parameter if the
-	//active signature does have any.
+	// The active parameter of the active signature. If omitted or the value
+	// lies outside the range of `signatures[activeSignature].parameters`
+	// defaults to 0 if the active signature has parameters. If
+	// the active signature has no parameters it is ignored.
+	// In future version of the protocol this property might become
+	// mandatory to better express the active parameter if the
+	// active signature does have any.
 	ActiveParameter uint32 `json:"activeParameter,omitempty"`
 }
 
 // Client Capabilities for a {@link SignatureHelpRequest}.
-type SignatureHelpClientCapabilities struct { // line 11427
+type SignatureHelpClientCapabilities struct { // line 11428
 	// Whether signature help supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//The client supports the following `SignatureInformation`
-	//specific properties.
+	// The client supports the following `SignatureInformation`
+	// specific properties.
 	SignatureInformation *PSignatureInformationPSignatureHelp `json:"signatureInformation,omitempty"`
-	//The client supports to send additional context information for a
-	//`textDocument/signatureHelp` request. A client that opts into
-	//contextSupport will also support the `retriggerCharacters` on
-	//`SignatureHelpOptions`.
+	// The client supports to send additional context information for a
+	// `textDocument/signatureHelp` request. A client that opts into
+	// contextSupport will also support the `retriggerCharacters` on
+	// `SignatureHelpOptions`.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	ContextSupport bool `json:"contextSupport,omitempty"`
 }
 
 // Additional information about the context in which a signature help request was triggered.
 //
 // @since 3.15.0
-type SignatureHelpContext struct { // line 8786
+type SignatureHelpContext struct { // line 8787
 	// Action that caused signature help to be triggered.
 	TriggerKind SignatureHelpTriggerKind `json:"triggerKind"`
-	//Character that caused signature help to be triggered.
+	// Character that caused signature help to be triggered.
 	//
-	//This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter`
+	// This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter`
 	TriggerCharacter string `json:"triggerCharacter,omitempty"`
-	//`true` if signature help was already showing when it was triggered.
+	// `true` if signature help was already showing when it was triggered.
 	//
-	//Retriggers occurs when the signature help is already active and can be caused by actions such as
-	//typing a trigger character, a cursor move, or document content changes.
+	// Retriggers occurs when the signature help is already active and can be caused by actions such as
+	// typing a trigger character, a cursor move, or document content changes.
 	IsRetrigger bool `json:"isRetrigger"`
-	//The currently active `SignatureHelp`.
+	// The currently active `SignatureHelp`.
 	//
-	//The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on
-	//the user navigating through available signatures.
+	// The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on
+	// the user navigating through available signatures.
 	ActiveSignatureHelp *SignatureHelp `json:"activeSignatureHelp,omitempty"`
 }
 
 // Server Capabilities for a {@link SignatureHelpRequest}.
-type SignatureHelpOptions struct { // line 8881
+type SignatureHelpOptions struct { // line 8882
 	// List of characters that trigger signature help automatically.
 	TriggerCharacters []string `json:"triggerCharacters,omitempty"`
-	//List of characters that re-trigger signature help.
+	// List of characters that re-trigger signature help.
 	//
-	//These trigger characters are only active when signature help is already showing. All trigger characters
-	//are also counted as re-trigger characters.
+	// These trigger characters are only active when signature help is already showing. All trigger characters
+	// are also counted as re-trigger characters.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	RetriggerCharacters []string `json:"retriggerCharacters,omitempty"`
 	WorkDoneProgressOptions
 }
 
 // Parameters for a {@link SignatureHelpRequest}.
-type SignatureHelpParams struct { // line 4939
-	//The signature help context. This is only available if the client specifies
-	//to send this using the client capability `textDocument.signatureHelp.contextSupport === true`
+type SignatureHelpParams struct { // line 4940
+	// The signature help context. This is only available if the client specifies
+	// to send this using the client capability `textDocument.signatureHelp.contextSupport === true`
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	Context *SignatureHelpContext `json:"context,omitempty"`
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 }
 
 // Registration options for a {@link SignatureHelpRequest}.
-type SignatureHelpRegistrationOptions struct { // line 5002
+type SignatureHelpRegistrationOptions struct { // line 5003
 	TextDocumentRegistrationOptions
 	SignatureHelpOptions
 }
@@ -4079,83 +4080,83 @@
 // How a signature help was triggered.
 //
 // @since 3.15.0
-type SignatureHelpTriggerKind uint32 // line 13579
+type SignatureHelpTriggerKind uint32 // line 13580
 // Represents the signature of something callable. A signature
 // can have a label, like a function-name, a doc-comment, and
 // a set of parameters.
-type SignatureInformation struct { // line 8827
-	//The label of this signature. Will be shown in
-	//the UI.
+type SignatureInformation struct { // line 8828
+	// The label of this signature. Will be shown in
+	// the UI.
 	Label string `json:"label"`
-	//The human-readable doc-comment of this signature. Will be shown
-	//in the UI but can be omitted.
+	// The human-readable doc-comment of this signature. Will be shown
+	// in the UI but can be omitted.
 	Documentation *Or_SignatureInformation_documentation `json:"documentation,omitempty"`
 	// The parameters of this signature.
 	Parameters []ParameterInformation `json:"parameters,omitempty"`
-	//The index of the active parameter.
+	// The index of the active parameter.
 	//
-	//If provided, this is used in place of `SignatureHelp.activeParameter`.
+	// If provided, this is used in place of `SignatureHelp.activeParameter`.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	ActiveParameter uint32 `json:"activeParameter,omitempty"`
 }
 
 // Static registration options to be returned in the initialize
 // request.
-type StaticRegistrationOptions struct { // line 6342
-	//The id used to register the request. The id can be used to deregister
-	//the request again. See also Registration#id.
+type StaticRegistrationOptions struct { // line 6343
+	// The id used to register the request. The id can be used to deregister
+	// the request again. See also Registration#id.
 	ID string `json:"id,omitempty"`
 }
 
 // Represents information about programming constructs like variables, classes,
 // interfaces etc.
-type SymbolInformation struct { // line 5180
+type SymbolInformation struct { // line 5181
 	// extends BaseSymbolInformation
-	//Indicates if this symbol is deprecated.
+	// Indicates if this symbol is deprecated.
 	//
-	//@deprecated Use tags instead
+	// @deprecated Use tags instead
 	Deprecated bool `json:"deprecated,omitempty"`
-	//The location of this symbol. The location's range is used by a tool
-	//to reveal the location in the editor. If the symbol is selected in the
-	//tool the range's start information is used to position the cursor. So
-	//the range usually spans more than the actual symbol's name and does
-	//normally include things like visibility modifiers.
+	// The location of this symbol. The location's range is used by a tool
+	// to reveal the location in the editor. If the symbol is selected in the
+	// tool the range's start information is used to position the cursor. So
+	// the range usually spans more than the actual symbol's name and does
+	// normally include things like visibility modifiers.
 	//
-	//The range doesn't have to denote a node range in the sense of an abstract
-	//syntax tree. It can therefore not be used to re-construct a hierarchy of
-	//the symbols.
+	// The range doesn't have to denote a node range in the sense of an abstract
+	// syntax tree. It can therefore not be used to re-construct a hierarchy of
+	// the symbols.
 	Location Location `json:"location"`
 	// The name of this symbol.
 	Name string `json:"name"`
 	// The kind of this symbol.
 	Kind SymbolKind `json:"kind"`
-	//Tags for this symbol.
+	// Tags for this symbol.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Tags []SymbolTag `json:"tags,omitempty"`
-	//The name of the symbol containing this symbol. This information is for
-	//user interface purposes (e.g. to render a qualifier in the user interface
-	//if necessary). It can't be used to re-infer a hierarchy for the document
-	//symbols.
+	// The name of the symbol containing this symbol. This information is for
+	// user interface purposes (e.g. to render a qualifier in the user interface
+	// if necessary). It can't be used to re-infer a hierarchy for the document
+	// symbols.
 	ContainerName string `json:"containerName,omitempty"`
 }
 
 // A symbol kind.
-type SymbolKind uint32 // line 12840
+type SymbolKind uint32 // line 12841
 // Symbol tags are extra annotations that tweak the rendering of a symbol.
 //
 // @since 3.16
-type SymbolTag uint32 // line 12954
+type SymbolTag uint32 // line 12955
 // Describe options to be used when registered for text document change events.
-type TextDocumentChangeRegistrationOptions struct { // line 4311
+type TextDocumentChangeRegistrationOptions struct { // line 4312
 	// How documents are synced to the server.
 	SyncKind TextDocumentSyncKind `json:"syncKind"`
 	TextDocumentRegistrationOptions
 }
 
 // Text document specific client capabilities.
-type TextDocumentClientCapabilities struct { // line 10322
+type TextDocumentClientCapabilities struct { // line 10323
 	// Defines which synchronization capabilities the client supports.
 	Synchronization *TextDocumentSyncClientCapabilities `json:"synchronization,omitempty"`
 	// Capabilities specific to the `textDocument/completion` request.
@@ -4164,19 +4165,19 @@
 	Hover HoverClientCapabilities `json:"hover,omitempty"`
 	// Capabilities specific to the `textDocument/signatureHelp` request.
 	SignatureHelp *SignatureHelpClientCapabilities `json:"signatureHelp,omitempty"`
-	//Capabilities specific to the `textDocument/declaration` request.
+	// Capabilities specific to the `textDocument/declaration` request.
 	//
-	//@since 3.14.0
+	// @since 3.14.0
 	Declaration *DeclarationClientCapabilities `json:"declaration,omitempty"`
 	// Capabilities specific to the `textDocument/definition` request.
 	Definition *DefinitionClientCapabilities `json:"definition,omitempty"`
-	//Capabilities specific to the `textDocument/typeDefinition` request.
+	// Capabilities specific to the `textDocument/typeDefinition` request.
 	//
-	//@since 3.6.0
+	// @since 3.6.0
 	TypeDefinition *TypeDefinitionClientCapabilities `json:"typeDefinition,omitempty"`
-	//Capabilities specific to the `textDocument/implementation` request.
+	// Capabilities specific to the `textDocument/implementation` request.
 	//
-	//@since 3.6.0
+	// @since 3.6.0
 	Implementation *ImplementationClientCapabilities `json:"implementation,omitempty"`
 	// Capabilities specific to the `textDocument/references` request.
 	References *ReferenceClientCapabilities `json:"references,omitempty"`
@@ -4190,10 +4191,10 @@
 	CodeLens *CodeLensClientCapabilities `json:"codeLens,omitempty"`
 	// Capabilities specific to the `textDocument/documentLink` request.
 	DocumentLink *DocumentLinkClientCapabilities `json:"documentLink,omitempty"`
-	//Capabilities specific to the `textDocument/documentColor` and the
-	//`textDocument/colorPresentation` request.
+	// Capabilities specific to the `textDocument/documentColor` and the
+	// `textDocument/colorPresentation` request.
 	//
-	//@since 3.6.0
+	// @since 3.6.0
 	ColorProvider *DocumentColorClientCapabilities `json:"colorProvider,omitempty"`
 	// Capabilities specific to the `textDocument/formatting` request.
 	Formatting *DocumentFormattingClientCapabilities `json:"formatting,omitempty"`
@@ -4203,64 +4204,64 @@
 	OnTypeFormatting *DocumentOnTypeFormattingClientCapabilities `json:"onTypeFormatting,omitempty"`
 	// Capabilities specific to the `textDocument/rename` request.
 	Rename RenameClientCapabilities `json:"rename,omitempty"`
-	//Capabilities specific to the `textDocument/foldingRange` request.
+	// Capabilities specific to the `textDocument/foldingRange` request.
 	//
-	//@since 3.10.0
+	// @since 3.10.0
 	FoldingRange FoldingRangeClientCapabilities `json:"foldingRange,omitempty"`
-	//Capabilities specific to the `textDocument/selectionRange` request.
+	// Capabilities specific to the `textDocument/selectionRange` request.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	SelectionRange *SelectionRangeClientCapabilities `json:"selectionRange,omitempty"`
 	// Capabilities specific to the `textDocument/publishDiagnostics` notification.
 	PublishDiagnostics PublishDiagnosticsClientCapabilities `json:"publishDiagnostics,omitempty"`
-	//Capabilities specific to the various call hierarchy requests.
+	// Capabilities specific to the various call hierarchy requests.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	CallHierarchy *CallHierarchyClientCapabilities `json:"callHierarchy,omitempty"`
-	//Capabilities specific to the various semantic token request.
+	// Capabilities specific to the various semantic token request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	SemanticTokens SemanticTokensClientCapabilities `json:"semanticTokens,omitempty"`
-	//Capabilities specific to the `textDocument/linkedEditingRange` request.
+	// Capabilities specific to the `textDocument/linkedEditingRange` request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	LinkedEditingRange *LinkedEditingRangeClientCapabilities `json:"linkedEditingRange,omitempty"`
-	//Client capabilities specific to the `textDocument/moniker` request.
+	// Client capabilities specific to the `textDocument/moniker` request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Moniker *MonikerClientCapabilities `json:"moniker,omitempty"`
-	//Capabilities specific to the various type hierarchy requests.
+	// Capabilities specific to the various type hierarchy requests.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	TypeHierarchy *TypeHierarchyClientCapabilities `json:"typeHierarchy,omitempty"`
-	//Capabilities specific to the `textDocument/inlineValue` request.
+	// Capabilities specific to the `textDocument/inlineValue` request.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	InlineValue *InlineValueClientCapabilities `json:"inlineValue,omitempty"`
-	//Capabilities specific to the `textDocument/inlayHint` request.
+	// Capabilities specific to the `textDocument/inlayHint` request.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	InlayHint *InlayHintClientCapabilities `json:"inlayHint,omitempty"`
-	//Capabilities specific to the diagnostic pull model.
+	// Capabilities specific to the diagnostic pull model.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	Diagnostic *DiagnosticClientCapabilities `json:"diagnostic,omitempty"`
 }
 
 // An event describing a change to a text document. If only a text is provided
 // it is considered to be the full content of the document.
-type TextDocumentContentChangeEvent = Msg_TextDocumentContentChangeEvent // (alias) line 14001
+type TextDocumentContentChangeEvent = Msg_TextDocumentContentChangeEvent // (alias) line 14002
 // Describes textual changes on a text document. A TextDocumentEdit describes all changes
 // on a document version Si and after they are applied move the document to version Si+1.
 // So the creator of a TextDocumentEdit doesn't need to sort the array of edits or do any
 // kind of ordering. However the edits must be non overlapping.
-type TextDocumentEdit struct { // line 6676
+type TextDocumentEdit struct { // line 6677
 	// The text document to change.
 	TextDocument OptionalVersionedTextDocumentIdentifier `json:"textDocument"`
-	//The edits to be applied.
+	// The edits to be applied.
 	//
-	//@since 3.16.0 - support for AnnotatedTextEdit. This is guarded using a
-	//client capability.
+	// @since 3.16.0 - support for AnnotatedTextEdit. This is guarded using a
+	// client capability.
 	Edits []TextEdit `json:"edits"`
 }
 
@@ -4281,22 +4282,22 @@
 // @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
 //
 // @since 3.17.0
-type TextDocumentFilter = Msg_TextDocumentFilter // (alias) line 14144
+type TextDocumentFilter = Msg_TextDocumentFilter // (alias) line 14145
 // A literal to identify a text document in the client.
-type TextDocumentIdentifier struct { // line 6418
+type TextDocumentIdentifier struct { // line 6419
 	// The text document's uri.
 	URI DocumentURI `json:"uri"`
 }
 
 // An item to transfer a text document from the client to the
 // server.
-type TextDocumentItem struct { // line 7404
+type TextDocumentItem struct { // line 7405
 	// The text document's uri.
 	URI DocumentURI `json:"uri"`
 	// The text document's language identifier.
 	LanguageID string `json:"languageId"`
-	//The version number of this document (it will increase after each
-	//change, including undo/redo).
+	// The version number of this document (it will increase after each
+	// change, including undo/redo).
 	Version int32 `json:"version"`
 	// The content of the opened text document.
 	Text string `json:"text"`
@@ -4304,7 +4305,7 @@
 
 // A parameter literal used in requests to pass a text document and a position inside that
 // document.
-type TextDocumentPositionParams struct { // line 6221
+type TextDocumentPositionParams struct { // line 6222
 	// The text document.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The position inside the text document.
@@ -4312,27 +4313,27 @@
 }
 
 // General text document registration options.
-type TextDocumentRegistrationOptions struct { // line 2367
-	//A document selector to identify the scope of the registration. If set to null
-	//the document selector provided on the client side will be used.
+type TextDocumentRegistrationOptions struct { // line 2368
+	// A document selector to identify the scope of the registration. If set to null
+	// the document selector provided on the client side will be used.
 	DocumentSelector DocumentSelector `json:"documentSelector"`
 }
 
 // Represents reasons why a text document is saved.
-type TextDocumentSaveReason uint32 // line 13108
+type TextDocumentSaveReason uint32 // line 13109
 // Save registration options.
-type TextDocumentSaveRegistrationOptions struct { // line 4368
+type TextDocumentSaveRegistrationOptions struct { // line 4369
 	TextDocumentRegistrationOptions
 	SaveOptions
 }
-type TextDocumentSyncClientCapabilities struct { // line 11126
+type TextDocumentSyncClientCapabilities struct { // line 11127
 	// Whether text document synchronization supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 	// The client supports sending will save notifications.
 	WillSave bool `json:"willSave,omitempty"`
-	//The client supports sending a will save request and
-	//waits for a response providing text edits which will
-	//be applied to the document before it is saved.
+	// The client supports sending a will save request and
+	// waits for a response providing text edits which will
+	// be applied to the document before it is saved.
 	WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
 	// The client supports did save notifications.
 	DidSave bool `json:"didSave,omitempty"`
@@ -4340,71 +4341,71 @@
 
 // Defines how the host (editor) should sync
 // document changes to the language server.
-type TextDocumentSyncKind uint32      // line 13083
-type TextDocumentSyncOptions struct { // line 9735
-	//Open and close notifications are sent to the server. If omitted open close notification should not
-	//be sent.
+type TextDocumentSyncKind uint32      // line 13084
+type TextDocumentSyncOptions struct { // line 9736
+	// Open and close notifications are sent to the server. If omitted open close notification should not
+	// be sent.
 	OpenClose bool `json:"openClose,omitempty"`
-	//Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
-	//and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.
+	// Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
+	// and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.
 	Change TextDocumentSyncKind `json:"change,omitempty"`
-	//If present will save notifications are sent to the server. If omitted the notification should not be
-	//sent.
+	// If present will save notifications are sent to the server. If omitted the notification should not be
+	// sent.
 	WillSave bool `json:"willSave,omitempty"`
-	//If present will save wait until requests are sent to the server. If omitted the request should not be
-	//sent.
+	// If present will save wait until requests are sent to the server. If omitted the request should not be
+	// sent.
 	WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
-	//If present save notifications are sent to the server. If omitted the notification should not be
-	//sent.
+	// If present save notifications are sent to the server. If omitted the notification should not be
+	// sent.
 	Save SaveOptions `json:"save,omitempty"`
 }
 
 // A text edit applicable to a text document.
-type TextEdit struct { // line 4405
-	//The range of the text document to be manipulated. To insert
-	//text into a document create a range where start === end.
+type TextEdit struct { // line 4406
+	// The range of the text document to be manipulated. To insert
+	// text into a document create a range where start === end.
 	Range Range `json:"range"`
-	//The string to be inserted. For delete operations use an
-	//empty string.
+	// The string to be inserted. For delete operations use an
+	// empty string.
 	NewText string `json:"newText"`
 }
-type TokenFormat string // line 13735
-type TraceValues string // line 13382
+type TokenFormat string // line 13736
+type TraceValues string // line 13383
 // Since 3.6.0
-type TypeDefinitionClientCapabilities struct { // line 11558
-	//Whether implementation supports dynamic registration. If this is set to `true`
-	//the client supports the new `TypeDefinitionRegistrationOptions` return value
-	//for the corresponding server capability as well.
+type TypeDefinitionClientCapabilities struct { // line 11559
+	// Whether implementation supports dynamic registration. If this is set to `true`
+	// the client supports the new `TypeDefinitionRegistrationOptions` return value
+	// for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
-	//The client supports additional metadata in the form of definition links.
+	// The client supports additional metadata in the form of definition links.
 	//
-	//Since 3.14.0
+	// Since 3.14.0
 	LinkSupport bool `json:"linkSupport,omitempty"`
 }
-type TypeDefinitionOptions struct { // line 6357
+type TypeDefinitionOptions struct { // line 6358
 	WorkDoneProgressOptions
 }
-type TypeDefinitionParams struct { // line 2122
+type TypeDefinitionParams struct { // line 2123
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 	PartialResultParams
 }
-type TypeDefinitionRegistrationOptions struct { // line 2142
+type TypeDefinitionRegistrationOptions struct { // line 2143
 	TextDocumentRegistrationOptions
 	TypeDefinitionOptions
 	StaticRegistrationOptions
 }
 
 // @since 3.17.0
-type TypeHierarchyClientCapabilities struct { // line 12336
-	//Whether implementation supports dynamic registration. If this is set to `true`
-	//the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
-	//return value for the corresponding server capability as well.
+type TypeHierarchyClientCapabilities struct { // line 12337
+	// Whether implementation supports dynamic registration. If this is set to `true`
+	// the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+	// return value for the corresponding server capability as well.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 }
 
 // @since 3.17.0
-type TypeHierarchyItem struct { // line 3409
+type TypeHierarchyItem struct { // line 3410
 	// The name of this item.
 	Name string `json:"name"`
 	// The kind of this item.
@@ -4415,31 +4416,31 @@
 	Detail string `json:"detail,omitempty"`
 	// The resource identifier of this item.
 	URI DocumentURI `json:"uri"`
-	//The range enclosing this symbol not including leading/trailing whitespace
-	//but everything else, e.g. comments and code.
+	// The range enclosing this symbol not including leading/trailing whitespace
+	// but everything else, e.g. comments and code.
 	Range Range `json:"range"`
-	//The range that should be selected and revealed when this symbol is being
-	//picked, e.g. the name of a function. Must be contained by the
-	//{@link TypeHierarchyItem.range `range`}.
+	// The range that should be selected and revealed when this symbol is being
+	// picked, e.g. the name of a function. Must be contained by the
+	// {@link TypeHierarchyItem.range `range`}.
 	SelectionRange Range `json:"selectionRange"`
-	//A data entry field that is preserved between a type hierarchy prepare and
-	//supertypes or subtypes requests. It could also be used to identify the
-	//type hierarchy in the server, helping improve the performance on
-	//resolving supertypes and subtypes.
+	// A data entry field that is preserved between a type hierarchy prepare and
+	// supertypes or subtypes requests. It could also be used to identify the
+	// type hierarchy in the server, helping improve the performance on
+	// resolving supertypes and subtypes.
 	Data interface{} `json:"data,omitempty"`
 }
 
 // Type hierarchy options used during static registration.
 //
 // @since 3.17.0
-type TypeHierarchyOptions struct { // line 6935
+type TypeHierarchyOptions struct { // line 6936
 	WorkDoneProgressOptions
 }
 
 // The parameter of a `textDocument/prepareTypeHierarchy` request.
 //
 // @since 3.17.0
-type TypeHierarchyPrepareParams struct { // line 3391
+type TypeHierarchyPrepareParams struct { // line 3392
 	TextDocumentPositionParams
 	WorkDoneProgressParams
 }
@@ -4447,7 +4448,7 @@
 // Type hierarchy options used during static or dynamic registration.
 //
 // @since 3.17.0
-type TypeHierarchyRegistrationOptions struct { // line 3486
+type TypeHierarchyRegistrationOptions struct { // line 3487
 	TextDocumentRegistrationOptions
 	TypeHierarchyOptions
 	StaticRegistrationOptions
@@ -4456,7 +4457,7 @@
 // The parameter of a `typeHierarchy/subtypes` request.
 //
 // @since 3.17.0
-type TypeHierarchySubtypesParams struct { // line 3532
+type TypeHierarchySubtypesParams struct { // line 3533
 	Item TypeHierarchyItem `json:"item"`
 	WorkDoneProgressParams
 	PartialResultParams
@@ -4465,14 +4466,14 @@
 // The parameter of a `typeHierarchy/supertypes` request.
 //
 // @since 3.17.0
-type TypeHierarchySupertypesParams struct { // line 3508
+type TypeHierarchySupertypesParams struct { // line 3509
 	Item TypeHierarchyItem `json:"item"`
 	WorkDoneProgressParams
 	PartialResultParams
 }
 
 // created for Tuple
-type UIntCommaUInt struct { // line 10075
+type UIntCommaUInt struct { // line 10076
 	Fld0 uint32 `json:"fld0"`
 	Fld1 uint32 `json:"fld1"`
 }
@@ -4482,37 +4483,37 @@
 // report is still accurate.
 //
 // @since 3.17.0
-type UnchangedDocumentDiagnosticReport struct { // line 7269
-	//A document diagnostic report indicating
-	//no changes to the last result. A server can
-	//only return `unchanged` if result ids are
-	//provided.
+type UnchangedDocumentDiagnosticReport struct { // line 7270
+	// A document diagnostic report indicating
+	// no changes to the last result. A server can
+	// only return `unchanged` if result ids are
+	// provided.
 	Kind string `json:"kind"`
-	//A result id which will be sent on the next
-	//diagnostic request for the same document.
+	// A result id which will be sent on the next
+	// diagnostic request for the same document.
 	ResultID string `json:"resultId"`
 }
 
 // Moniker uniqueness level to define scope of the moniker.
 //
 // @since 3.16.0
-type UniquenessLevel string // line 12970
+type UniquenessLevel string // line 12971
 // General parameters to unregister a request or notification.
-type Unregistration struct { // line 7627
-	//The id used to unregister the request or notification. Usually an id
-	//provided during the register request.
+type Unregistration struct { // line 7628
+	// The id used to unregister the request or notification. Usually an id
+	// provided during the register request.
 	ID string `json:"id"`
 	// The method to unregister for.
 	Method string `json:"method"`
 }
-type UnregistrationParams struct { // line 4052
+type UnregistrationParams struct { // line 4053
 	Unregisterations []Unregistration `json:"unregisterations"`
 }
 
 // A versioned notebook document identifier.
 //
 // @since 3.17.0
-type VersionedNotebookDocumentIdentifier struct { // line 7442
+type VersionedNotebookDocumentIdentifier struct { // line 7443
 	// The version number of this notebook document.
 	Version int32 `json:"version"`
 	// The notebook document's uri.
@@ -4520,129 +4521,129 @@
 }
 
 // A text document identifier to denote a specific version of a text document.
-type VersionedTextDocumentIdentifier struct { // line 8444
+type VersionedTextDocumentIdentifier struct { // line 8445
 	// The version number of this document.
 	Version int32 `json:"version"`
 	TextDocumentIdentifier
 }
 type WatchKind = uint32                  // line 13505// The parameters sent in a will save text document notification.
-type WillSaveTextDocumentParams struct { // line 4383
+type WillSaveTextDocumentParams struct { // line 4384
 	// The document that will be saved.
 	TextDocument TextDocumentIdentifier `json:"textDocument"`
 	// The 'TextDocumentSaveReason'.
 	Reason TextDocumentSaveReason `json:"reason"`
 }
-type WindowClientCapabilities struct { // line 10628
-	//It indicates whether the client supports server initiated
-	//progress using the `window/workDoneProgress/create` request.
+type WindowClientCapabilities struct { // line 10629
+	// It indicates whether the client supports server initiated
+	// progress using the `window/workDoneProgress/create` request.
 	//
-	//The capability also controls Whether client supports handling
-	//of progress notifications. If set servers are allowed to report a
-	//`workDoneProgress` property in the request specific server
-	//capabilities.
+	// The capability also controls Whether client supports handling
+	// of progress notifications. If set servers are allowed to report a
+	// `workDoneProgress` property in the request specific server
+	// capabilities.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	WorkDoneProgress bool `json:"workDoneProgress,omitempty"`
-	//Capabilities specific to the showMessage request.
+	// Capabilities specific to the showMessage request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	ShowMessage *ShowMessageRequestClientCapabilities `json:"showMessage,omitempty"`
-	//Capabilities specific to the showDocument request.
+	// Capabilities specific to the showDocument request.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	ShowDocument *ShowDocumentClientCapabilities `json:"showDocument,omitempty"`
 }
-type WorkDoneProgressBegin struct { // line 6039
+type WorkDoneProgressBegin struct { // line 6040
 	Kind string `json:"kind"`
-	//Mandatory title of the progress operation. Used to briefly inform about
-	//the kind of operation being performed.
+	// 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"`
-	//Controls if a cancel button should show to allow the user to cancel the
-	//long running operation. Clients that don't support cancellation are allowed
-	//to ignore the setting.
+	// Controls if a cancel button should show to allow the user to cancel the
+	// long running operation. Clients that don't support cancellation are allowed
+	// to ignore the setting.
 	Cancellable bool `json:"cancellable,omitempty"`
-	//Optional, more detailed associated progress message. Contains
-	//complementary information to the `title`.
+	// Optional, more detailed associated progress message. Contains
+	// complementary information to the `title`.
 	//
-	//Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
-	//If unset, the previous progress message (if any) is still valid.
+	// 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"`
-	//Optional progress percentage to display (value 100 is considered 100%).
-	//If not provided infinite progress is assumed and clients are allowed
-	//to ignore the `percentage` value in subsequent in report notifications.
+	// Optional progress percentage to display (value 100 is considered 100%).
+	// If not provided infinite progress is assumed and clients are allowed
+	// to ignore the `percentage` value in subsequent in report notifications.
 	//
-	//The value should be steadily rising. Clients are free to ignore values
-	//that are not following this rule. The value range is [0, 100].
+	// The value should be steadily rising. Clients are free to ignore values
+	// that are not following this rule. The value range is [0, 100].
 	Percentage uint32 `json:"percentage,omitempty"`
 }
-type WorkDoneProgressCancelParams struct { // line 2624
+type WorkDoneProgressCancelParams struct { // line 2625
 	// The token to be used to report progress.
 	Token ProgressToken `json:"token"`
 }
-type WorkDoneProgressCreateParams struct { // line 2611
+type WorkDoneProgressCreateParams struct { // line 2612
 	// The token to be used to report progress.
 	Token ProgressToken `json:"token"`
 }
-type WorkDoneProgressEnd struct { // line 6125
+type WorkDoneProgressEnd struct { // line 6126
 	Kind string `json:"kind"`
-	//Optional, a final message indicating to for example indicate the outcome
-	//of the operation.
+	// Optional, a final message indicating to for example indicate the outcome
+	// of the operation.
 	Message string `json:"message,omitempty"`
 }
-type WorkDoneProgressOptions struct { // line 2354
+type WorkDoneProgressOptions struct { // line 2355
 	WorkDoneProgress bool `json:"workDoneProgress,omitempty"`
 }
 
 // created for And
-type WorkDoneProgressOptionsAndTextDocumentRegistrationOptions struct { // line 195
+type WorkDoneProgressOptionsAndTextDocumentRegistrationOptions struct { // line 196
 	WorkDoneProgressOptions
 	TextDocumentRegistrationOptions
 }
-type WorkDoneProgressParams struct { // line 6243
+type WorkDoneProgressParams struct { // line 6244
 	// An optional token that a server can use to report work done progress.
 	WorkDoneToken ProgressToken `json:"workDoneToken,omitempty"`
 }
-type WorkDoneProgressReport struct { // line 6086
+type WorkDoneProgressReport struct { // line 6087
 	Kind string `json:"kind"`
-	//Controls enablement state of a cancel button.
+	// Controls enablement state of a cancel button.
 	//
-	//Clients that don't support cancellation or don't support controlling the button's
-	//enablement state are allowed to ignore the property.
+	// Clients that don't support cancellation or don't support controlling the button's
+	// enablement state are allowed to ignore the property.
 	Cancellable bool `json:"cancellable,omitempty"`
-	//Optional, more detailed associated progress message. Contains
-	//complementary information to the `title`.
+	// Optional, more detailed associated progress message. Contains
+	// complementary information to the `title`.
 	//
-	//Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
-	//If unset, the previous progress message (if any) is still valid.
+	// 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"`
-	//Optional progress percentage to display (value 100 is considered 100%).
-	//If not provided infinite progress is assumed and clients are allowed
-	//to ignore the `percentage` value in subsequent in report notifications.
+	// Optional progress percentage to display (value 100 is considered 100%).
+	// If not provided infinite progress is assumed and clients are allowed
+	// to ignore the `percentage` value in subsequent in report notifications.
 	//
-	//The value should be steadily rising. Clients are free to ignore values
-	//that are not following this rule. The value range is [0, 100]
+	// The value should be steadily rising. Clients are free to ignore values
+	// that are not following this rule. The value range is [0, 100]
 	Percentage uint32 `json:"percentage,omitempty"`
 }
 
 // created for Literal (Lit_ServerCapabilities_workspace)
-type Workspace6Gn struct { // line 8403
-	//The server supports workspace folder.
+type Workspace6Gn struct { // line 8404
+	// The server supports workspace folder.
 	//
-	//@since 3.6.0
+	// @since 3.6.0
 	WorkspaceFolders WorkspaceFolders5Gn `json:"workspaceFolders"`
-	//The server is interested in notifications/requests for operations on files.
+	// The server is interested in notifications/requests for operations on files.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	FileOperations FileOperationOptions `json:"fileOperations"`
 }
 
 // Workspace specific client capabilities.
-type WorkspaceClientCapabilities struct { // line 10183
-	//The client supports applying batch edits
-	//to the workspace by supporting the request
-	//'workspace/applyEdit'
+type WorkspaceClientCapabilities struct { // line 10184
+	// The client supports applying batch edits
+	// to the workspace by supporting the request
+	// 'workspace/applyEdit'
 	ApplyEdit bool `json:"applyEdit,omitempty"`
 	// Capabilities specific to `WorkspaceEdit`s.
 	WorkspaceEdit *WorkspaceEditClientCapabilities `json:"workspaceEdit,omitempty"`
@@ -4654,53 +4655,53 @@
 	Symbol *WorkspaceSymbolClientCapabilities `json:"symbol,omitempty"`
 	// Capabilities specific to the `workspace/executeCommand` request.
 	ExecuteCommand *ExecuteCommandClientCapabilities `json:"executeCommand,omitempty"`
-	//The client has support for workspace folders.
+	// The client has support for workspace folders.
 	//
-	//@since 3.6.0
+	// @since 3.6.0
 	WorkspaceFolders bool `json:"workspaceFolders,omitempty"`
-	//The client supports `workspace/configuration` requests.
+	// The client supports `workspace/configuration` requests.
 	//
-	//@since 3.6.0
+	// @since 3.6.0
 	Configuration bool `json:"configuration,omitempty"`
-	//Capabilities specific to the semantic token requests scoped to the
-	//workspace.
+	// Capabilities specific to the semantic token requests scoped to the
+	// workspace.
 	//
-	//@since 3.16.0.
+	// @since 3.16.0.
 	SemanticTokens *SemanticTokensWorkspaceClientCapabilities `json:"semanticTokens,omitempty"`
-	//Capabilities specific to the code lens requests scoped to the
-	//workspace.
+	// Capabilities specific to the code lens requests scoped to the
+	// workspace.
 	//
-	//@since 3.16.0.
+	// @since 3.16.0.
 	CodeLens *CodeLensWorkspaceClientCapabilities `json:"codeLens,omitempty"`
-	//The client has support for file notifications/requests for user operations on files.
+	// The client has support for file notifications/requests for user operations on files.
 	//
-	//Since 3.16.0
+	// Since 3.16.0
 	FileOperations *FileOperationClientCapabilities `json:"fileOperations,omitempty"`
-	//Capabilities specific to the inline values requests scoped to the
-	//workspace.
+	// Capabilities specific to the inline values requests scoped to the
+	// workspace.
 	//
-	//@since 3.17.0.
+	// @since 3.17.0.
 	InlineValue *InlineValueWorkspaceClientCapabilities `json:"inlineValue,omitempty"`
-	//Capabilities specific to the inlay hint requests scoped to the
-	//workspace.
+	// Capabilities specific to the inlay hint requests scoped to the
+	// workspace.
 	//
-	//@since 3.17.0.
+	// @since 3.17.0.
 	InlayHint *InlayHintWorkspaceClientCapabilities `json:"inlayHint,omitempty"`
-	//Capabilities specific to the diagnostic requests scoped to the
-	//workspace.
+	// Capabilities specific to the diagnostic requests scoped to the
+	// workspace.
 	//
-	//@since 3.17.0.
+	// @since 3.17.0.
 	Diagnostics *DiagnosticWorkspaceClientCapabilities `json:"diagnostics,omitempty"`
 }
 
 // Parameters of the workspace diagnostic request.
 //
 // @since 3.17.0
-type WorkspaceDiagnosticParams struct { // line 3876
+type WorkspaceDiagnosticParams struct { // line 3877
 	// The additional identifier provided during registration.
 	Identifier string `json:"identifier,omitempty"`
-	//The currently known diagnostic reports with their
-	//previous result ids.
+	// The currently known diagnostic reports with their
+	// previous result ids.
 	PreviousResultIds []PreviousResultID `json:"previousResultIds"`
 	WorkDoneProgressParams
 	PartialResultParams
@@ -4709,21 +4710,21 @@
 // A workspace diagnostic report.
 //
 // @since 3.17.0
-type WorkspaceDiagnosticReport struct { // line 3913
+type WorkspaceDiagnosticReport struct { // line 3914
 	Items []WorkspaceDocumentDiagnosticReport `json:"items"`
 }
 
 // A partial result for a workspace diagnostic report.
 //
 // @since 3.17.0
-type WorkspaceDiagnosticReportPartialResult struct { // line 3930
+type WorkspaceDiagnosticReportPartialResult struct { // line 3931
 	Items []WorkspaceDocumentDiagnosticReport `json:"items"`
 }
 
 // A workspace diagnostic document report.
 //
 // @since 3.17.0
-type WorkspaceDocumentDiagnosticReport = Or_WorkspaceDocumentDiagnosticReport // (alias) line 13983
+type WorkspaceDocumentDiagnosticReport = Or_WorkspaceDocumentDiagnosticReport // (alias) line 13984
 // A workspace edit represents changes to many resources managed in the workspace. The edit
 // should either provide `changes` or `documentChanges`. If documentChanges are present
 // they are preferred over `changes` if the client can handle versioned document edits.
@@ -4736,115 +4737,115 @@
 // An invalid sequence (e.g. (1) delete file a.txt and (2) insert text into file a.txt) will
 // cause failure of the operation. How the client recovers from the failure is described by
 // the client capability: `workspace.workspaceEdit.failureHandling`
-type WorkspaceEdit struct { // line 3192
+type WorkspaceEdit struct { // line 3193
 	// Holds changes to existing resources.
 	Changes map[DocumentURI][]TextEdit `json:"changes,omitempty"`
-	//Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes
-	//are either an array of `TextDocumentEdit`s to express changes to n different text documents
-	//where each text document edit addresses a specific version of a text document. Or it can contain
-	//above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations.
+	// Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes
+	// are either an array of `TextDocumentEdit`s to express changes to n different text documents
+	// where each text document edit addresses a specific version of a text document. Or it can contain
+	// above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations.
 	//
-	//Whether a client supports versioned document edits is expressed via
-	//`workspace.workspaceEdit.documentChanges` client capability.
+	// Whether a client supports versioned document edits is expressed via
+	// `workspace.workspaceEdit.documentChanges` client capability.
 	//
-	//If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then
-	//only plain `TextEdit`s using the `changes` property are supported.
+	// If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then
+	// only plain `TextEdit`s using the `changes` property are supported.
 	DocumentChanges []DocumentChanges `json:"documentChanges,omitempty"`
-	//A map of change annotations that can be referenced in `AnnotatedTextEdit`s or create, rename and
-	//delete file / folder operations.
+	// A map of change annotations that can be referenced in `AnnotatedTextEdit`s or create, rename and
+	// delete file / folder operations.
 	//
-	//Whether clients honor this property depends on the client capability `workspace.changeAnnotationSupport`.
+	// Whether clients honor this property depends on the client capability `workspace.changeAnnotationSupport`.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	ChangeAnnotations map[ChangeAnnotationIdentifier]ChangeAnnotation `json:"changeAnnotations,omitempty"`
 }
-type WorkspaceEditClientCapabilities struct { // line 10767
+type WorkspaceEditClientCapabilities struct { // line 10768
 	// The client supports versioned document changes in `WorkspaceEdit`s
 	DocumentChanges bool `json:"documentChanges,omitempty"`
-	//The resource operations the client supports. Clients should at least
-	//support 'create', 'rename' and 'delete' files and folders.
+	// The resource operations the client supports. Clients should at least
+	// support 'create', 'rename' and 'delete' files and folders.
 	//
-	//@since 3.13.0
+	// @since 3.13.0
 	ResourceOperations []ResourceOperationKind `json:"resourceOperations,omitempty"`
-	//The failure handling strategy of a client if applying the workspace edit
-	//fails.
+	// The failure handling strategy of a client if applying the workspace edit
+	// fails.
 	//
-	//@since 3.13.0
+	// @since 3.13.0
 	FailureHandling FailureHandlingKind `json:"failureHandling,omitempty"`
-	//Whether the client normalizes line endings to the client specific
-	//setting.
-	//If set to `true` the client will normalize line ending characters
-	//in a workspace edit to the client-specified new line
-	//character.
+	// Whether the client normalizes line endings to the client specific
+	// setting.
+	// If set to `true` the client will normalize line ending characters
+	// in a workspace edit to the client-specified new line
+	// character.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	NormalizesLineEndings bool `json:"normalizesLineEndings,omitempty"`
-	//Whether the client in general supports change annotations on text edits,
-	//create file, rename file and delete file changes.
+	// Whether the client in general supports change annotations on text edits,
+	// create file, rename file and delete file changes.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	ChangeAnnotationSupport *PChangeAnnotationSupportPWorkspaceEdit `json:"changeAnnotationSupport,omitempty"`
 }
 
 // A workspace folder inside a client.
-type WorkspaceFolder struct { // line 2162
+type WorkspaceFolder struct { // line 2163
 	// The associated URI for this workspace folder.
 	URI URI `json:"uri"`
-	//The name of the workspace folder. Used to refer to this
-	//workspace folder in the user interface.
+	// The name of the workspace folder. Used to refer to this
+	// workspace folder in the user interface.
 	Name string `json:"name"`
 }
-type WorkspaceFolders5Gn struct { // line 9932
+type WorkspaceFolders5Gn struct { // line 9933
 	// The server has support for workspace folders
 	Supported bool `json:"supported,omitempty"`
-	//Whether the server wants to receive workspace folder
-	//change notifications.
+	// Whether the server wants to receive workspace folder
+	// change notifications.
 	//
-	//If a string is provided the string is treated as an ID
-	//under which the notification is registered on the client
-	//side. The ID can be used to unregister for these events
-	//using the `client/unregisterCapability` request.
+	// If a string is provided the string is treated as an ID
+	// under which the notification is registered on the client
+	// side. The ID can be used to unregister for these events
+	// using the `client/unregisterCapability` request.
 	ChangeNotifications string `json:"changeNotifications,omitempty"`
 }
 
 // The workspace folder change event.
-type WorkspaceFoldersChangeEvent struct { // line 6367
+type WorkspaceFoldersChangeEvent struct { // line 6368
 	// The array of added workspace folders
 	Added []WorkspaceFolder `json:"added"`
 	// The array of the removed workspace folders
 	Removed []WorkspaceFolder `json:"removed"`
 }
-type WorkspaceFoldersInitializeParams struct { // line 7781
-	//The workspace folders configured in the client when the server starts.
+type WorkspaceFoldersInitializeParams struct { // line 7782
+	// The workspace folders configured in the client when the server starts.
 	//
-	//This property is only available if the client supports workspace folders.
-	//It can be `null` if the client supports workspace folders but none are
-	//configured.
+	// This property is only available if the client supports workspace folders.
+	// It can be `null` if the client supports workspace folders but none are
+	// configured.
 	//
-	//@since 3.6.0
+	// @since 3.6.0
 	WorkspaceFolders []WorkspaceFolder `json:"workspaceFolders,omitempty"`
 }
-type WorkspaceFoldersServerCapabilities struct { // line 9932
+type WorkspaceFoldersServerCapabilities struct { // line 9933
 	// The server has support for workspace folders
 	Supported bool `json:"supported,omitempty"`
-	//Whether the server wants to receive workspace folder
-	//change notifications.
+	// Whether the server wants to receive workspace folder
+	// change notifications.
 	//
-	//If a string is provided the string is treated as an ID
-	//under which the notification is registered on the client
-	//side. The ID can be used to unregister for these events
-	//using the `client/unregisterCapability` request.
+	// If a string is provided the string is treated as an ID
+	// under which the notification is registered on the client
+	// side. The ID can be used to unregister for these events
+	// using the `client/unregisterCapability` request.
 	ChangeNotifications string `json:"changeNotifications,omitempty"`
 }
 
 // A full document diagnostic report for a workspace diagnostic result.
 //
 // @since 3.17.0
-type WorkspaceFullDocumentDiagnosticReport struct { // line 9521
+type WorkspaceFullDocumentDiagnosticReport struct { // line 9522
 	// The URI for which diagnostic information is reported.
 	URI DocumentURI `json:"uri"`
-	//The version number for which the diagnostics are reported.
-	//If the document is not marked as open `null` can be provided.
+	// The version number for which the diagnostics are reported.
+	// If the document is not marked as open `null` can be provided.
 	Version int32 `json:"version"`
 	FullDocumentDiagnosticReport
 }
@@ -4854,105 +4855,105 @@
 // See also SymbolInformation.
 //
 // @since 3.17.0
-type WorkspaceSymbol struct { // line 5514
-	//The location of the symbol. Whether a server is allowed to
-	//return a location without a range depends on the client
-	//capability `workspace.symbol.resolveSupport`.
+type WorkspaceSymbol struct { // line 5515
+	// The location of the symbol. Whether a server is allowed to
+	// return a location without a range depends on the client
+	// capability `workspace.symbol.resolveSupport`.
 	//
-	//See SymbolInformation#location for more details.
+	// See SymbolInformation#location for more details.
 	Location OrPLocation_workspace_symbol `json:"location"`
-	//A data entry field that is preserved on a workspace symbol between a
-	//workspace symbol request and a workspace symbol resolve request.
+	// A data entry field that is preserved on a workspace symbol between a
+	// workspace symbol request and a workspace symbol resolve request.
 	Data interface{} `json:"data,omitempty"`
 	BaseSymbolInformation
 }
 
 // Client capabilities for a {@link WorkspaceSymbolRequest}.
-type WorkspaceSymbolClientCapabilities struct { // line 10874
+type WorkspaceSymbolClientCapabilities struct { // line 10875
 	// Symbol request supports dynamic registration.
 	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
 	// Specific capabilities for the `SymbolKind` in the `workspace/symbol` request.
 	SymbolKind *PSymbolKindPSymbol `json:"symbolKind,omitempty"`
-	//The client supports tags on `SymbolInformation`.
-	//Clients supporting tags have to handle unknown tags gracefully.
+	// The client supports tags on `SymbolInformation`.
+	// Clients supporting tags have to handle unknown tags gracefully.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	TagSupport *PTagSupportPSymbol `json:"tagSupport,omitempty"`
-	//The client support partial workspace symbols. The client will send the
-	//request `workspaceSymbol/resolve` to the server to resolve additional
-	//properties.
+	// The client support partial workspace symbols. The client will send the
+	// request `workspaceSymbol/resolve` to the server to resolve additional
+	// properties.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	ResolveSupport *PResolveSupportPSymbol `json:"resolveSupport,omitempty"`
 }
 
 // Server capabilities for a {@link WorkspaceSymbolRequest}.
-type WorkspaceSymbolOptions struct { // line 9104
-	//The server provides support to resolve additional
-	//information for a workspace symbol.
+type WorkspaceSymbolOptions struct { // line 9105
+	// The server provides support to resolve additional
+	// information for a workspace symbol.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	ResolveProvider bool `json:"resolveProvider,omitempty"`
 	WorkDoneProgressOptions
 }
 
 // The parameters of a {@link WorkspaceSymbolRequest}.
-type WorkspaceSymbolParams struct { // line 5490
-	//A query string to filter symbols by. Clients may send an empty
-	//string here to request all symbols.
+type WorkspaceSymbolParams struct { // line 5491
+	// A query string to filter symbols by. Clients may send an empty
+	// string here to request all symbols.
 	Query string `json:"query"`
 	WorkDoneProgressParams
 	PartialResultParams
 }
 
 // Registration options for a {@link WorkspaceSymbolRequest}.
-type WorkspaceSymbolRegistrationOptions struct { // line 5563
+type WorkspaceSymbolRegistrationOptions struct { // line 5564
 	WorkspaceSymbolOptions
 }
 
 // An unchanged document diagnostic report for a workspace diagnostic result.
 //
 // @since 3.17.0
-type WorkspaceUnchangedDocumentDiagnosticReport struct { // line 9559
+type WorkspaceUnchangedDocumentDiagnosticReport struct { // line 9560
 	// The URI for which diagnostic information is reported.
 	URI DocumentURI `json:"uri"`
-	//The version number for which the diagnostics are reported.
-	//If the document is not marked as open `null` can be provided.
+	// The version number for which the diagnostics are reported.
+	// If the document is not marked as open `null` can be provided.
 	Version int32 `json:"version"`
 	UnchangedDocumentDiagnosticReport
 }
 
 // The initialize parameters
-type XInitializeParams struct { // line 7649
-	//The process Id of the parent process that started
-	//the server.
+type XInitializeParams struct { // line 7650
+	// The process Id of the parent process that started
+	// the server.
 	//
-	//Is `null` if the process has not been started by another process.
-	//If the parent process is not alive then the server should exit.
+	// Is `null` if the process has not been started by another process.
+	// If the parent process is not alive then the server should exit.
 	ProcessID int32 `json:"processId"`
-	//Information about the client
+	// Information about the client
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	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
-	//system.
+	// The locale the client is currently showing the user interface
+	// in. This must not necessarily be the locale of the operating
+	// system.
 	//
-	//Uses IETF language tags as the value's syntax
-	//(See https://en.wikipedia.org/wiki/IETF_language_tag)
+	// Uses IETF language tags as the value's syntax
+	// (See https://en.wikipedia.org/wiki/IETF_language_tag)
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Locale string `json:"locale,omitempty"`
-	//The rootPath of the workspace. Is null
-	//if no folder is open.
+	// The rootPath of the workspace. Is null
+	// if no folder is open.
 	//
-	//@deprecated in favour of rootUri.
+	// @deprecated in favour of rootUri.
 	RootPath string `json:"rootPath,omitempty"`
-	//The rootUri of the workspace. Is null if no
-	//folder is open. If both `rootPath` and `rootUri` are set
-	//`rootUri` wins.
+	// The rootUri of the workspace. Is null if no
+	// folder is open. If both `rootPath` and `rootUri` are set
+	// `rootUri` wins.
 	//
-	//@deprecated in favour of workspaceFolders.
+	// @deprecated in favour of workspaceFolders.
 	RootURI DocumentURI `json:"rootUri"`
 	// The capabilities provided by the client (editor or tool)
 	Capabilities ClientCapabilities `json:"capabilities"`
@@ -4964,36 +4965,36 @@
 }
 
 // The initialize parameters
-type _InitializeParams struct { // line 7649
-	//The process Id of the parent process that started
-	//the server.
+type _InitializeParams struct { // line 7650
+	// The process Id of the parent process that started
+	// the server.
 	//
-	//Is `null` if the process has not been started by another process.
-	//If the parent process is not alive then the server should exit.
+	// Is `null` if the process has not been started by another process.
+	// If the parent process is not alive then the server should exit.
 	ProcessID int32 `json:"processId"`
-	//Information about the client
+	// Information about the client
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	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
-	//system.
+	// The locale the client is currently showing the user interface
+	// in. This must not necessarily be the locale of the operating
+	// system.
 	//
-	//Uses IETF language tags as the value's syntax
-	//(See https://en.wikipedia.org/wiki/IETF_language_tag)
+	// Uses IETF language tags as the value's syntax
+	// (See https://en.wikipedia.org/wiki/IETF_language_tag)
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	Locale string `json:"locale,omitempty"`
-	//The rootPath of the workspace. Is null
-	//if no folder is open.
+	// The rootPath of the workspace. Is null
+	// if no folder is open.
 	//
-	//@deprecated in favour of rootUri.
+	// @deprecated in favour of rootUri.
 	RootPath string `json:"rootPath,omitempty"`
-	//The rootUri of the workspace. Is null if no
-	//folder is open. If both `rootPath` and `rootUri` are set
-	//`rootUri` wins.
+	// The rootUri of the workspace. Is null if no
+	// folder is open. If both `rootPath` and `rootUri` are set
+	// `rootUri` wins.
 	//
-	//@deprecated in favour of workspaceFolders.
+	// @deprecated in favour of workspaceFolders.
 	RootURI DocumentURI `json:"rootUri"`
 	// The capabilities provided by the client (editor or tool)
 	Capabilities ClientCapabilities `json:"capabilities"`
@@ -5007,14 +5008,14 @@
 const (
 	// A set of predefined code action kinds
 	// Empty kind.
-	Empty CodeActionKind = "" // line 13332
+	Empty CodeActionKind = "" // line 13333
 	// Base kind for quickfix actions: 'quickfix'
-	QuickFix CodeActionKind = "quickfix" // line 13337
+	QuickFix CodeActionKind = "quickfix" // line 13338
 	// Base kind for refactoring actions: 'refactor'
-	Refactor CodeActionKind = "refactor" // line 13342
-	//Base kind for refactoring extraction actions: 'refactor.extract'
+	Refactor CodeActionKind = "refactor" // line 13343
+	// Base kind for refactoring extraction actions: 'refactor.extract'
 	//
-	//Example extract actions:
+	// Example extract actions:
 	//
 	//
 	//  - Extract method
@@ -5022,20 +5023,20 @@
 	//  - Extract variable
 	//  - Extract interface from class
 	//  - ...
-	RefactorExtract CodeActionKind = "refactor.extract" // line 13347
-	//Base kind for refactoring inline actions: 'refactor.inline'
+	RefactorExtract CodeActionKind = "refactor.extract" // line 13348
+	// Base kind for refactoring inline actions: 'refactor.inline'
 	//
-	//Example inline actions:
+	// Example inline actions:
 	//
 	//
 	//  - Inline function
 	//  - Inline variable
 	//  - Inline constant
 	//  - ...
-	RefactorInline CodeActionKind = "refactor.inline" // line 13352
-	//Base kind for refactoring rewrite actions: 'refactor.rewrite'
+	RefactorInline CodeActionKind = "refactor.inline" // line 13353
+	// Base kind for refactoring rewrite actions: 'refactor.rewrite'
 	//
-	//Example rewrite actions:
+	// Example rewrite actions:
 	//
 	//
 	//  - Convert JavaScript function to class
@@ -5044,406 +5045,406 @@
 	//  - Make method static
 	//  - Move method to base class
 	//  - ...
-	RefactorRewrite CodeActionKind = "refactor.rewrite" // line 13357
-	//Base kind for source actions: `source`
+	RefactorRewrite CodeActionKind = "refactor.rewrite" // line 13358
+	// Base kind for source actions: `source`
 	//
-	//Source code actions apply to the entire file.
-	Source CodeActionKind = "source" // line 13362
+	// Source code actions apply to the entire file.
+	Source CodeActionKind = "source" // line 13363
 	// Base kind for an organize imports source action: `source.organizeImports`
-	SourceOrganizeImports CodeActionKind = "source.organizeImports" // line 13367
-	//Base kind for auto-fix source actions: `source.fixAll`.
+	SourceOrganizeImports CodeActionKind = "source.organizeImports" // line 13368
+	// Base kind for auto-fix source actions: `source.fixAll`.
 	//
-	//Fix all actions automatically fix errors that have a clear fix that do not require user input.
-	//They should not suppress errors or perform unsafe fixes such as generating new types or classes.
+	// Fix all actions automatically fix errors that have a clear fix that do not require user input.
+	// They should not suppress errors or perform unsafe fixes such as generating new types or classes.
 	//
-	//@since 3.15.0
-	SourceFixAll CodeActionKind = "source.fixAll" // line 13372
-	//The reason why code actions were requested.
+	// @since 3.15.0
+	SourceFixAll CodeActionKind = "source.fixAll" // line 13373
+	// The reason why code actions were requested.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	// Code actions were explicitly requested by the user or by an extension.
-	CodeActionInvoked CodeActionTriggerKind = 1 // line 13612
-	//Code actions were requested automatically.
+	CodeActionInvoked CodeActionTriggerKind = 1 // line 13613
+	// Code actions were requested automatically.
 	//
-	//This typically happens when current selection in a file changes, but can
-	//also be triggered when file content changes.
-	CodeActionAutomatic CodeActionTriggerKind = 2 // line 13617
+	// This typically happens when current selection in a file changes, but can
+	// also be triggered when file content changes.
+	CodeActionAutomatic CodeActionTriggerKind = 2 // line 13618
 	// The kind of a completion entry.
-	TextCompletion          CompletionItemKind = 1  // line 13140
-	MethodCompletion        CompletionItemKind = 2  // line 13144
-	FunctionCompletion      CompletionItemKind = 3  // line 13148
-	ConstructorCompletion   CompletionItemKind = 4  // line 13152
-	FieldCompletion         CompletionItemKind = 5  // line 13156
-	VariableCompletion      CompletionItemKind = 6  // line 13160
-	ClassCompletion         CompletionItemKind = 7  // line 13164
-	InterfaceCompletion     CompletionItemKind = 8  // line 13168
-	ModuleCompletion        CompletionItemKind = 9  // line 13172
-	PropertyCompletion      CompletionItemKind = 10 // line 13176
-	UnitCompletion          CompletionItemKind = 11 // line 13180
-	ValueCompletion         CompletionItemKind = 12 // line 13184
-	EnumCompletion          CompletionItemKind = 13 // line 13188
-	KeywordCompletion       CompletionItemKind = 14 // line 13192
-	SnippetCompletion       CompletionItemKind = 15 // line 13196
-	ColorCompletion         CompletionItemKind = 16 // line 13200
-	FileCompletion          CompletionItemKind = 17 // line 13204
-	ReferenceCompletion     CompletionItemKind = 18 // line 13208
-	FolderCompletion        CompletionItemKind = 19 // line 13212
-	EnumMemberCompletion    CompletionItemKind = 20 // line 13216
-	ConstantCompletion      CompletionItemKind = 21 // line 13220
-	StructCompletion        CompletionItemKind = 22 // line 13224
-	EventCompletion         CompletionItemKind = 23 // line 13228
-	OperatorCompletion      CompletionItemKind = 24 // line 13232
-	TypeParameterCompletion CompletionItemKind = 25 // line 13236
-	//Completion item tags are extra annotations that tweak the rendering of a completion
-	//item.
+	TextCompletion          CompletionItemKind = 1  // line 13141
+	MethodCompletion        CompletionItemKind = 2  // line 13145
+	FunctionCompletion      CompletionItemKind = 3  // line 13149
+	ConstructorCompletion   CompletionItemKind = 4  // line 13153
+	FieldCompletion         CompletionItemKind = 5  // line 13157
+	VariableCompletion      CompletionItemKind = 6  // line 13161
+	ClassCompletion         CompletionItemKind = 7  // line 13165
+	InterfaceCompletion     CompletionItemKind = 8  // line 13169
+	ModuleCompletion        CompletionItemKind = 9  // line 13173
+	PropertyCompletion      CompletionItemKind = 10 // line 13177
+	UnitCompletion          CompletionItemKind = 11 // line 13181
+	ValueCompletion         CompletionItemKind = 12 // line 13185
+	EnumCompletion          CompletionItemKind = 13 // line 13189
+	KeywordCompletion       CompletionItemKind = 14 // line 13193
+	SnippetCompletion       CompletionItemKind = 15 // line 13197
+	ColorCompletion         CompletionItemKind = 16 // line 13201
+	FileCompletion          CompletionItemKind = 17 // line 13205
+	ReferenceCompletion     CompletionItemKind = 18 // line 13209
+	FolderCompletion        CompletionItemKind = 19 // line 13213
+	EnumMemberCompletion    CompletionItemKind = 20 // line 13217
+	ConstantCompletion      CompletionItemKind = 21 // line 13221
+	StructCompletion        CompletionItemKind = 22 // line 13225
+	EventCompletion         CompletionItemKind = 23 // line 13229
+	OperatorCompletion      CompletionItemKind = 24 // line 13233
+	TypeParameterCompletion CompletionItemKind = 25 // line 13237
+	// Completion item tags are extra annotations that tweak the rendering of a completion
+	// item.
 	//
-	//@since 3.15.0
+	// @since 3.15.0
 	// Render a completion as obsolete, usually using a strike-out.
-	ComplDeprecated CompletionItemTag = 1 // line 13250
+	ComplDeprecated CompletionItemTag = 1 // line 13251
 	// How a completion was triggered
-	//Completion was triggered by typing an identifier (24x7 code
-	//complete), manual invocation (e.g Ctrl+Space) or via API.
-	Invoked CompletionTriggerKind = 1 // line 13561
-	//Completion was triggered by a trigger character specified by
-	//the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
-	TriggerCharacter CompletionTriggerKind = 2 // line 13566
+	// Completion was triggered by typing an identifier (24x7 code
+	// complete), manual invocation (e.g Ctrl+Space) or via API.
+	Invoked CompletionTriggerKind = 1 // line 13562
+	// Completion was triggered by a trigger character specified by
+	// the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
+	TriggerCharacter CompletionTriggerKind = 2 // line 13567
 	// Completion was re-triggered as current completion list is incomplete
-	TriggerForIncompleteCompletions CompletionTriggerKind = 3 // line 13571
+	TriggerForIncompleteCompletions CompletionTriggerKind = 3 // line 13572
 	// The diagnostic's severity.
 	// Reports an error.
-	SeverityError DiagnosticSeverity = 1 // line 13510
+	SeverityError DiagnosticSeverity = 1 // line 13511
 	// Reports a warning.
-	SeverityWarning DiagnosticSeverity = 2 // line 13515
+	SeverityWarning DiagnosticSeverity = 2 // line 13516
 	// Reports an information.
-	SeverityInformation DiagnosticSeverity = 3 // line 13520
+	SeverityInformation DiagnosticSeverity = 3 // line 13521
 	// Reports a hint.
-	SeverityHint DiagnosticSeverity = 4 // line 13525
-	//The diagnostic tags.
+	SeverityHint DiagnosticSeverity = 4 // line 13526
+	// The diagnostic tags.
 	//
-	//@since 3.15.0
-	//Unused or unnecessary code.
+	// @since 3.15.0
+	// Unused or unnecessary code.
 	//
-	//Clients are allowed to render diagnostics with this tag faded out instead of having
-	//an error squiggle.
-	Unnecessary DiagnosticTag = 1 // line 13540
-	//Deprecated or obsolete code.
+	// Clients are allowed to render diagnostics with this tag faded out instead of having
+	// an error squiggle.
+	Unnecessary DiagnosticTag = 1 // line 13541
+	// Deprecated or obsolete code.
 	//
-	//Clients are allowed to rendered diagnostics with this tag strike through.
-	Deprecated DiagnosticTag = 2 // line 13545
-	//The document diagnostic report kinds.
+	// Clients are allowed to rendered diagnostics with this tag strike through.
+	Deprecated DiagnosticTag = 2 // line 13546
+	// The document diagnostic report kinds.
 	//
-	//@since 3.17.0
-	//A diagnostic report with a full
-	//set of problems.
-	DiagnosticFull DocumentDiagnosticReportKind = "full" // line 12728
-	//A report indicating that the last
-	//returned report is still accurate.
-	DiagnosticUnchanged DocumentDiagnosticReportKind = "unchanged" // line 12733
+	// @since 3.17.0
+	// A diagnostic report with a full
+	// set of problems.
+	DiagnosticFull DocumentDiagnosticReportKind = "full" // line 12729
+	// A report indicating that the last
+	// returned report is still accurate.
+	DiagnosticUnchanged DocumentDiagnosticReportKind = "unchanged" // line 12734
 	// A document highlight kind.
 	// A textual occurrence.
-	Text DocumentHighlightKind = 1 // line 13307
+	Text DocumentHighlightKind = 1 // line 13308
 	// Read-access of a symbol, like reading a variable.
-	Read DocumentHighlightKind = 2 // line 13312
+	Read DocumentHighlightKind = 2 // line 13313
 	// Write-access of a symbol, like writing to a variable.
-	Write DocumentHighlightKind = 3 // line 13317
+	Write DocumentHighlightKind = 3 // line 13318
 	// Predefined error codes.
-	ParseError     ErrorCodes = -32700 // line 12749
-	InvalidRequest ErrorCodes = -32600 // line 12753
-	MethodNotFound ErrorCodes = -32601 // line 12757
-	InvalidParams  ErrorCodes = -32602 // line 12761
-	InternalError  ErrorCodes = -32603 // line 12765
-	//Error code indicating that a server received a notification or
-	//request before the server has received the `initialize` request.
-	ServerNotInitialized ErrorCodes = -32002 // line 12769
-	UnknownErrorCode     ErrorCodes = -32001 // line 12774
-	//Applying the workspace change is simply aborted if one of the changes provided
-	//fails. All operations executed before the failing operation stay executed.
-	Abort FailureHandlingKind = "abort" // line 13699
-	//All operations are executed transactional. That means they either all
-	//succeed or no changes at all are applied to the workspace.
-	Transactional FailureHandlingKind = "transactional" // line 13704
-	//If the workspace edit contains only textual file changes they are executed transactional.
-	//If resource changes (create, rename or delete file) are part of the change the failure
-	//handling strategy is abort.
-	TextOnlyTransactional FailureHandlingKind = "textOnlyTransactional" // line 13709
-	//The client tries to undo the operations already executed. But there is no
-	//guarantee that this is succeeding.
-	Undo FailureHandlingKind = "undo" // line 13714
+	ParseError     ErrorCodes = -32700 // line 12750
+	InvalidRequest ErrorCodes = -32600 // line 12754
+	MethodNotFound ErrorCodes = -32601 // line 12758
+	InvalidParams  ErrorCodes = -32602 // line 12762
+	InternalError  ErrorCodes = -32603 // line 12766
+	// Error code indicating that a server received a notification or
+	// request before the server has received the `initialize` request.
+	ServerNotInitialized ErrorCodes = -32002 // line 12770
+	UnknownErrorCode     ErrorCodes = -32001 // line 12775
+	// Applying the workspace change is simply aborted if one of the changes provided
+	// fails. All operations executed before the failing operation stay executed.
+	Abort FailureHandlingKind = "abort" // line 13700
+	// All operations are executed transactional. That means they either all
+	// succeed or no changes at all are applied to the workspace.
+	Transactional FailureHandlingKind = "transactional" // line 13705
+	// If the workspace edit contains only textual file changes they are executed transactional.
+	// If resource changes (create, rename or delete file) are part of the change the failure
+	// handling strategy is abort.
+	TextOnlyTransactional FailureHandlingKind = "textOnlyTransactional" // line 13710
+	// The client tries to undo the operations already executed. But there is no
+	// guarantee that this is succeeding.
+	Undo FailureHandlingKind = "undo" // line 13715
 	// The file event type
 	// The file got created.
-	Created FileChangeType = 1 // line 13460
+	Created FileChangeType = 1 // line 13461
 	// The file got changed.
-	Changed FileChangeType = 2 // line 13465
+	Changed FileChangeType = 2 // line 13466
 	// The file got deleted.
-	Deleted FileChangeType = 3 // line 13470
-	//A pattern kind describing if a glob pattern matches a file a folder or
-	//both.
+	Deleted FileChangeType = 3 // line 13471
+	// A pattern kind describing if a glob pattern matches a file a folder or
+	// both.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	// The pattern matches a file only.
-	FilePattern FileOperationPatternKind = "file" // line 13633
+	FilePattern FileOperationPatternKind = "file" // line 13634
 	// The pattern matches a folder only.
-	FolderPattern FileOperationPatternKind = "folder" // line 13638
+	FolderPattern FileOperationPatternKind = "folder" // line 13639
 	// A set of predefined range kinds.
 	// Folding range for a comment
-	Comment FoldingRangeKind = "comment" // line 12821
+	Comment FoldingRangeKind = "comment" // line 12822
 	// Folding range for an import or include
-	Imports FoldingRangeKind = "imports" // line 12826
+	Imports FoldingRangeKind = "imports" // line 12827
 	// Folding range for a region (e.g. `#region`)
-	Region FoldingRangeKind = "region" // line 12831
-	//Inlay hint kinds.
+	Region FoldingRangeKind = "region" // line 12832
+	// Inlay hint kinds.
 	//
-	//@since 3.17.0
+	// @since 3.17.0
 	// An inlay hint that for a type annotation.
-	Type InlayHintKind = 1 // line 13039
+	Type InlayHintKind = 1 // line 13040
 	// An inlay hint that is for a parameter.
-	Parameter InlayHintKind = 2 // line 13044
-	//Defines whether the insert text in a completion item should be interpreted as
-	//plain text or a snippet.
+	Parameter InlayHintKind = 2 // line 13045
+	// Defines whether the insert text in a completion item should be interpreted as
+	// plain text or a snippet.
 	// The primary text to be inserted is treated as a plain string.
-	PlainTextTextFormat InsertTextFormat = 1 // line 13266
-	//The primary text to be inserted is treated as a snippet.
+	PlainTextTextFormat InsertTextFormat = 1 // line 13267
+	// The primary text to be inserted is treated as a snippet.
 	//
-	//A snippet can define tab stops and placeholders with `$1`, `$2`
-	//and `${3:foo}`. `$0` defines the final tab stop, it defaults to
-	//the end of the snippet. Placeholders with equal identifiers are linked,
-	//that is typing in one will update others too.
+	// A snippet can define tab stops and placeholders with `$1`, `$2`
+	// and `${3:foo}`. `$0` defines the final tab stop, it defaults to
+	// the end of the snippet. Placeholders with equal identifiers are linked,
+	// that is typing in one will update others too.
 	//
-	//See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax
-	SnippetTextFormat InsertTextFormat = 2 // line 13271
-	//How whitespace and indentation is handled during completion
-	//item insertion.
+	// See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax
+	SnippetTextFormat InsertTextFormat = 2 // line 13272
+	// How whitespace and indentation is handled during completion
+	// item insertion.
 	//
-	//@since 3.16.0
-	//The insertion or replace strings is taken as it is. If the
-	//value is multi line the lines below the cursor will be
-	//inserted using the indentation defined in the string value.
-	//The client will not apply any kind of adjustments to the
-	//string.
-	AsIs InsertTextMode = 1 // line 13286
-	//The editor adjusts leading whitespace of new lines so that
-	//they match the indentation up to the cursor of the line for
-	//which the item is accepted.
+	// @since 3.16.0
+	// The insertion or replace strings is taken as it is. If the
+	// value is multi line the lines below the cursor will be
+	// inserted using the indentation defined in the string value.
+	// The client will not apply any kind of adjustments to the
+	// string.
+	AsIs InsertTextMode = 1 // line 13287
+	// The editor adjusts leading whitespace of new lines so that
+	// they match the indentation up to the cursor of the line for
+	// which the item is accepted.
 	//
-	//Consider a line like this: <2tabs><cursor><3tabs>foo. Accepting a
-	//multi line completion item is indented using 2 tabs and all
-	//following lines inserted will be indented using 2 tabs as well.
-	AdjustIndentation InsertTextMode = 2 // line 13291
-	//A request failed but it was syntactically correct, e.g the
-	//method name was known and the parameters were valid. The error
-	//message should contain human readable information about why
-	//the request failed.
+	// Consider a line like this: <2tabs><cursor><3tabs>foo. Accepting a
+	// multi line completion item is indented using 2 tabs and all
+	// following lines inserted will be indented using 2 tabs as well.
+	AdjustIndentation InsertTextMode = 2 // line 13292
+	// A request failed but it was syntactically correct, e.g the
+	// method name was known and the parameters were valid. The error
+	// message should contain human readable information about why
+	// the request failed.
 	//
-	//@since 3.17.0
-	RequestFailed LSPErrorCodes = -32803 // line 12789
-	//The server cancelled the request. This error code should
-	//only be used for requests that explicitly support being
-	//server cancellable.
+	// @since 3.17.0
+	RequestFailed LSPErrorCodes = -32803 // line 12790
+	// The server cancelled the request. This error code should
+	// only be used for requests that explicitly support being
+	// server cancellable.
 	//
-	//@since 3.17.0
-	ServerCancelled LSPErrorCodes = -32802 // line 12795
-	//The server detected that the content of a document got
-	//modified outside normal conditions. A server should
-	//NOT send this error code if it detects a content change
-	//in it unprocessed messages. The result even computed
-	//on an older state might still be useful for the client.
+	// @since 3.17.0
+	ServerCancelled LSPErrorCodes = -32802 // line 12796
+	// The server detected that the content of a document got
+	// modified outside normal conditions. A server should
+	// NOT send this error code if it detects a content change
+	// in it unprocessed messages. The result even computed
+	// on an older state might still be useful for the client.
 	//
-	//If a client decides that a result is not of any use anymore
-	//the client should cancel the request.
-	ContentModified LSPErrorCodes = -32801 // line 12801
-	//The client has canceled a request and a server as detected
-	//the cancel.
-	RequestCancelled LSPErrorCodes = -32800 // line 12806
-	//Describes the content type that a client supports in various
-	//result literals like `Hover`, `ParameterInfo` or `CompletionItem`.
+	// If a client decides that a result is not of any use anymore
+	// the client should cancel the request.
+	ContentModified LSPErrorCodes = -32801 // line 12802
+	// The client has canceled a request and a server as detected
+	// the cancel.
+	RequestCancelled LSPErrorCodes = -32800 // line 12807
+	// 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.
+	// Please note that `MarkupKinds` must not start with a `$`. This kinds
+	// are reserved for internal usage.
 	// Plain text is supported as a content format
-	PlainText MarkupKind = "plaintext" // line 13413
+	PlainText MarkupKind = "plaintext" // line 13414
 	// Markdown is supported as a content format
-	Markdown MarkupKind = "markdown" // line 13418
+	Markdown MarkupKind = "markdown" // line 13419
 	// The message type
 	// An error message.
-	Error MessageType = 1 // line 13060
+	Error MessageType = 1 // line 13061
 	// A warning message.
-	Warning MessageType = 2 // line 13065
+	Warning MessageType = 2 // line 13066
 	// An information message.
-	Info MessageType = 3 // line 13070
+	Info MessageType = 3 // line 13071
 	// A log message.
-	Log MessageType = 4 // line 13075
-	//The moniker kind.
+	Log MessageType = 4 // line 13076
+	// The moniker kind.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	// The moniker represent a symbol that is imported into a project
-	Import MonikerKind = "import" // line 13013
+	Import MonikerKind = "import" // line 13014
 	// The moniker represents a symbol that is exported from a project
-	Export MonikerKind = "export" // line 13018
-	//The moniker represents a symbol that is local to a project (e.g. a local
-	//variable of a function, a class not visible outside the project, ...)
-	Local MonikerKind = "local" // line 13023
-	//A notebook cell kind.
+	Export MonikerKind = "export" // line 13019
+	// The moniker represents a symbol that is local to a project (e.g. a local
+	// variable of a function, a class not visible outside the project, ...)
+	Local MonikerKind = "local" // line 13024
+	// A notebook cell kind.
 	//
-	//@since 3.17.0
-	// A markup-cell is formatted source that is used for display.
-	Markup NotebookCellKind = 1 // line 13654
-	// A code-cell is source code.
-	Code NotebookCellKind = 2 // line 13659
-	//A set of predefined position encoding kinds.
-	//
-	//@since 3.17.0
-	// Character offsets count UTF-8 code units.
-	UTF8 PositionEncodingKind = "utf-8" // line 13433
-	//Character offsets count UTF-16 code units.
-	//
-	//This is the default and must always be supported
-	//by servers
-	UTF16 PositionEncodingKind = "utf-16" // line 13438
-	//Character offsets count UTF-32 code units.
-	//
-	//Implementation note: these are the same as Unicode code points,
-	//so this `PositionEncodingKind` may also be used for an
-	//encoding-agnostic representation of character offsets.
-	UTF32 PositionEncodingKind = "utf-32" // line 13443
-	//The client's default behavior is to select the identifier
-	//according the to language's syntax rule.
-	Identifier PrepareSupportDefaultBehavior = 1 // line 13728
-	// Supports creating new files and folders.
-	Create ResourceOperationKind = "create" // line 13675
-	// Supports renaming existing files and folders.
-	Rename ResourceOperationKind = "rename" // line 13680
-	// Supports deleting existing files and folders.
-	Delete ResourceOperationKind = "delete" // line 13685
-	//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
-	ModDeclaration    SemanticTokenModifiers = "declaration"    // line 12676
-	ModDefinition     SemanticTokenModifiers = "definition"     // line 12680
-	ModReadonly       SemanticTokenModifiers = "readonly"       // line 12684
-	ModStatic         SemanticTokenModifiers = "static"         // line 12688
-	ModDeprecated     SemanticTokenModifiers = "deprecated"     // line 12692
-	ModAbstract       SemanticTokenModifiers = "abstract"       // line 12696
-	ModAsync          SemanticTokenModifiers = "async"          // line 12700
-	ModModification   SemanticTokenModifiers = "modification"   // line 12704
-	ModDocumentation  SemanticTokenModifiers = "documentation"  // line 12708
-	ModDefaultLibrary SemanticTokenModifiers = "defaultLibrary" // line 12712
-	//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
-	NamespaceType SemanticTokenTypes = "namespace" // line 12569
-	//Represents a generic type. Acts as a fallback for types which can't be mapped to
-	//a specific type like class or enum.
-	TypeType          SemanticTokenTypes = "type"          // line 12573
-	ClassType         SemanticTokenTypes = "class"         // line 12578
-	EnumType          SemanticTokenTypes = "enum"          // line 12582
-	InterfaceType     SemanticTokenTypes = "interface"     // line 12586
-	StructType        SemanticTokenTypes = "struct"        // line 12590
-	TypeParameterType SemanticTokenTypes = "typeParameter" // line 12594
-	ParameterType     SemanticTokenTypes = "parameter"     // line 12598
-	VariableType      SemanticTokenTypes = "variable"      // line 12602
-	PropertyType      SemanticTokenTypes = "property"      // line 12606
-	EnumMemberType    SemanticTokenTypes = "enumMember"    // line 12610
-	EventType         SemanticTokenTypes = "event"         // line 12614
-	FunctionType      SemanticTokenTypes = "function"      // line 12618
-	MethodType        SemanticTokenTypes = "method"        // line 12622
-	MacroType         SemanticTokenTypes = "macro"         // line 12626
-	KeywordType       SemanticTokenTypes = "keyword"       // line 12630
-	ModifierType      SemanticTokenTypes = "modifier"      // line 12634
-	CommentType       SemanticTokenTypes = "comment"       // line 12638
-	StringType        SemanticTokenTypes = "string"        // line 12642
-	NumberType        SemanticTokenTypes = "number"        // line 12646
-	RegexpType        SemanticTokenTypes = "regexp"        // line 12650
-	OperatorType      SemanticTokenTypes = "operator"      // line 12654
 	// @since 3.17.0
-	DecoratorType SemanticTokenTypes = "decorator" // line 12658
-	//How a signature help was triggered.
+	// A markup-cell is formatted source that is used for display.
+	Markup NotebookCellKind = 1 // line 13655
+	// A code-cell is source code.
+	Code NotebookCellKind = 2 // line 13660
+	// A set of predefined position encoding kinds.
 	//
-	//@since 3.15.0
+	// @since 3.17.0
+	// Character offsets count UTF-8 code units.
+	UTF8 PositionEncodingKind = "utf-8" // line 13434
+	// Character offsets count UTF-16 code units.
+	//
+	// This is the default and must always be supported
+	// by servers
+	UTF16 PositionEncodingKind = "utf-16" // line 13439
+	// Character offsets count UTF-32 code units.
+	//
+	// Implementation note: these are the same as Unicode code points,
+	// so this `PositionEncodingKind` may also be used for an
+	// encoding-agnostic representation of character offsets.
+	UTF32 PositionEncodingKind = "utf-32" // line 13444
+	// The client's default behavior is to select the identifier
+	// according the to language's syntax rule.
+	Identifier PrepareSupportDefaultBehavior = 1 // line 13729
+	// Supports creating new files and folders.
+	Create ResourceOperationKind = "create" // line 13676
+	// Supports renaming existing files and folders.
+	Rename ResourceOperationKind = "rename" // line 13681
+	// Supports deleting existing files and folders.
+	Delete ResourceOperationKind = "delete" // line 13686
+	// 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
+	ModDeclaration    SemanticTokenModifiers = "declaration"    // line 12677
+	ModDefinition     SemanticTokenModifiers = "definition"     // line 12681
+	ModReadonly       SemanticTokenModifiers = "readonly"       // line 12685
+	ModStatic         SemanticTokenModifiers = "static"         // line 12689
+	ModDeprecated     SemanticTokenModifiers = "deprecated"     // line 12693
+	ModAbstract       SemanticTokenModifiers = "abstract"       // line 12697
+	ModAsync          SemanticTokenModifiers = "async"          // line 12701
+	ModModification   SemanticTokenModifiers = "modification"   // line 12705
+	ModDocumentation  SemanticTokenModifiers = "documentation"  // line 12709
+	ModDefaultLibrary SemanticTokenModifiers = "defaultLibrary" // line 12713
+	// 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
+	NamespaceType SemanticTokenTypes = "namespace" // line 12570
+	// Represents a generic type. Acts as a fallback for types which can't be mapped to
+	// a specific type like class or enum.
+	TypeType          SemanticTokenTypes = "type"          // line 12574
+	ClassType         SemanticTokenTypes = "class"         // line 12579
+	EnumType          SemanticTokenTypes = "enum"          // line 12583
+	InterfaceType     SemanticTokenTypes = "interface"     // line 12587
+	StructType        SemanticTokenTypes = "struct"        // line 12591
+	TypeParameterType SemanticTokenTypes = "typeParameter" // line 12595
+	ParameterType     SemanticTokenTypes = "parameter"     // line 12599
+	VariableType      SemanticTokenTypes = "variable"      // line 12603
+	PropertyType      SemanticTokenTypes = "property"      // line 12607
+	EnumMemberType    SemanticTokenTypes = "enumMember"    // line 12611
+	EventType         SemanticTokenTypes = "event"         // line 12615
+	FunctionType      SemanticTokenTypes = "function"      // line 12619
+	MethodType        SemanticTokenTypes = "method"        // line 12623
+	MacroType         SemanticTokenTypes = "macro"         // line 12627
+	KeywordType       SemanticTokenTypes = "keyword"       // line 12631
+	ModifierType      SemanticTokenTypes = "modifier"      // line 12635
+	CommentType       SemanticTokenTypes = "comment"       // line 12639
+	StringType        SemanticTokenTypes = "string"        // line 12643
+	NumberType        SemanticTokenTypes = "number"        // line 12647
+	RegexpType        SemanticTokenTypes = "regexp"        // line 12651
+	OperatorType      SemanticTokenTypes = "operator"      // line 12655
+	// @since 3.17.0
+	DecoratorType SemanticTokenTypes = "decorator" // line 12659
+	// How a signature help was triggered.
+	//
+	// @since 3.15.0
 	// Signature help was invoked manually by the user or by a command.
-	SigInvoked SignatureHelpTriggerKind = 1 // line 13586
+	SigInvoked SignatureHelpTriggerKind = 1 // line 13587
 	// Signature help was triggered by a trigger character.
-	SigTriggerCharacter SignatureHelpTriggerKind = 2 // line 13591
+	SigTriggerCharacter SignatureHelpTriggerKind = 2 // line 13592
 	// Signature help was triggered by the cursor moving or by the document content changing.
-	SigContentChange SignatureHelpTriggerKind = 3 // line 13596
+	SigContentChange SignatureHelpTriggerKind = 3 // line 13597
 	// A symbol kind.
-	File          SymbolKind = 1  // line 12847
-	Module        SymbolKind = 2  // line 12851
-	Namespace     SymbolKind = 3  // line 12855
-	Package       SymbolKind = 4  // line 12859
-	Class         SymbolKind = 5  // line 12863
-	Method        SymbolKind = 6  // line 12867
-	Property      SymbolKind = 7  // line 12871
-	Field         SymbolKind = 8  // line 12875
-	Constructor   SymbolKind = 9  // line 12879
-	Enum          SymbolKind = 10 // line 12883
-	Interface     SymbolKind = 11 // line 12887
-	Function      SymbolKind = 12 // line 12891
-	Variable      SymbolKind = 13 // line 12895
-	Constant      SymbolKind = 14 // line 12899
-	String        SymbolKind = 15 // line 12903
-	Number        SymbolKind = 16 // line 12907
-	Boolean       SymbolKind = 17 // line 12911
-	Array         SymbolKind = 18 // line 12915
-	Object        SymbolKind = 19 // line 12919
-	Key           SymbolKind = 20 // line 12923
-	Null          SymbolKind = 21 // line 12927
-	EnumMember    SymbolKind = 22 // line 12931
-	Struct        SymbolKind = 23 // line 12935
-	Event         SymbolKind = 24 // line 12939
-	Operator      SymbolKind = 25 // line 12943
-	TypeParameter SymbolKind = 26 // line 12947
-	//Symbol tags are extra annotations that tweak the rendering of a symbol.
+	File          SymbolKind = 1  // line 12848
+	Module        SymbolKind = 2  // line 12852
+	Namespace     SymbolKind = 3  // line 12856
+	Package       SymbolKind = 4  // line 12860
+	Class         SymbolKind = 5  // line 12864
+	Method        SymbolKind = 6  // line 12868
+	Property      SymbolKind = 7  // line 12872
+	Field         SymbolKind = 8  // line 12876
+	Constructor   SymbolKind = 9  // line 12880
+	Enum          SymbolKind = 10 // line 12884
+	Interface     SymbolKind = 11 // line 12888
+	Function      SymbolKind = 12 // line 12892
+	Variable      SymbolKind = 13 // line 12896
+	Constant      SymbolKind = 14 // line 12900
+	String        SymbolKind = 15 // line 12904
+	Number        SymbolKind = 16 // line 12908
+	Boolean       SymbolKind = 17 // line 12912
+	Array         SymbolKind = 18 // line 12916
+	Object        SymbolKind = 19 // line 12920
+	Key           SymbolKind = 20 // line 12924
+	Null          SymbolKind = 21 // line 12928
+	EnumMember    SymbolKind = 22 // line 12932
+	Struct        SymbolKind = 23 // line 12936
+	Event         SymbolKind = 24 // line 12940
+	Operator      SymbolKind = 25 // line 12944
+	TypeParameter SymbolKind = 26 // line 12948
+	// Symbol tags are extra annotations that tweak the rendering of a symbol.
 	//
-	//@since 3.16
+	// @since 3.16
 	// Render a symbol as obsolete, usually using a strike-out.
-	DeprecatedSymbol SymbolTag = 1 // line 12961
+	DeprecatedSymbol SymbolTag = 1 // line 12962
 	// Represents reasons why a text document is saved.
-	//Manually triggered, e.g. by the user pressing save, by starting debugging,
-	//or by an API call.
-	Manual TextDocumentSaveReason = 1 // line 13115
+	// Manually triggered, e.g. by the user pressing save, by starting debugging,
+	// or by an API call.
+	Manual TextDocumentSaveReason = 1 // line 13116
 	// Automatic after a delay.
-	AfterDelay TextDocumentSaveReason = 2 // line 13120
+	AfterDelay TextDocumentSaveReason = 2 // line 13121
 	// When the editor lost focus.
-	FocusOut TextDocumentSaveReason = 3 // line 13125
-	//Defines how the host (editor) should sync
-	//document changes to the language server.
+	FocusOut TextDocumentSaveReason = 3 // line 13126
+	// Defines how the host (editor) should sync
+	// document changes to the language server.
 	// Documents should not be synced at all.
-	None TextDocumentSyncKind = 0 // line 13090
-	//Documents are synced by always sending the full content
-	//of the document.
-	Full TextDocumentSyncKind = 1 // line 13095
-	//Documents are synced by sending the full content on open.
-	//After that only incremental updates to the document are
-	//send.
-	Incremental TextDocumentSyncKind = 2          // line 13100
-	Relative    TokenFormat          = "relative" // line 13742
+	None TextDocumentSyncKind = 0 // line 13091
+	// Documents are synced by always sending the full content
+	// of the document.
+	Full TextDocumentSyncKind = 1 // line 13096
+	// Documents are synced by sending the full content on open.
+	// After that only incremental updates to the document are
+	// send.
+	Incremental TextDocumentSyncKind = 2          // line 13101
+	Relative    TokenFormat          = "relative" // line 13743
 	// Turn tracing off.
-	Off TraceValues = "off" // line 13389
+	Off TraceValues = "off" // line 13390
 	// Trace messages only.
-	Messages TraceValues = "messages" // line 13394
+	Messages TraceValues = "messages" // line 13395
 	// Verbose message tracing.
-	Verbose TraceValues = "verbose" // line 13399
-	//Moniker uniqueness level to define scope of the moniker.
+	Verbose TraceValues = "verbose" // line 13400
+	// Moniker uniqueness level to define scope of the moniker.
 	//
-	//@since 3.16.0
+	// @since 3.16.0
 	// The moniker is only unique inside a document
-	Document UniquenessLevel = "document" // line 12977
+	Document UniquenessLevel = "document" // line 12978
 	// The moniker is unique inside a project for which a dump got created
-	Project UniquenessLevel = "project" // line 12982
+	Project UniquenessLevel = "project" // line 12983
 	// The moniker is unique inside the group to which a project belongs
-	Group UniquenessLevel = "group" // line 12987
+	Group UniquenessLevel = "group" // line 12988
 	// The moniker is unique inside the moniker scheme.
-	Scheme UniquenessLevel = "scheme" // line 12992
+	Scheme UniquenessLevel = "scheme" // line 12993
 	// The moniker is globally unique
-	Global UniquenessLevel = "global" // line 12997
+	Global UniquenessLevel = "global" // line 12998
 	// Interested in create events.
-	WatchCreate WatchKind = 1 // line 13485
+	WatchCreate WatchKind = 1 // line 13486
 	// Interested in change events
-	WatchChange WatchKind = 2 // line 13490
+	WatchChange WatchKind = 2 // line 13491
 	// Interested in delete events
-	WatchDelete WatchKind = 4 // line 13495
+	WatchDelete WatchKind = 4 // line 13496
 )
diff --git a/gopls/internal/lsp/protocol/tsserver.go b/gopls/internal/lsp/protocol/tsserver.go
index aeb41e9..e02e1fd 100644
--- a/gopls/internal/lsp/protocol/tsserver.go
+++ b/gopls/internal/lsp/protocol/tsserver.go
@@ -1,4 +1,4 @@
-// Copyright 2022 The Go Authors. All rights reserved.
+// Copyright 2023 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.
 
@@ -6,8 +6,9 @@
 
 package protocol
 
-// Code generated from version 3.17.0 of protocol/metaModel.json.
-// git hash 9b742021fb04ad081aa3676a9eecf4fa612084b4 (as of 2023-02-23)
+// Code generated from protocol/metaModel.json at ref release/protocol/3.17.3-next.6 (hash 56c23c557e3568a9f56f42435fd5a80f9458957f).
+// https://github.com/microsoft/vscode-languageserver-node/blob/release/protocol/3.17.3-next.6/protocol/metaModel.json
+// LSP metaData.version = 3.17.0.
 
 import (
 	"context"
diff --git a/gopls/internal/lsp/regtest/wrappers.go b/gopls/internal/lsp/regtest/wrappers.go
index 3e8517b..0315c6d 100644
--- a/gopls/internal/lsp/regtest/wrappers.go
+++ b/gopls/internal/lsp/regtest/wrappers.go
@@ -237,7 +237,7 @@
 	return highlights
 }
 
-// RunGenerate runs go:generate on the given dir, calling t.Fatal on any error.
+// RunGenerate runs "go generate" in the given dir, calling t.Fatal on any error.
 // It waits for the generate command to complete and checks for file changes
 // before returning.
 func (e *Env) RunGenerate(dir string) {
diff --git a/gopls/internal/lsp/server.go b/gopls/internal/lsp/server.go
index 3d42df1..13441c4 100644
--- a/gopls/internal/lsp/server.go
+++ b/gopls/internal/lsp/server.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:generate go run ./helper -d protocol/tsserver.go -o server_gen.go -u .
+
 // Package lsp implements LSP for gopls.
 package lsp
 
@@ -154,5 +156,3 @@
 func notImplemented(method string) error {
 	return fmt.Errorf("%w: %q not yet implemented", jsonrpc2.ErrMethodNotFound, method)
 }
-
-//go:generate helper/helper -d protocol/tsserver.go -o server_gen.go -u .
diff --git a/gopls/internal/lsp/source/util.go b/gopls/internal/lsp/source/util.go
index 53ad87f..1dc7860 100644
--- a/gopls/internal/lsp/source/util.go
+++ b/gopls/internal/lsp/source/util.go
@@ -25,7 +25,7 @@
 )
 
 // IsGenerated gets and reads the file denoted by uri and reports
-// whether it contains a "go:generated" directive as described at
+// whether it contains a "generated file" comment as described at
 // https://golang.org/s/generatedcode.
 //
 // TODO(adonovan): opt: this function does too much.
diff --git a/gopls/internal/regtest/codelens/codelens_test.go b/gopls/internal/regtest/codelens/codelens_test.go
index acd5652..79b5df0 100644
--- a/gopls/internal/regtest/codelens/codelens_test.go
+++ b/gopls/internal/regtest/codelens/codelens_test.go
@@ -40,7 +40,7 @@
 	Two
 )
 
-//go:generate stringer -type=Number
+//` + `go:generate stringer -type=Number
 `
 	tests := []struct {
 		label        string
diff --git a/gopls/internal/regtest/misc/generate_test.go b/gopls/internal/regtest/misc/generate_test.go
index 85dd9a7..547755f 100644
--- a/gopls/internal/regtest/misc/generate_test.go
+++ b/gopls/internal/regtest/misc/generate_test.go
@@ -38,12 +38,12 @@
 -- lib1/lib.go --
 package lib1
 
-//go:generate go run ../generate.go lib1
+//` + `go:generate go run ../generate.go lib1
 
 -- lib2/lib.go --
 package lib2
 
-//go:generate go run ../generate.go lib2
+//` + `go:generate go run ../generate.go lib2
 
 -- main.go --
 package main