package cache
import "golang.org/x/tools/internal/lsp/cache"
Package cache implements the caching layer for gopls.
Index ¶
- Constants
- Variables
- func BuildGoplsMod(ctx context.Context, root span.URI, s source.Snapshot) (*modfile.File, error)
- type Cache
- func New(ctx context.Context, options func(*source.Options)) *Cache
- func (c *Cache) FileSet() *token.FileSet
- func (c *Cache) GetFile(ctx context.Context, uri span.URI) (source.FileHandle, error)
- func (c *Cache) ID() string
- func (c *Cache) MemStats() map[reflect.Type]int
- func (c *Cache) NewSession(ctx context.Context) *Session
- func (c *Cache) PackageStats(withNames bool) template.HTML
- type Session
- func (s *Session) Cache() interface{}
- func (s *Session) DidModifyFiles(ctx context.Context, changes []source.FileModification) (map[source.Snapshot][]span.URI, []func(), error)
- func (s *Session) ExpandModificationsToDirectories(ctx context.Context, changes []source.FileModification) []source.FileModification
- func (s *Session) FileWatchingGlobPatterns(ctx context.Context) map[string]struct{}
- func (s *Session) GetFile(ctx context.Context, uri span.URI) (source.FileHandle, error)
- func (s *Session) ID() string
- func (s *Session) ModifyFiles(ctx context.Context, changes []source.FileModification) error
- func (s *Session) NewView(ctx context.Context, name string, folder, tempWorkspace span.URI, options *source.Options) (source.View, source.Snapshot, func(), error)
- func (s *Session) Options() *source.Options
- func (s *Session) Overlays() []source.Overlay
- func (s *Session) SetOptions(options *source.Options)
- func (s *Session) Shutdown(ctx context.Context)
- func (s *Session) String() string
- func (s *Session) View(name string) source.View
- func (s *Session) ViewOf(uri span.URI) (source.View, error)
- func (s *Session) Views() []source.View
- type SessionKey
- func NewSessionKey(name, description string) *SessionKey
- func (k *SessionKey) Description() string
- func (k *SessionKey) Format(w io.Writer, buf []byte, l label.Label)
- func (k *SessionKey) From(t label.Label) *Session
- func (k *SessionKey) Get(lm label.Map) *Session
- func (k *SessionKey) Name() string
- func (k *SessionKey) Of(v *Session) label.Label
- type View
- func (v *View) Folder() span.URI
- func (v *View) ID() string
- func (v *View) IsGoPrivatePath(target string) bool
- func (v *View) Name() string
- func (v *View) Options() *source.Options
- func (v *View) Rebuild(ctx context.Context) (source.Snapshot, func(), error)
- func (v *View) Session() *Session
- func (v *View) SetOptions(ctx context.Context, options *source.Options) (source.View, error)
- func (v *View) Shutdown(ctx context.Context)
- func (v *View) Snapshot(ctx context.Context) (source.Snapshot, func())
Constants ¶
const ( SyntaxError = "syntax" GoCommandError = "go command" )
Variables ¶
var ( KeyCreateSession = NewSessionKey("create_session", "A new session was added") KeyUpdateSession = NewSessionKey("update_session", "Updated information about a session") KeyShutdownSession = NewSessionKey("shutdown_session", "A session was shut down") )
Functions ¶
func BuildGoplsMod ¶
BuildGoplsMod generates a go.mod file for all modules in the workspace. It bypasses any existing gopls.mod.
Types ¶
type Cache ¶
type Cache struct {
// contains filtered or unexported fields
}
func New ¶
func (*Cache) FileSet ¶
func (*Cache) GetFile ¶
func (*Cache) ID ¶
func (*Cache) MemStats ¶
func (*Cache) NewSession ¶
func (*Cache) PackageStats ¶
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
func (*Session) Cache ¶
func (s *Session) Cache() interface{}
func (*Session) DidModifyFiles ¶
func (s *Session) DidModifyFiles(ctx context.Context, changes []source.FileModification) (map[source.Snapshot][]span.URI, []func(), error)
func (*Session) ExpandModificationsToDirectories ¶
func (s *Session) ExpandModificationsToDirectories(ctx context.Context, changes []source.FileModification) []source.FileModification
func (*Session) FileWatchingGlobPatterns ¶
func (*Session) GetFile ¶
func (*Session) ID ¶
func (*Session) ModifyFiles ¶
func (*Session) NewView ¶
func (s *Session) NewView(ctx context.Context, name string, folder, tempWorkspace span.URI, options *source.Options) (source.View, source.Snapshot, func(), error)
func (*Session) Options ¶
func (*Session) Overlays ¶
func (*Session) SetOptions ¶
func (*Session) Shutdown ¶
func (*Session) String ¶
func (*Session) View ¶
View returns the view by name.
func (*Session) ViewOf ¶
ViewOf returns a view corresponding to the given URI. If the file is not already associated with a view, pick one using some heuristics.
func (*Session) Views ¶
type SessionKey ¶
type SessionKey struct {
// contains filtered or unexported fields
}
SessionKey represents an event label key that has a *Session value.
func NewSessionKey ¶
func NewSessionKey(name, description string) *SessionKey
NewSessionKey creates a new Key for *Session values.
func (*SessionKey) Description ¶
func (k *SessionKey) Description() string
func (*SessionKey) Format ¶
func (*SessionKey) From ¶
func (k *SessionKey) From(t label.Label) *Session
From can be used to get the session value from a Label.
func (*SessionKey) Get ¶
func (k *SessionKey) Get(lm label.Map) *Session
Get can be used to get the session for the key from a label.Map.
func (*SessionKey) Name ¶
func (k *SessionKey) Name() string
func (*SessionKey) Of ¶
func (k *SessionKey) Of(v *Session) label.Label
Of creates a new Label with this key and the supplied session.
type View ¶
type View struct {
// contains filtered or unexported fields
}
func (*View) Folder ¶
Folder returns the folder at the base of this view.
func (*View) ID ¶
func (*View) IsGoPrivatePath ¶
func (*View) Name ¶
Name returns the user visible name of this view.
func (*View) Options ¶
func (*View) Rebuild ¶
func (*View) Session ¶
func (*View) SetOptions ¶
func (*View) Shutdown ¶
func (*View) Snapshot ¶
Source Files ¶
analysis.go cache.go check.go errors.go imports.go keys.go load.go mod.go mod_tidy.go parse.go pkg.go session.go snapshot.go view.go workspace.go
- Version
- v0.1.0
- Published
- Jan 19, 2021
- Platform
- linux/amd64
- Imports
- 49 packages
- Last checked
- 1 minute ago –
Tools for package owners.