Versions in this module Expand all Collapse all v0 v0.12.0 Apr 6, 2024 Changes in this version + var Verbose = false + func AbsDirs(dirs []string) ([]string, error) + func Assist(sm ServerMatcher, cmd string) error + func CodeActionAndFormat(ctx context.Context, server FormatServer, doc *protocol.TextDocumentIdentifier, ...) error + func ListenAndServeProxy(ctx context.Context, cfg *config.Config, ss *ServerSet, fm *FileManager) error + func PlumbLocations(locations []protocol.Location) error + func PrintLocations(w io.Writer, loc []protocol.Location) error + type Client struct + func NewClient(conn net.Conn, cfg *ClientConfig) (*Client, error) + func (c *Client) Close() error + func (c *Client) InitializeResult(context.Context, *protocol.TextDocumentIdentifier) (*protocol.InitializeResult, error) + func (c *Client) Version(context.Context) (int, error) + func (c *Client) WorkspaceFolders(context.Context) ([]protocol.WorkspaceFolder, error) + func (s *Client) ExecuteCommandOnDocument(ctx context.Context, params *proxy.ExecuteCommandOnDocumentParams) (interface{}, error) + type ClientConfig struct + DiagWriter DiagnosticsWriter + HideDiag bool + Logger *log.Logger + RPCTrace bool + RootDirectory string + Workspaces []protocol.WorkspaceFolder + type CompletionKind int + const CompleteInsertFirstMatch + const CompleteInsertOnlyMatch + const CompleteNoEdit + type DiagnosticsWriter interface + WriteDiagnostics func(params *protocol.PublishDiagnosticsParams) + func NewDiagnosticsWriter() DiagnosticsWriter + type FileManager struct + func NewFileManager(ss *ServerSet, cfg *config.Config) (*FileManager, error) + func (fm *FileManager) DidChange(winid int) error + func (fm *FileManager) Run() + type FormatServer interface + CodeAction func(context.Context, *protocol.CodeActionParams) ([]protocol.CodeAction, error) + DidChange func(context.Context, *protocol.DidChangeTextDocumentParams) error + ExecuteCommandOnDocument func(context.Context, *proxy.ExecuteCommandOnDocumentParams) (interface{}, error) + Formatting func(context.Context, *protocol.DocumentFormattingParams) ([]protocol.TextEdit, error) + InitializeResult func(context.Context, *protocol.TextDocumentIdentifier) (*protocol.InitializeResult, error) + type RemoteCmd struct + Stderr io.Writer + Stdout io.Writer + func CurrentWindowRemoteCmd(ss *ServerSet, fm *FileManager) (*RemoteCmd, error) + func NewRemoteCmd(server proxy.Server, winid int) *RemoteCmd + func WindowRemoteCmd(ss *ServerSet, fm *FileManager, winid int) (*RemoteCmd, error) + func (rc *RemoteCmd) Completion(ctx context.Context, kind CompletionKind) error + func (rc *RemoteCmd) Definition(ctx context.Context, print bool) error + func (rc *RemoteCmd) DidChange(ctx context.Context) error + func (rc *RemoteCmd) DocumentSymbol(ctx context.Context) error + func (rc *RemoteCmd) Hover(ctx context.Context) error + func (rc *RemoteCmd) Implementation(ctx context.Context, print bool) error + func (rc *RemoteCmd) OrganizeImportsAndFormat(ctx context.Context) error + func (rc *RemoteCmd) References(ctx context.Context) error + func (rc *RemoteCmd) Rename(ctx context.Context, newname string) error + func (rc *RemoteCmd) SignatureHelp(ctx context.Context) error + func (rc *RemoteCmd) TypeDefinition(ctx context.Context, print bool) error + type Server struct + Client *Client + func (s *Server) Close() + type ServerInfo struct + Logger *log.Logger + Re *regexp.Regexp + type ServerMatcher interface + ServerMatch func(ctx context.Context, filename string) (proxy.Server, bool, error) + type ServerSet struct + Data []*ServerInfo + func NewServerSet(cfg *config.Config, diagWriter DiagnosticsWriter) (*ServerSet, error) + func (ss *ServerSet) ClientConfig(info *ServerInfo) *ClientConfig + func (ss *ServerSet) CloseAll() + func (ss *ServerSet) DidChangeWorkspaceFolders(ctx context.Context, added, removed []protocol.WorkspaceFolder) error + func (ss *ServerSet) MatchFile(filename string) *ServerInfo + func (ss *ServerSet) PrintTo(w io.Writer) + func (ss *ServerSet) ServerMatch(ctx context.Context, filename string) (proxy.Server, bool, error) + func (ss *ServerSet) StartForFile(filename string) (*Server, bool, error) + func (ss *ServerSet) Workspaces() []protocol.WorkspaceFolder + type UnitServerMatcher struct + func (sm *UnitServerMatcher) ServerMatch(ctx context.Context, filename string) (proxy.Server, bool, error)