Directories ¶
Path | Synopsis |
---|---|
analysis
|
|
deprecated
Package deprecated defines an Analyzer that marks deprecated symbols and package imports.
|
Package deprecated defines an Analyzer that marks deprecated symbols and package imports. |
embeddirective
Package embeddirective defines an Analyzer that validates //go:embed directives.
|
Package embeddirective defines an Analyzer that validates //go:embed directives. |
fillreturns
Package fillreturns defines an Analyzer that will attempt to automatically fill in a return statement that has missing values with zero value elements.
|
Package fillreturns defines an Analyzer that will attempt to automatically fill in a return statement that has missing values with zero value elements. |
fillstruct
Package fillstruct defines an Analyzer that automatically fills in a struct declaration with zero value elements for each field.
|
Package fillstruct defines an Analyzer that automatically fills in a struct declaration with zero value elements for each field. |
fillswitch
Package fillswitch identifies switches with missing cases.
|
Package fillswitch identifies switches with missing cases. |
nonewvars
Package nonewvars defines an Analyzer that applies suggested fixes to errors of the type "no new variables on left side of :=".
|
Package nonewvars defines an Analyzer that applies suggested fixes to errors of the type "no new variables on left side of :=". |
noresultvalues
Package noresultvalues defines an Analyzer that applies suggested fixes to errors of the type "no result values expected".
|
Package noresultvalues defines an Analyzer that applies suggested fixes to errors of the type "no result values expected". |
simplifycompositelit
Package simplifycompositelit defines an Analyzer that simplifies composite literals.
|
Package simplifycompositelit defines an Analyzer that simplifies composite literals. |
simplifyrange
Package simplifyrange defines an Analyzer that simplifies range statements.
|
Package simplifyrange defines an Analyzer that simplifies range statements. |
simplifyslice
Package simplifyslice defines an Analyzer that simplifies slice statements.
|
Package simplifyslice defines an Analyzer that simplifies slice statements. |
unusedparams
Package unusedparams defines an analyzer that checks for unused parameters of functions.
|
Package unusedparams defines an analyzer that checks for unused parameters of functions. |
unusedparams/cmd
The unusedparams command runs the unusedparams analyzer.
|
The unusedparams command runs the unusedparams analyzer. |
unusedvariable
Package unusedvariable defines an analyzer that checks for unused variables.
|
Package unusedvariable defines an analyzer that checks for unused variables. |
useany
Package useany defines an Analyzer that checks for usage of interface{} in constraints, rather than the predeclared any.
|
Package useany defines an Analyzer that checks for usage of interface{} in constraints, rather than the predeclared any. |
yield
Package yield defines an Analyzer that checks for mistakes related to the yield function used in iterators.
|
Package yield defines an Analyzer that checks for mistakes related to the yield function used in iterators. |
Package cache is the core of gopls: it is concerned with state management, dependency analysis, and invalidation; and it holds the machinery of type checking and modular static analysis.
|
Package cache is the core of gopls: it is concerned with state management, dependency analysis, and invalidation; and it holds the machinery of type checking and modular static analysis. |
metadata
The metadata package defines types and functions for working with package metadata, which describes Go packages and their relationships.
|
The metadata package defines types and functions for working with package metadata, which describes Go packages and their relationships. |
methodsets
Package methodsets defines an incremental, serializable index of method-set information that allows efficient 'implements' queries across packages of the workspace without using the type checker.
|
Package methodsets defines an incremental, serializable index of method-set information that allows efficient 'implements' queries across packages of the workspace without using the type checker. |
parsego
The parsego package defines the File type, a wrapper around a go/ast.File that is useful for answering LSP queries.
|
The parsego package defines the File type, a wrapper around a go/ast.File that is useful for answering LSP queries. |
typerefs
Package typerefs extracts symbol-level reachability information from the syntax of a Go package.
|
Package typerefs extracts symbol-level reachability information from the syntax of a Go package. |
xrefs
Package xrefs defines the serializable index of cross-package references that is computed during type checking.
|
Package xrefs defines the serializable index of cross-package references that is computed during type checking. |
Package clonetest provides utility functions for testing Clone operations.
|
Package clonetest provides utility functions for testing Clone operations. |
Package cmd handles the gopls command line.
|
Package cmd handles the gopls command line. |
Package debug exports debug information for gopls.
|
Package debug exports debug information for gopls. |
log
Package log provides helper methods for exporting log events to the internal/event package.
|
Package log provides helper methods for exporting log events to the internal/event package. |
The doc package provides JSON metadata that documents gopls' public interfaces.
|
The doc package provides JSON metadata that documents gopls' public interfaces. |
The file package defines types used for working with LSP files.
|
The file package defines types used for working with LSP files. |
The filecache package provides a file-based shared durable blob cache.
|
The filecache package provides a file-based shared durable blob cache. |
Package fuzzy implements a fuzzy matching algorithm.
|
Package fuzzy implements a fuzzy matching algorithm. |
Package golang defines the LSP features for navigation, analysis, and refactoring of Go source code.
|
Package golang defines the LSP features for navigation, analysis, and refactoring of Go source code. |
completion
Package completion provides core functionality for code completion in Go editors and tools.
|
Package completion provides core functionality for code completion in Go editors and tools. |
completion/snippet
Package snippet implements the specification for the LSP snippet format.
|
Package snippet implements the specification for the LSP snippet format. |
stubmethods
Package stubmethods provides the analysis logic for the quick fix to "Declare missing methods of TYPE" errors.
|
Package stubmethods provides the analysis logic for the quick fix to "Declare missing methods of TYPE" errors. |
Package label provides common labels used to annotate gopls log messages and events.
|
Package label provides common labels used to annotate gopls log messages and events. |
Package lsprpc implements a jsonrpc2.StreamServer that may be used to serve the LSP on a jsonrpc2 channel.
|
Package lsprpc implements a jsonrpc2.StreamServer that may be used to serve the LSP on a jsonrpc2 channel. |
Package mod provides core features related to go.mod file handling for use by Go editors and tools.
|
Package mod provides core features related to go.mod file handling for use by Go editors and tools. |
The progress package defines utilities for reporting the progress of long-running operations using features of the LSP client interface such as Progress and ShowMessage.
|
The progress package defines utilities for reporting the progress of long-running operations using features of the LSP client interface such as Progress and ShowMessage. |
Package protocol contains the structs that map directly to the request and response messages of the Language Server Protocol.
|
Package protocol contains the structs that map directly to the request and response messages of the Language Server Protocol. |
command
Package command defines the interface provided by gopls for the workspace/executeCommand LSP request.
|
Package command defines the interface provided by gopls for the workspace/executeCommand LSP request. |
command/commandmeta
Package commandmeta provides metadata about LSP commands, by statically analyzing the command.Interface type.
|
Package commandmeta provides metadata about LSP commands, by statically analyzing the command.Interface type. |
command/gen
Package gen is used to generate command bindings from the gopls command interface.
|
Package gen is used to generate command bindings from the gopls command interface. |
generate
The generate command generates Go declarations from VSCode's description of the Language Server Protocol.
|
The generate command generates Go declarations from VSCode's description of the Language Server Protocol. |
semtok
The semtok package provides an encoder for LSP's semantic tokens.
|
The semtok package provides an encoder for LSP's semantic tokens. |
Package server defines gopls' implementation of the LSP server interface, protocol.Server.
|
Package server defines gopls' implementation of the LSP server interface, protocol.Server. |
cmd/stacks
The stacks command finds all gopls stack traces reported by telemetry in the past 7 days, and reports their associated GitHub issue, creating new issues as needed.
|
The stacks command finds all gopls stack traces reported by telemetry in the past 7 days, and reports their associated GitHub issue, creating new issues as needed. |
Package template contains code for dealing with templates
|
Package template contains code for dealing with templates |
test
|
|
integration
Package integration provides a framework for writing integration tests of gopls.
|
Package integration provides a framework for writing integration tests of gopls. |
integration/bench
The bench package implements benchmarks for various LSP operations.
|
The bench package implements benchmarks for various LSP operations. |
integration/fake
Package fake provides a fake implementation of an LSP-enabled text editor, its LSP client plugin, and a Sandbox environment for use in integration tests.
|
Package fake provides a fake implementation of an LSP-enabled text editor, its LSP client plugin, and a Sandbox environment for use in integration tests. |
integration/fake/glob
Package glob implements an LSP-compliant glob pattern matcher for testing.
|
Package glob implements an LSP-compliant glob pattern matcher for testing. |
marker
Package marker defines a framework for running "marker" tests, each defined by a file in the testdata subdirectory.
|
Package marker defines a framework for running "marker" tests, each defined by a file in the testdata subdirectory. |
util
|
|
astutil
Package astutil provides various AST utility functions for gopls.
|
Package astutil provides various AST utility functions for gopls. |
browser
Package browser provides utilities for interacting with users' browsers.
|
Package browser provides utilities for interacting with users' browsers. |
bug
Package bug provides utilities for reporting internal bugs, and being notified when they occur.
|
Package bug provides utilities for reporting internal bugs, and being notified when they occur. |
constraints
Package constraints defines a set of useful constraints to be used with type parameters.
|
Package constraints defines a set of useful constraints to be used with type parameters. |
frob
Package frob is a fast restricted object encoder/decoder in the spirit of encoding/gob.
|
Package frob is a fast restricted object encoder/decoder in the spirit of encoding/gob. |
goversion
Package goversions defines gopls's policy for which versions of Go it supports.
|
Package goversions defines gopls's policy for which versions of Go it supports. |
immutable
The immutable package defines immutable wrappers around common data structures.
|
The immutable package defines immutable wrappers around common data structures. |
lru
The lru package implements a fixed-size in-memory LRU cache.
|
The lru package implements a fixed-size in-memory LRU cache. |
persistent
The persistent package defines various persistent data structures; that is, data structures that can be efficiently copied and modified in sublinear time.
|
The persistent package defines various persistent data structures; that is, data structures that can be efficiently copied and modified in sublinear time. |
safetoken
Package safetoken provides wrappers around methods in go/token, that return errors rather than panicking.
|
Package safetoken provides wrappers around methods in go/token, that return errors rather than panicking. |
Package version manages the gopls version.
|
Package version manages the gopls version. |
govulncheck
Package govulncheck contains the JSON output structs for govulncheck.
|
Package govulncheck contains the JSON output structs for govulncheck. |
osv
Package osv implements the Go OSV vulnerability format (https://go.dev/security/vuln/database#schema), which is a subset of the OSV shared vulnerability format (https://ossf.github.io/osv-schema), with database and ecosystem-specific meanings and fields.
|
Package osv implements the Go OSV vulnerability format (https://go.dev/security/vuln/database#schema), which is a subset of the OSV shared vulnerability format (https://ossf.github.io/osv-schema), with database and ecosystem-specific meanings and fields. |
semver
Package semver provides shared utilities for manipulating Go semantic versions.
|
Package semver provides shared utilities for manipulating Go semantic versions. |
vulntest
Package vulntest provides helpers for vulncheck functionality testing.
|
Package vulntest provides helpers for vulncheck functionality testing. |
Click to show internal directories.
Click to hide internal directories.