 Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| Package analysisinternal exposes internal-only fields from go/analysis. | Package analysisinternal exposes internal-only fields from go/analysis. | 
| Package event provides a set of packages that cover the main concepts of telemetry in an implementation agnostic way. | Package event provides a set of packages that cover the main concepts of telemetry in an implementation agnostic way. | 
| 
          
            core
            
            
          
           Package core provides support for event based telemetry. | Package core provides support for event based telemetry. | 
| 
          
            export/eventtest
            
            
          
           Package eventtest supports logging events to a test. | Package eventtest supports logging events to a test. | 
| 
          
            export/metric
            
            
          
           Package metric aggregates events into metrics that can be exported. | Package metric aggregates events into metrics that can be exported. | 
| 
          
            export/ocagent
            
            
          
           Package ocagent adds the ability to export all telemetry to an ocagent. | Package ocagent adds the ability to export all telemetry to an ocagent. | 
| Package fastwalk provides a faster version of filepath.Walk for file system scanning tools. | Package fastwalk provides a faster version of filepath.Walk for file system scanning tools. | 
| Package gocommand is a helper for calling the go command. | Package gocommand is a helper for calling the go command. | 
| Package gopathwalk is like filepath.Walk but specialized for finding Go packages, particularly in $GOPATH and $GOROOT. | Package gopathwalk is like filepath.Walk but specialized for finding Go packages, particularly in $GOPATH and $GOROOT. | 
| Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary. | Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary. | 
| Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec. | Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec. | 
| 
          
            servertest
            
            
          
           Package servertest provides utilities for running tests against a remote LSP server. | Package servertest provides utilities for running tests against a remote LSP server. | 
| Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec. | Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec. | 
| Package lsp implements LSP for gopls. | Package lsp implements LSP for gopls. | 
| 
          
            analysis/embeddirective
            
            
          
           Package embeddirective defines an Analyzer that validates import for //go:embed directive. | Package embeddirective defines an Analyzer that validates import for //go:embed directive. | 
| 
          
            analysis/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. | 
| 
          
            analysis/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. | 
| 
          
            analysis/infertypeargs
            
            
          
           Package infertypeargs defines an analyzer that checks for explicit function arguments that could be inferred. | Package infertypeargs defines an analyzer that checks for explicit function arguments that could be inferred. | 
| 
          
            analysis/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 :=". | 
| 
          
            analysis/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". | 
| 
          
            analysis/simplifycompositelit
            
            
          
           Package simplifycompositelit defines an Analyzer that simplifies composite literals. | Package simplifycompositelit defines an Analyzer that simplifies composite literals. | 
| 
          
            analysis/simplifyrange
            
            
          
           Package simplifyrange defines an Analyzer that simplifies range statements. | Package simplifyrange defines an Analyzer that simplifies range statements. | 
| 
          
            analysis/simplifyslice
            
            
          
           Package simplifyslice defines an Analyzer that simplifies slice statements. | Package simplifyslice defines an Analyzer that simplifies slice statements. | 
| 
          
            analysis/undeclaredname
            
            
          
           Package undeclaredname defines an Analyzer that applies suggested fixes to errors of the type "undeclared name: %s". | Package undeclaredname defines an Analyzer that applies suggested fixes to errors of the type "undeclared name: %s". | 
| 
          
            analysis/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. | 
| 
          
            analysis/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. | 
| 
          
            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. | 
| 
          
            cache
            
            
          
           Package cache implements the caching layer for gopls. | Package cache implements the caching layer for gopls. | 
| 
          
            cmd
            
            
          
           Package cmd handles the gopls command line. | Package cmd handles the gopls command line. | 
| 
          
            cmd/test
            
            
          
           Package cmdtest contains the test suite for the command line behavior of gopls. | Package cmdtest contains the test suite for the command line behavior of gopls. | 
| 
          
            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 analyzing the command.Interface type. | Package commandmeta provides metadata about LSP commands, by 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. | 
| 
          
            debug
            
            
          
           Package debug exports debug information for gopls. | Package debug exports debug information for gopls. | 
| 
          
            debug/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. | 
| 
          
            debug/tag
            
            
          
           Package tag provides the labels used for telemetry throughout gopls. | Package tag provides the labels used for telemetry throughout gopls. | 
| 
          
            diff
            
            
          
           Package diff supports a pluggable diff algorithm. | Package diff supports a pluggable diff algorithm. | 
| 
          
            diff/difftest
            
            
          
           Package difftest supplies a set of tests that will operate on any implementation of a diff algorithm as exposed by "golang.org/x/tools/internal/lsp/diff" | Package difftest supplies a set of tests that will operate on any implementation of a diff algorithm as exposed by "golang.org/x/tools/internal/lsp/diff" | 
| 
          
            diff/myers
            
            
          
           Package myers implements the Myers diff algorithm. | Package myers implements the Myers diff algorithm. | 
| 
          
            fake
            
            
          
           Package fake provides fake implementations of a text editor, LSP client plugin, and Sandbox environment for use in tests. | Package fake provides fake implementations of a text editor, LSP client plugin, and Sandbox environment for use in tests. | 
| 
          
            fuzzy
            
            
          
           Package fuzzy implements a fuzzy matching algorithm. | Package fuzzy implements a fuzzy matching algorithm. | 
| 
          
            helper
            
            command
          
           Invoke with //go:generate helper/helper -t Server -d protocol/tsserver.go -u lsp -o server_gen.go invoke in internal/lsp | Invoke with //go:generate helper/helper -t Server -d protocol/tsserver.go -u lsp -o server_gen.go invoke in internal/lsp | 
| 
          
            lsppos
            
            
          
           Package lsppos provides utilities for working with LSP positions. | Package lsppos provides utilities for working with LSP positions. | 
| 
          
            lsprpc
            
            
          
           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. | 
| 
          
            mod
            
            
          
           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. | 
| 
          
            protocol
            
            
          
           Package protocol contains the structs that map directly to the wire format of the "Language Server Protocol". | Package protocol contains the structs that map directly to the wire format of the "Language Server Protocol". | 
| 
          
            regtest
            
            
          
           Package regtest provides a framework for writing gopls regression tests. | Package regtest provides a framework for writing gopls regression tests. | 
| 
          
            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. | 
| 
          
            snippet
            
            
          
           Package snippet implements the specification for the LSP snippet format. | Package snippet implements the specification for the LSP snippet format. | 
| 
          
            source
            
            
          
           Package source provides core features for use by Go editors and tools. | Package source provides core features for use by Go editors and tools. | 
| 
          
            source/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. | 
| 
          
            template
            
            
          
           Package template contains code for dealing with templates | Package template contains code for dealing with templates | 
| 
          
            tests
            
            
          
           Package tests exports functionality to be used across a variety of gopls tests. | Package tests exports functionality to be used across a variety of gopls tests. | 
| Package memoize supports memoizing the return values of functions with idempotent results that are expensive to compute. | Package memoize supports memoizing the return values of functions with idempotent results that are expensive to compute. | 
| Package packagesinternal exposes internal-only fields from go/packages. | Package packagesinternal exposes internal-only fields from go/packages. | 
| Package proxydir provides functions for writing module data to a directory in proxy format, so that it can be used as a module proxy by setting GOPROXY="file://<dir>". | Package proxydir provides functions for writing module data to a directory in proxy format, so that it can be used as a module proxy by setting GOPROXY="file://<dir>". | 
| Package span contains support for representing with positions and ranges in text files. | Package span contains support for representing with positions and ranges in text files. | 
| Package stack provides support for parsing standard goroutine stack traces. | Package stack provides support for parsing standard goroutine stack traces. | 
| 
          
            gostacks
            
            command
          
           The gostacks command processes stdin looking for things that look like stack traces and simplifying them to make the log more readable. | The gostacks command processes stdin looking for things that look like stack traces and simplifying them to make the log more readable. | 
| Package testenv contains helper functions for skipping tests based on which tools are present in the environment. | Package testenv contains helper functions for skipping tests based on which tools are present in the environment. | 
| Package tool is a harness for writing Go tools. | Package tool is a harness for writing Go tools. | 
| Package typeparams contains common utilities for writing tools that interact with generic Go code, as introduced with Go 1.18. | Package typeparams contains common utilities for writing tools that interact with generic Go code, as introduced with Go 1.18. | 
| 
          
            genericfeatures
            
            
          
           The genericfeatures package provides utilities for detecting usage of generic programming in Go packages. | The genericfeatures package provides utilities for detecting usage of generic programming in Go packages. | 
| Package typesinternal provides access to internal go/types APIs that are not yet exported. | Package typesinternal provides access to internal go/types APIs that are not yet exported. | 
| Package xcontext is a package to offer the extra functionality we need from contexts that is not available from the standard context package. | Package xcontext is a package to offer the extra functionality we need from contexts that is not available from the standard context package. | 
 Click to show internal directories. 
   Click to hide internal directories.