func (s *server) Initialize(ctx context.Context, params *protocol.ParamInitialize) (*protocol.InitializeResult, error) { … } func (s *server) Initialized(ctx context.Context, params *protocol.InitializedParams) error { … } // checkViewGoVersions checks whether any Go version used by a view is too old, // raising a showMessage notification if so. // // It should be called after views change. func (s *server) checkViewGoVersions() { … } // go1Point returns the x in Go 1.x. If an error occurs extracting the go // version, it returns -1. // // Copied from the testenv package. func go1Point() int { … } // addFolders adds the specified list of "folders" (that's Windows for // directories) to the session. It does not return an error, though it // may report an error to the client over LSP if one or more folders // had problems, for example, folders with unsupported file system. func (s *server) addFolders(ctx context.Context, folders []protocol.WorkspaceFolder) { … } // updateWatchedDirectories compares the current set of directories to watch // with the previously registered set of directories. If the set of directories // has changed, we unregister and re-register for file watching notifications. // updatedSnapshots is the set of snapshots that have been updated. func (s *server) updateWatchedDirectories(ctx context.Context) error { … } func watchedFilesCapabilityID(id int) string { … } // registerWatchedDirectoriesLocked sends the workspace/didChangeWatchedFiles // registrations to the client and updates s.watchedDirectories. // The caller must not subsequently mutate patterns. func (s *server) registerWatchedDirectoriesLocked(ctx context.Context, patterns map[protocol.RelativePattern]unit) error { … } // Options returns the current server options. // // The caller must not modify the result. func (s *server) Options() *settings.Options { … } // SetOptions sets the current server options. // // The caller must not subsequently modify the options. func (s *server) SetOptions(opts *settings.Options) { … } func (s *server) newFolder(ctx context.Context, folder protocol.DocumentURI, name string, opts *settings.Options) (*cache.Folder, error) { … } // fetchFolderOptions makes a workspace/configuration request for the given // folder, and populates options with the result. // // If folder is "", fetchFolderOptions makes an unscoped request. func (s *server) fetchFolderOptions(ctx context.Context, folder protocol.DocumentURI) (*settings.Options, error) { … } func (s *server) eventuallyShowMessage(ctx context.Context, msg *protocol.ShowMessageParams) { … } func (s *server) handleOptionErrors(ctx context.Context, optionErrors []error) { … } // fileOf returns the file for a given URI and its snapshot. // On success, the returned function must be called to release the snapshot. func (s *server) fileOf(ctx context.Context, uri protocol.DocumentURI) (file.Handle, *cache.Snapshot, func(), error) { … } // shutdown implements the 'shutdown' LSP handler. It releases resources // associated with the server and waits for all ongoing work to complete. func (s *server) Shutdown(ctx context.Context) error { … } func (s *server) Exit(ctx context.Context) error { … } // recordClientInfo records gopls client info. func recordClientInfo(clientName string) { … }