gopls/internal/settings: introduce ModeVulncheckPrompt as default value for VulncheckMode setting
- Add a new default ModeVulncheckPrompt.
- This is in preparation for new logic that will prompt a user to run
vulncheck.
- Currently, ModeVulncheckPrompt still disables vulncheck.
Change-Id: I3ad7c8849fc1a003a5ea9119b7aed7cc564479e2
Reviewed-on: https://go-review.googlesource.com/c/tools/+/706535
Reviewed-by: Hongxiang Jiang <hxjiang@golang.org>
Auto-Submit: Hongxiang Jiang <hxjiang@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/gopls/doc/settings.md b/gopls/doc/settings.md
index ad2e77f..a69197e 100644
--- a/gopls/doc/settings.md
+++ b/gopls/doc/settings.md
@@ -429,8 +429,9 @@
* `"Imports"`: In Imports mode, `gopls` will report vulnerabilities that affect packages
directly and indirectly used by the analyzed main module.
* `"Off"`: Disable vulnerability analysis.
+* `"Prompt"`: Vulncheck can be triggered via prompt.
-Default: `"Off"`.
+Default: `"Prompt"`.
<a id='diagnosticsDelay'></a>
### `diagnosticsDelay time.Duration`
diff --git a/gopls/internal/doc/api.json b/gopls/internal/doc/api.json
index 4bb9023..51f3e6b 100644
--- a/gopls/internal/doc/api.json
+++ b/gopls/internal/doc/api.json
@@ -1907,9 +1907,14 @@
"Value": "\"Off\"",
"Doc": "`\"Off\"`: Disable vulnerability analysis.\n",
"Status": ""
+ },
+ {
+ "Value": "\"Prompt\"",
+ "Doc": "`\"Prompt\"`: Vulncheck can be triggered via prompt.\n",
+ "Status": ""
}
],
- "Default": "\"Off\"",
+ "Default": "\"Prompt\"",
"Status": "experimental",
"Hierarchy": "ui.diagnostic",
"DeprecationMessage": ""
diff --git a/gopls/internal/settings/default.go b/gopls/internal/settings/default.go
index 532d164..812194e 100644
--- a/gopls/internal/settings/default.go
+++ b/gopls/internal/settings/default.go
@@ -99,7 +99,7 @@
Inline: true,
Nil: true,
},
- Vulncheck: ModeVulncheckOff,
+ Vulncheck: ModeVulncheckPrompt,
DiagnosticsDelay: 1 * time.Second,
DiagnosticsTrigger: DiagnosticsOnEdit,
AnalysisProgressReporting: true,
diff --git a/gopls/internal/settings/settings.go b/gopls/internal/settings/settings.go
index 055e167..7e57156 100644
--- a/gopls/internal/settings/settings.go
+++ b/gopls/internal/settings/settings.go
@@ -903,6 +903,8 @@
type VulncheckMode string
const (
+ // Vulncheck can be triggered via prompt.
+ ModeVulncheckPrompt VulncheckMode = "Prompt"
// Disable vulnerability analysis.
ModeVulncheckOff VulncheckMode = "Off"
// In Imports mode, `gopls` will report vulnerabilities that affect packages
@@ -1225,7 +1227,8 @@
case "vulncheck":
return setEnum(&o.Vulncheck, value,
ModeVulncheckOff,
- ModeVulncheckImports)
+ ModeVulncheckImports,
+ ModeVulncheckPrompt)
case "codelenses", "codelens":
lensOverrides, err := asBoolMap[CodeLensSource](value)
diff --git a/gopls/internal/settings/settings_test.go b/gopls/internal/settings/settings_test.go
index d7a032e..b433f70 100644
--- a/gopls/internal/settings/settings_test.go
+++ b/gopls/internal/settings/settings_test.go
@@ -213,6 +213,13 @@
return o.Vulncheck == ModeVulncheckImports
},
},
+ {
+ name: "vulncheck",
+ value: "Prompt",
+ check: func(o Options) bool {
+ return o.Vulncheck == ModeVulncheckPrompt
+ },
+ },
}
for _, test := range tests {