package.json: update gopls settings based on gopls v0.6.0

Change-Id: I37bd795a48b597196cbfafb3acd44b7f6f1e3043
Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/278355
Trust: Hyang-Ah Hana Kim <hyangah@gmail.com>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
diff --git a/docs/settings.md b/docs/settings.md
index 277812f..80cf4bf 100644
--- a/docs/settings.md
+++ b/docs/settings.md
@@ -576,8 +576,19 @@
 
 Configure the default Go language server ('gopls'). In most cases, configuring this section is unnecessary. See [the documentation](https://github.com/golang/tools/blob/master/gopls/doc/settings.md) for all available settings.
 
+#### `allowImplicitNetworkAccess`
+(Experimental) allowImplicitNetworkAccess disables GOPROXY=off, allowing implicit module
+downloads rather than requiring user action. This option will eventually
+be removed.
+
+
+#### `allowModfileModifications`
+(Experimental) allowModfileModifications disables -mod=readonly, allowing imports from
+out-of-scope modules. This option will eventually be removed.
+
+
 #### `analyses`
-(Experimental) analyses specify analyses that the user would like to enable or disable.
+analyses specify analyses that the user would like to enable or disable.
 A map of the names of analysis passes that should be enabled/disabled.
 A full list of analyzers that gopls uses can be found [here](analyzers.md)
 
@@ -607,15 +618,15 @@
 The most common use is to set `-tags`.
 
 
-#### `codelens`
-(Experimental) codelens overrides the enabled/disabled state of code lenses. See the "Code Lenses"
+#### `codelenses`
+codelenses overrides the enabled/disabled state of code lenses. See the "Code Lenses"
 section of settings.md for the list of supported lenses.
 
 Example Usage:
 ```json5
 "gopls": {
 ...
-  "codelens": {
+  "codelenses": {
     "generate": false,  // Don't show the `go generate` lens.
     "gc_details": true  // Show a code lens toggling the display of gc's choices.
   }
@@ -624,10 +635,6 @@
 ```
 
 
-#### `completeUnimported`
-(Experimental) completeUnimported enables completion for packages that you do not currently import.
-
-
 #### `completionBudget`
 (For Debugging) completionBudget is the soft latency goal for completion requests. Most
 requests finish in a couple milliseconds, but in some cases deep
@@ -636,31 +643,18 @@
 results. Zero means unlimited.
 
 
-#### `completionDocumentation`
-(Experimental) completionDocumentation enables documentation with completion results.
+#### `directoryFilters`
+directoryFilters can be used to exclude unwanted directories from the
+workspace. By default, all directories are included. Filters are an
+operator, `+` to include and `-` to exclude, followed by a path prefix
+relative to the workspace folder. They are evaluated in order, and
+the last filter that applies to a path controls whether it is included.
+The path prefix can be empty, so an initial `-` excludes everything.
 
-
-#### `deepCompletion`
-(Experimental) deepCompletion enables the ability to return completions from deep inside relevant entities, rather than just the locally accessible ones.
-
-Consider this example:
-
-```go
-package main
-
-import "fmt"
-
-type wrapString struct {
-    str string
-}
-
-func main() {
-    x := wrapString{"hello world"}
-    fmt.Printf(<>)
-}
-```
-
-At the location of the `<>` in this program, deep completion would suggest the result `x.str`.
+Examples:
+Exclude node_modules: `-node_modules`
+Include only project_a: `-` (exclude everything), `+project_a`
+Include only project_a, but not node_modules inside it: `-`, `+project_a`, `-project_a/node_modules`
 
 
 #### `env`
@@ -710,7 +704,7 @@
 
 
 #### `importShortcut`
-(Experimental) importShortcut specifies whether import statements should link to
+importShortcut specifies whether import statements should link to
 documentation or go to definitions.
 
 
@@ -725,7 +719,7 @@
 
 
 #### `linksInHover`
-(Experimental) linksInHover toggles the presence of links to documentation in hover.
+linksInHover toggles the presence of links to documentation in hover.
 
 
 #### `local`
@@ -734,7 +728,7 @@
 
 
 #### `matcher`
-(Experimental) matcher sets the algorithm that is used when calculating completion candidates.
+matcher sets the algorithm that is used when calculating completion candidates.
 
 
 #### `semanticTokens`
@@ -747,11 +741,11 @@
 
 
 #### `symbolMatcher`
-(Experimental) symbolMatcher sets the algorithm that is used when finding workspace symbols.
+symbolMatcher sets the algorithm that is used when finding workspace symbols.
 
 
 #### `symbolStyle`
-(Experimental) symbolStyle controls how symbols are qualified in symbol responses.
+symbolStyle controls how symbols are qualified in symbol responses.
 
 Example Usage:
 ```json5
@@ -763,10 +757,6 @@
 ```
 
 
-#### `tempModfile`
-(Experimental) tempModfile controls the use of the -modfile flag in Go 1.14.
-
-
 #### `usePlaceholders`
 placeholders enables placeholders for function parameters or struct fields in completion responses.
 
@@ -774,8 +764,3 @@
 #### `verboseOutput`
 (For Debugging) verboseOutput enables additional debug logging.
 
-
-#### `verboseWorkDoneProgress`
-(Experimental) verboseWorkDoneProgress controls whether the LSP server should send
-progress reports for all work done outside the scope of an RPC.
-
diff --git a/package.json b/package.json
index 6c5a3e7..bd1e5ef 100644
--- a/package.json
+++ b/package.json
@@ -2124,13 +2124,13 @@
             },
             "analyses": {
               "type": "object",
-              "markdownDescription": "(Experimental) analyses specify analyses that the user would like to enable or disable.\nA map of the names of analysis passes that should be enabled/disabled.\nA full list of analyzers that gopls uses can be found [here](analyzers.md)\n\nExample Usage:\n```json5\n...\n\"analyses\": {\n  \"unreachable\": false, // Disable the unreachable analyzer.\n  \"unusedparams\": true  // Enable the unusedparams analyzer.\n}\n...\n```\n",
+              "markdownDescription": "analyses specify analyses that the user would like to enable or disable.\nA map of the names of analysis passes that should be enabled/disabled.\nA full list of analyzers that gopls uses can be found [here](analyzers.md)\n\nExample Usage:\n```json5\n...\n\"analyses\": {\n  \"unreachable\": false, // Disable the unreachable analyzer.\n  \"unusedparams\": true  // Enable the unusedparams analyzer.\n}\n...\n```\n",
               "default": {},
               "scope": "resource"
             },
-            "codelens": {
+            "codelenses": {
               "type": "object",
-              "markdownDescription": "(Experimental) codelens overrides the enabled/disabled state of code lenses. See the \"Code Lenses\"\nsection of settings.md for the list of supported lenses.\n\nExample Usage:\n```json5\n\"gopls\": {\n...\n  \"codelens\": {\n    \"generate\": false,  // Don't show the `go generate` lens.\n    \"gc_details\": true  // Show a code lens toggling the display of gc's choices.\n  }\n...\n}\n```\n",
+              "markdownDescription": "codelenses overrides the enabled/disabled state of code lenses. See the \"Code Lenses\"\nsection of settings.md for the list of supported lenses.\n\nExample Usage:\n```json5\n\"gopls\": {\n...\n  \"codelenses\": {\n    \"generate\": false,  // Don't show the `go generate` lens.\n    \"gc_details\": true  // Show a code lens toggling the display of gc's choices.\n  }\n...\n}\n```\n",
               "default": {
                 "gc_details": false,
                 "generate": true,
@@ -2141,27 +2141,31 @@
               },
               "scope": "resource"
             },
-            "completionDocumentation": {
+            "linksInHover": {
               "type": "boolean",
-              "markdownDescription": "(Experimental) completionDocumentation enables documentation with completion results.\n",
+              "markdownDescription": "linksInHover toggles the presence of links to documentation in hover.\n",
               "default": true,
               "scope": "resource"
             },
-            "completeUnimported": {
-              "type": "boolean",
-              "markdownDescription": "(Experimental) completeUnimported enables completion for packages that you do not currently import.\n",
-              "default": true,
-              "scope": "resource"
-            },
-            "deepCompletion": {
-              "type": "boolean",
-              "markdownDescription": "(Experimental) deepCompletion enables the ability to return completions from deep inside relevant entities, rather than just the locally accessible ones.\n\nConsider this example:\n\n```go\npackage main\n\nimport \"fmt\"\n\ntype wrapString struct {\n    str string\n}\n\nfunc main() {\n    x := wrapString{\"hello world\"}\n    fmt.Printf(<>)\n}\n```\n\nAt the location of the `<>` in this program, deep completion would suggest the result `x.str`.\n",
-              "default": true,
+            "importShortcut": {
+              "type": "string",
+              "markdownDescription": "importShortcut specifies whether import statements should link to\ndocumentation or go to definitions.\n",
+              "enum": [
+                "Both",
+                "Definition",
+                "Link"
+              ],
+              "markdownEnumDescriptions": [
+                "",
+                "",
+                ""
+              ],
+              "default": "Both",
               "scope": "resource"
             },
             "matcher": {
               "type": "string",
-              "markdownDescription": "(Experimental) matcher sets the algorithm that is used when calculating completion candidates.\n",
+              "markdownDescription": "matcher sets the algorithm that is used when calculating completion candidates.\n",
               "enum": [
                 "CaseInsensitive",
                 "CaseSensitive",
@@ -2175,21 +2179,9 @@
               "default": "Fuzzy",
               "scope": "resource"
             },
-            "annotations": {
-              "type": "object",
-              "markdownDescription": "(Experimental) annotations suppress various kinds of optimization diagnostics\nthat would be reported by the gc_details command.\n * noNilcheck suppresses display of nilchecks.\n * noEscape suppresses escape choices.\n * noInline suppresses inlining choices.\n * noBounds suppresses bounds checking diagnostics.\n",
-              "default": {},
-              "scope": "resource"
-            },
-            "staticcheck": {
-              "type": "boolean",
-              "markdownDescription": "(Experimental) staticcheck enables additional analyses from staticcheck.io.\n",
-              "default": false,
-              "scope": "resource"
-            },
             "symbolMatcher": {
               "type": "string",
-              "markdownDescription": "(Experimental) symbolMatcher sets the algorithm that is used when finding workspace symbols.\n",
+              "markdownDescription": "symbolMatcher sets the algorithm that is used when finding workspace symbols.\n",
               "enum": [
                 "CaseInsensitive",
                 "CaseSensitive",
@@ -2205,7 +2197,7 @@
             },
             "symbolStyle": {
               "type": "string",
-              "markdownDescription": "(Experimental) symbolStyle controls how symbols are qualified in symbol responses.\n\nExample Usage:\n```json5\n\"gopls\": {\n...\n  \"symbolStyle\": \"dynamic\",\n...\n}\n```\n",
+              "markdownDescription": "symbolStyle controls how symbols are qualified in symbol responses.\n\nExample Usage:\n```json5\n\"gopls\": {\n...\n  \"symbolStyle\": \"dynamic\",\n...\n}\n```\n",
               "enum": [
                 "Dynamic",
                 "Full",
@@ -2216,40 +2208,24 @@
                 "`\"Full\"` is fully qualified symbols, i.e.\n\"path/to/pkg.Foo.Field\".\n",
                 "`\"Package\"` is package qualified symbols i.e.\n\"pkg.Foo.Field\".\n"
               ],
-              "default": "Package",
+              "default": "Dynamic",
               "scope": "resource"
             },
-            "linksInHover": {
+            "directoryFilters": {
+              "type": "array",
+              "markdownDescription": "directoryFilters can be used to exclude unwanted directories from the\nworkspace. By default, all directories are included. Filters are an\noperator, `+` to include and `-` to exclude, followed by a path prefix\nrelative to the workspace folder. They are evaluated in order, and\nthe last filter that applies to a path controls whether it is included.\nThe path prefix can be empty, so an initial `-` excludes everything.\n\nExamples:\nExclude node_modules: `-node_modules`\nInclude only project_a: `-` (exclude everything), `+project_a`\nInclude only project_a, but not node_modules inside it: `-`, `+project_a`, `-project_a/node_modules`\n",
+              "default": [],
+              "scope": "resource"
+            },
+            "annotations": {
+              "type": "object",
+              "markdownDescription": "(Experimental) annotations suppress various kinds of optimization diagnostics\nthat would be reported by the gc_details command.\n * noNilcheck suppresses display of nilchecks.\n * noEscape suppresses escape choices.\n * noInline suppresses inlining choices.\n * noBounds suppresses bounds checking diagnostics.\n",
+              "default": {},
+              "scope": "resource"
+            },
+            "staticcheck": {
               "type": "boolean",
-              "markdownDescription": "(Experimental) linksInHover toggles the presence of links to documentation in hover.\n",
-              "default": true,
-              "scope": "resource"
-            },
-            "tempModfile": {
-              "type": "boolean",
-              "markdownDescription": "(Experimental) tempModfile controls the use of the -modfile flag in Go 1.14.\n",
-              "default": true,
-              "scope": "resource"
-            },
-            "importShortcut": {
-              "type": "string",
-              "markdownDescription": "(Experimental) importShortcut specifies whether import statements should link to\ndocumentation or go to definitions.\n",
-              "enum": [
-                "Both",
-                "Definition",
-                "Link"
-              ],
-              "markdownEnumDescriptions": [
-                "",
-                "",
-                ""
-              ],
-              "default": "Both",
-              "scope": "resource"
-            },
-            "verboseWorkDoneProgress": {
-              "type": "boolean",
-              "markdownDescription": "(Experimental) verboseWorkDoneProgress controls whether the LSP server should send\nprogress reports for all work done outside the scope of an RPC.\n",
+              "markdownDescription": "(Experimental) staticcheck enables additional analyses from staticcheck.io.\n",
               "default": false,
               "scope": "resource"
             },
@@ -2274,7 +2250,7 @@
             "experimentalDiagnosticsDelay": {
               "type": "string",
               "markdownDescription": "(Experimental) experimentalDiagnosticsDelay controls the amount of time that gopls waits\nafter the most recent file modification before computing deep diagnostics.\nSimple diagnostics (parsing and type-checking) are always run immediately\non recently modified packages.\n\nThis option must be set to a valid duration string, for example `\"250ms\"`.\n",
-              "default": "0s",
+              "default": "250ms",
               "scope": "resource"
             },
             "experimentalPackageCacheKey": {
@@ -2283,6 +2259,18 @@
               "default": true,
               "scope": "resource"
             },
+            "allowModfileModifications": {
+              "type": "boolean",
+              "markdownDescription": "(Experimental) allowModfileModifications disables -mod=readonly, allowing imports from\nout-of-scope modules. This option will eventually be removed.\n",
+              "default": false,
+              "scope": "resource"
+            },
+            "allowImplicitNetworkAccess": {
+              "type": "boolean",
+              "markdownDescription": "(Experimental) allowImplicitNetworkAccess disables GOPROXY=off, allowing implicit module\ndownloads rather than requiring user action. This option will eventually\nbe removed.\n",
+              "default": false,
+              "scope": "resource"
+            },
             "verboseOutput": {
               "type": "boolean",
               "markdownDescription": "(For Debugging) verboseOutput enables additional debug logging.\n",