## Snippets
-Snippets are imported from [`microsoft/vscode-go`](https://github.com/microsoft/vscode-go)
+Snippets are imported from [`golang/vscode-go`](https://github.com/microsoft/vscode-go)
and require [`coc-snippets`](https://github.com/neoclide/coc-snippets) to be
installed.
## Configuration options
-| Key | Description | Default |
-|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|
-| **`go.checkForUpdates`** | **EXPERIMENTAL** Check for gopls updates on start. | disabled |
-| **`go.disable`** | Disable gopls features | {} |
-| ‣ `completion` | Disable completion feature (Change requires `:CocRestart`) | false |
-| ‣ `diagnostics` | Disable handle diagnostics (Change requires `:CocRestart`) | false |
-| ‣ `workspaceFolders` | Disable workspaceFolders feature (Change requires `:CocRestart`) | false |
-| **`go.enable`** | Enable Go extension | true |
-| **`go.goplsArgs`** | Arguments passed to `gopls` (Change requires `:CocRestart`) | |
-| **`go.goplsEnv`** | ENV passed to `gopls` (Change requires `:CocRestart`) | |
-| **`go.goplsOptions`** | See [`gopls` documentation](https://github.com/golang/tools/blob/master/gopls/doc/settings.md ) | |
-| ‣ `allowImplicitNetworkAccess` | **This setting is experimental and may be deleted.** allowImplicitNetworkAccess disables GOPROXY=off, allowing implicit module downloads rather than requiring user action. | false |
-| ‣ `allowModfileModifications` | **This setting is experimental and may be deleted.** allowModfileModifications disables -mod=readonly, allowing imports from out-of-scope modules. | false |
-| ‣ `analyses` | analyses specify analyses that the user would like to enable or disable. | |
-| ‣ `annotations` | **This setting is experimental and may be deleted.** annotations specifies the various kinds of optimization diagnostics that should be reported by the gc_details command. | |
-| ‣ `buildFlags` | buildFlags is the set of flags passed on to the build system when invoked. | |
-| ‣ `codelenses` | codelenses overrides the enabled/disabled state of code lenses. | |
-| ‣ `completionBudget` | **This setting is for debugging purposes only.** completionBudget is the soft latency goal for completion requests. | 100ms |
-| ‣ `directoryFilters` | directoryFilters can be used to exclude unwanted directories from the workspace. | |
-| ‣ `env` | env adds environment variables to external commands run by `gopls`, most notably `go list`. | |
-| ‣ `expandWorkspaceToModule` | **This setting is experimental and may be deleted.** expandWorkspaceToModule instructs `gopls` to adjust the scope of the workspace to find the best available module root. | true |
-| ‣ `experimentalDiagnosticsDelay` | **This setting is experimental and may be deleted.** experimentalDiagnosticsDelay controls the amount of time that gopls waits after the most recent file modification before computing deep diagnostics. | 250ms |
-| ‣ `experimentalPackageCacheKey` | **This setting is experimental and may be deleted.** experimentalPackageCacheKey controls whether to use a coarser cache key for package type information to increase cache hits. | true |
-| ‣ `experimentalWorkspaceModule` | **This setting is experimental and may be deleted.** experimentalWorkspaceModule opts a user into the experimental support for multi-module workspaces. | false |
-| ‣ `gofumpt` | gofumpt indicates if we should run gofumpt formatting. | false |
-| ‣ `hoverKind` | hoverKind controls the information that appears in the hover text. | FullDocumentation |
-| ‣ `importShortcut` | importShortcut specifies whether import statements should link to documentation or go to definitions. | Both |
-| ‣ `linkTarget` | linkTarget controls where documentation links go. | pkg.go.dev |
-| ‣ `linksInHover` | linksInHover toggles the presence of links to documentation in hover. | true |
-| ‣ `local` | local is the equivalent of the `goimports -local` flag, which puts imports beginning with this string after third-party packages. | |
-| ‣ `matcher` | **This is an advanced setting and should not be configured by most `gopls` users.** matcher sets the algorithm that is used when calculating completion candidates. | Fuzzy |
-| ‣ `semanticTokens` | **This setting is experimental and may be deleted.** semanticTokens controls whether the LSP server will send semantic tokens to the client. | false |
-| ‣ `staticcheck` | **This setting is experimental and may be deleted.** staticcheck enables additional analyses from staticcheck.io. | false |
-| ‣ `symbolMatcher` | **This is an advanced setting and should not be configured by most `gopls` users.** symbolMatcher sets the algorithm that is used when finding workspace symbols. | Fuzzy |
-| ‣ `symbolStyle` | **This is an advanced setting and should not be configured by most `gopls` users.** symbolStyle controls how symbols are qualified in symbol responses. | Dynamic |
-| ‣ `usePlaceholders` | placeholders enables placeholders for function parameters or struct fields in completion responses. | false |
-| ‣ `verboseOutput` | **This setting is for debugging purposes only.** verboseOutput enables additional debug logging. | false |
-| **`go.goplsPath`** | Path to `gopls` bin (Change requires `:CocRestart`) | |
-| **`go.goplsUseDaemon`** | Run gopls as daemon | true |
-| **`go.tags`** | | |
-| ‣ `options` | Comma separated tag=options pairs to be used by `go.tags.add` command | json=omitempty |
-| ‣ `skipUnexported` | If true, skip unexported fields | false |
-| ‣ `tags` | Comma separated tags to be used by `go.tags.add` command | json |
-| ‣ `transform` | Transformation rule used by `go.tags.add` command to add tags | snakecase |
-| **`go.tests`** | | |
-| ‣ `generateFlags` | Additional command line flags to pass to `gotests` for generating tests. | [] |
-| **`go.trace.server`** | Trace level of gopls | off |
+| Key | Description | Default |
+|------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|
+| **`go.checkForUpdates`** | **EXPERIMENTAL** Check for gopls updates on start. | disabled |
+| **`go.disable`** | Disable gopls features | {} |
+| ‣ `completion` | Disable completion feature (Change requires `:CocRestart`) | false |
+| ‣ `diagnostics` | Disable handle diagnostics (Change requires `:CocRestart`) | false |
+| ‣ `workspaceFolders` | Disable workspaceFolders feature (Change requires `:CocRestart`) | false |
+| **`go.enable`** | Enable Go extension | true |
+| **`go.goplsArgs`** | Arguments passed to `gopls` (Change requires `:CocRestart`) | |
+| **`go.goplsEnv`** | ENV passed to `gopls` (Change requires `:CocRestart`) | |
+| **`go.goplsOptions`** | See [`gopls` documentation](https://github.com/golang/tools/blob/master/gopls/doc/settings.md ) | |
+| ‣ `allowImplicitNetworkAccess` | **This setting is experimental and may be deleted.** allowImplicitNetworkAccess disables GOPROXY=off, allowing implicit module downloads rather than requiring user action. | false |
+| ‣ `allowModfileModifications` | **This setting is experimental and may be deleted.** allowModfileModifications disables -mod=readonly, allowing imports from out-of-scope modules. | false |
+| ‣ `analyses` | analyses specify analyses that the user would like to enable or disable. | |
+| ‣ `annotations` | **This setting is experimental and may be deleted.** annotations specifies the various kinds of optimization diagnostics that should be reported by the gc_details command. | |
+| ‣ `buildFlags` | buildFlags is the set of flags passed on to the build system when invoked. | |
+| ‣ `codelenses` | codelenses overrides the enabled/disabled state of code lenses. | |
+| ‣ `completionBudget` | **This setting is for debugging purposes only.** completionBudget is the soft latency goal for completion requests. | 100ms |
+| ‣ `diagnosticsDelay` | **This is an advanced setting and should not be configured by most `gopls` users.** diagnosticsDelay controls the amount of time that gopls waits after the most recent file modification before computing deep diagnostics. | 250ms |
+| ‣ `directoryFilters` | directoryFilters can be used to exclude unwanted directories from the workspace. | |
+| ‣ `env` | env adds environment variables to external commands run by `gopls`, most notably `go list`. | |
+| ‣ `expandWorkspaceToModule` | **This setting is experimental and may be deleted.** expandWorkspaceToModule instructs `gopls` to adjust the scope of the workspace to find the best available module root. | true |
+| ‣ `experimentalPackageCacheKey` | **This setting is experimental and may be deleted.** experimentalPackageCacheKey controls whether to use a coarser cache key for package type information to increase cache hits. | true |
+| ‣ `experimentalPostfixCompletions` | **This setting is experimental and may be deleted.** experimentalPostfixCompletions enables artifical method snippets such as "someSlice.sort!". | true |
+| ‣ `experimentalTemplateSupport` | **This setting is experimental and may be deleted.** experimentalTemplateSupport opts into the experimental support for template files. | false |
+| ‣ `experimentalUseInvalidMetadata` | **This setting is experimental and may be deleted.** experimentalUseInvalidMetadata enables gopls to fall back on outdated package metadata to provide editor features if the go command fails to load packages for some reason (like an invalid go.mod file). | false |
+| ‣ `experimentalWatchedFileDelay` | **This setting is experimental and may be deleted.** experimentalWatchedFileDelay controls the amount of time that gopls waits for additional workspace/didChangeWatchedFiles notifications to arrive, before processing all such notifications in a single batch. | 0s |
+| ‣ `experimentalWorkspaceModule` | **This setting is experimental and may be deleted.** experimentalWorkspaceModule opts a user into the experimental support for multi-module workspaces. | false |
+| ‣ `gofumpt` | gofumpt indicates if we should run gofumpt formatting. | false |
+| ‣ `hoverKind` | hoverKind controls the information that appears in the hover text. | FullDocumentation |
+| ‣ `importShortcut` | importShortcut specifies whether import statements should link to documentation or go to definitions. | Both |
+| ‣ `linkTarget` | linkTarget controls where documentation links go. | pkg.go.dev |
+| ‣ `linksInHover` | linksInHover toggles the presence of links to documentation in hover. | true |
+| ‣ `local` | local is the equivalent of the `goimports -local` flag, which puts imports beginning with this string after third-party packages. | |
+| ‣ `matcher` | **This is an advanced setting and should not be configured by most `gopls` users.** matcher sets the algorithm that is used when calculating completion candidates. | Fuzzy |
+| ‣ `memoryMode` | **This setting is experimental and may be deleted.** memoryMode controls the tradeoff `gopls` makes between memory usage and correctness. | Normal |
+| ‣ `semanticTokens` | **This setting is experimental and may be deleted.** semanticTokens controls whether the LSP server will send semantic tokens to the client. | false |
+| ‣ `staticcheck` | **This setting is experimental and may be deleted.** staticcheck enables additional analyses from staticcheck.io. | false |
+| ‣ `symbolMatcher` | **This is an advanced setting and should not be configured by most `gopls` users.** symbolMatcher sets the algorithm that is used when finding workspace symbols. | Fuzzy |
+| ‣ `symbolStyle` | **This is an advanced setting and should not be configured by most `gopls` users.** symbolStyle controls how symbols are qualified in symbol responses. | Dynamic |
+| ‣ `usePlaceholders` | placeholders enables placeholders for function parameters or struct fields in completion responses. | false |
+| ‣ `verboseOutput` | **This setting is for debugging purposes only.** verboseOutput enables additional debug logging. | false |
+| **`go.goplsPath`** | Path to `gopls` bin (Change requires `:CocRestart`) | |
+| **`go.goplsUseDaemon`** | Run gopls as daemon | true |
+| **`go.tags`** | | |
+| ‣ `options` | Comma separated tag=options pairs to be used by `go.tags.add` command | json=omitempty |
+| ‣ `skipUnexported` | If true, skip unexported fields | false |
+| ‣ `tags` | Comma separated tags to be used by `go.tags.add` command | json |
+| ‣ `transform` | Transformation rule used by `go.tags.add` command to add tags | snakecase |
+| **`go.tests`** | | |
+| ‣ `generateFlags` | Additional command line flags to pass to `gotests` for generating tests. | [] |
+| **`go.trace.server`** | Trace level of gopls | off |
Trigger completion in `coc-settings.json` to get complete list.