tools/generate: include deprecationMessage

Change-Id: Ic6b5409801d52f20ea999c0af8cc5f5675665198
Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/278352
Trust: Hyang-Ah Hana Kim <hyangah@gmail.com>
Trust: Suzy Mueller <suzmue@golang.org>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
Run-TryBot: Suzy Mueller <suzmue@golang.org>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Suzy Mueller <suzmue@golang.org>
diff --git a/docs/settings.md b/docs/settings.md
index 1156542..c01a15e 100644
--- a/docs/settings.md
+++ b/docs/settings.md
@@ -301,8 +301,9 @@
 
 Default: `error`
 
-### `go.overwriteGoplsMiddleware`
+### `go.overwriteGoplsMiddleware (deprecated)`
 
+This option is deprecated.
 This option provides a set of flags which determine if vscode-go should intercept certain commands from gopls. These flags assume the `gopls` settings, which enable codelens from gopls, are also present.
 
 ### `go.playground`
diff --git a/tools/generate.go b/tools/generate.go
index 76b5ba5..76e067a 100644
--- a/tools/generate.go
+++ b/tools/generate.go
@@ -38,14 +38,16 @@
 }
 
 type Property struct {
-	name string // Set by us.
+	name string `json:"name,omitempty"` // Set by us.
 
 	// Below are defined in package.json
-	Default             interface{} `json:"default,omitempty"`
-	MarkdownDescription string      `json:"markdownDescription,omitempty"`
-	Description         string      `json:"description,omitempty"`
-	Type                interface{} `json:"type,omitempty"`
-	Enum                []string    `json:"enum,omitempty"`
+	Default                    interface{} `json:"default,omitempty"`
+	MarkdownDescription        string      `json:"markdownDescription,omitempty"`
+	Description                string      `json:"description,omitempty"`
+	MarkdownDeprecationMessage string      `json:"markdownDeprecationMessage,omitempty"`
+	DeprecationMessage         string      `json:"deprecationMessage,omitempty"`
+	Type                       interface{} `json:"type,omitempty"`
+	Enum                       []string    `json:"enum,omitempty"`
 }
 
 func main() {
@@ -127,7 +129,19 @@
 		if p.MarkdownDescription != "" {
 			desc = p.MarkdownDescription
 		}
-		b.WriteString(fmt.Sprintf("### `%s`\n\n%s", p.name, desc))
+		deprecation := p.DeprecationMessage
+		if p.MarkdownDeprecationMessage != "" {
+			deprecation = p.MarkdownDeprecationMessage
+		}
+
+		name := p.name
+		if deprecation != "" {
+			name += " (deprecated)"
+			desc = deprecation + "\n" + desc
+		}
+
+		b.WriteString(fmt.Sprintf("### `%s`\n\n%s", name, desc))
+
 		if p.Enum != nil {
 			b.WriteString(fmt.Sprintf("\n\nAllowed Values:`%v`", p.Enum))
 		}