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/unusedvariable
            
            
          
           
      Package unusedvariable defines an analyzer that checks for unused variables. 
         | 
      Package unusedvariable defines an analyzer that checks for unused variables. | 
| 
         
          
            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/lcs
            
            
          
           
      package lcs contains code to find longest-common-subsequences (and diffs) 
         | 
      package lcs contains code to find longest-common-subsequences (and diffs) | 
| 
         
          
            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 defines a "promise" abstraction that enables memoization of the result of calling an expensive but idempotent function. 
         | 
      Package memoize defines a "promise" abstraction that enables memoization of the result of calling an expensive but idempotent function. | 
| 
       Package packagesinternal exposes internal-only fields from go/packages. 
         | 
      Package packagesinternal exposes internal-only fields from go/packages. | 
| 
       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. | 
| 
       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.