Versions in this module Expand all Collapse all v1 v1.0.0 Mar 5, 2020 Changes in this version type Client + func (c *Client) OnDiagnostics(hook func(context.Context, *protocol.PublishDiagnosticsParams) error) + func (c *Client) OnLogMessage(hook func(context.Context, *protocol.LogMessageParams) error) type Editor + func NewConnectedEditor(ctx context.Context, ws *Workspace, conn *jsonrpc2.Conn) (*Editor, error) + type Workspace struct + func NewWorkspace(name string, txt []byte) (_ *Workspace, err error) + func (w *Workspace) AddWatcher(watcher func(context.Context, []FileEvent)) + func (w *Workspace) Close() error + func (w *Workspace) GOPATH() string + func (w *Workspace) ReadFile(path string) (string, error) + func (w *Workspace) RemoveFile(ctx context.Context, path string) error + func (w *Workspace) RootURI() protocol.DocumentURI + func (w *Workspace) URI(path string) protocol.DocumentURI + func (w *Workspace) URIToPath(uri protocol.DocumentURI) string + func (w *Workspace) WriteFile(ctx context.Context, path, content string) error v0 v0.1.7 Aug 22, 2021 v0.1.6 Aug 22, 2021 v0.1.4 Aug 22, 2021 Changes in this version + var ErrNoMatch = errors.New("no match") + var ErrUnknownBuffer = errors.New("unknown buffer") + func Tempdir(files map[string][]byte) (string, error) + func UnpackTxt(txt string) map[string][]byte + func WriteFileData(path string, content []byte, rel RelativeTo) error + func WriteProxy(tmpdir string, files map[string][]byte) (string, error) + type CallCounts struct + DidChange uint64 + DidChangeWatchedFiles uint64 + DidClose uint64 + DidOpen uint64 + DidSave uint64 + type Client struct + func (c *Client) ApplyEdit(ctx context.Context, params *protocol.ApplyWorkspaceEditParams) (*protocol.ApplyWorkspaceEditResponse, error) + func (c *Client) Configuration(_ context.Context, p *protocol.ParamConfiguration) ([]interface{}, error) + func (c *Client) Event(ctx context.Context, event *interface{}) error + func (c *Client) LogMessage(ctx context.Context, params *protocol.LogMessageParams) error + func (c *Client) Progress(ctx context.Context, params *protocol.ProgressParams) error + func (c *Client) PublishDiagnostics(ctx context.Context, params *protocol.PublishDiagnosticsParams) error + func (c *Client) RegisterCapability(ctx context.Context, params *protocol.RegistrationParams) error + func (c *Client) ShowDocument(context.Context, *protocol.ShowDocumentParams) (*protocol.ShowDocumentResult, error) + func (c *Client) ShowMessage(ctx context.Context, params *protocol.ShowMessageParams) error + func (c *Client) ShowMessageRequest(ctx context.Context, params *protocol.ShowMessageRequestParams) (*protocol.MessageActionItem, error) + func (c *Client) UnregisterCapability(ctx context.Context, params *protocol.UnregistrationParams) error + func (c *Client) WorkDoneProgressCreate(ctx context.Context, params *protocol.WorkDoneProgressCreateParams) error + func (c *Client) WorkspaceFolders(context.Context) ([]protocol.WorkspaceFolder, error) + type ClientHooks struct + OnDiagnostics func(context.Context, *protocol.PublishDiagnosticsParams) error + OnLogMessage func(context.Context, *protocol.LogMessageParams) error + OnProgress func(context.Context, *protocol.ProgressParams) error + OnRegistration func(context.Context, *protocol.RegistrationParams) error + OnShowMessage func(context.Context, *protocol.ShowMessageParams) error + OnShowMessageRequest func(context.Context, *protocol.ShowMessageRequestParams) error + OnUnregistration func(context.Context, *protocol.UnregistrationParams) error + OnWorkDoneProgressCreate func(context.Context, *protocol.WorkDoneProgressCreateParams) error + type Edit struct + End Pos + Start Pos + Text string + func NewEdit(startLine, startColumn, endLine, endColumn int, text string) Edit + type Editor struct + Config EditorConfig + Server protocol.Server + func NewEditor(sandbox *Sandbox, config EditorConfig) *Editor + func (e *Editor) AcceptCompletion(ctx context.Context, path string, pos Pos, item protocol.CompletionItem) error + func (e *Editor) ApplyCodeAction(ctx context.Context, action protocol.CodeAction) error + func (e *Editor) ApplyQuickFixes(ctx context.Context, path string, rng *protocol.Range, ...) error + func (e *Editor) BufferText(name string) string + func (e *Editor) BufferVersion(name string) int + func (e *Editor) Client() *Client + func (e *Editor) Close(ctx context.Context) error + func (e *Editor) CloseBuffer(ctx context.Context, path string) error + func (e *Editor) CodeAction(ctx context.Context, path string, rng *protocol.Range, ...) ([]protocol.CodeAction, error) + func (e *Editor) CodeLens(ctx context.Context, path string) ([]protocol.CodeLens, error) + func (e *Editor) Completion(ctx context.Context, path string, pos Pos) (*protocol.CompletionList, error) + func (e *Editor) Connect(ctx context.Context, conn jsonrpc2.Conn, hooks ClientHooks) (*Editor, error) + func (e *Editor) CreateBuffer(ctx context.Context, path, content string) error + func (e *Editor) DocumentHighlight(ctx context.Context, path string, pos Pos) ([]protocol.DocumentHighlight, error) + func (e *Editor) DocumentLink(ctx context.Context, path string) ([]protocol.DocumentLink, error) + func (e *Editor) EditBuffer(ctx context.Context, path string, edits []Edit) error + func (e *Editor) ExecuteCommand(ctx context.Context, params *protocol.ExecuteCommandParams) (interface{}, error) + func (e *Editor) Exit(ctx context.Context) error + func (e *Editor) FormatBuffer(ctx context.Context, path string) error + func (e *Editor) GetQuickFixes(ctx context.Context, path string, rng *protocol.Range, ...) ([]protocol.CodeAction, error) + func (e *Editor) GoToDefinition(ctx context.Context, path string, pos Pos) (string, Pos, error) + func (e *Editor) GoToTypeDefinition(ctx context.Context, path string, pos Pos) (string, Pos, error) + func (e *Editor) HasBuffer(name string) bool + func (e *Editor) Hover(ctx context.Context, path string, pos Pos) (*protocol.MarkupContent, Pos, error) + func (e *Editor) OpenFile(ctx context.Context, path string) error + func (e *Editor) OrganizeImports(ctx context.Context, path string) error + func (e *Editor) RefactorRewrite(ctx context.Context, path string, rng *protocol.Range) error + func (e *Editor) References(ctx context.Context, path string, pos Pos) ([]protocol.Location, error) + func (e *Editor) RegexpRange(bufName, re string) (Pos, Pos, error) + func (e *Editor) RegexpReplace(ctx context.Context, path, re, replace string) error + func (e *Editor) RegexpSearch(bufName, re string) (Pos, error) + func (e *Editor) Rename(ctx context.Context, path string, pos Pos, newName string) error + func (e *Editor) RunGenerate(ctx context.Context, dir string) error + func (e *Editor) SaveBuffer(ctx context.Context, path string) error + func (e *Editor) SaveBufferWithoutActions(ctx context.Context, path string) error + func (e *Editor) SetBufferContent(ctx context.Context, path, content string) error + func (e *Editor) Shutdown(ctx context.Context) error + func (e *Editor) Stats() CallCounts + func (e *Editor) Symbol(ctx context.Context, query string) ([]SymbolInformation, error) + type EditorConfig struct + AllExperiments bool + BuildFlags []string + CodeLenses map[string]bool + DirectoryFilters []string + EnableStaticcheck bool + Env map[string]string + ExperimentalUseInvalidMetadata bool + ImportShortcut string + LimitWorkspaceScope bool + SendPID bool + SymbolMatcher *string + SymbolStyle *string + VerboseOutput bool + WindowsLineEndings bool + WorkspaceFolders []string + type FileEvent struct + Content string + Path string + ProtocolEvent protocol.FileEvent + type Location struct + Path string + Range Range + type Pos struct + Column int + Line int + func (p Pos) String() string + func (p Pos) ToProtocolPosition() protocol.Position + type Range struct + End Pos + Start Pos + type RelativeTo string + func (r RelativeTo) AbsPath(path string) string + func (r RelativeTo) RelPath(fp string) string + type Sandbox struct + Workdir *Workdir + func NewSandbox(config *SandboxConfig) (_ *Sandbox, err error) + func (sb *Sandbox) Close() error + func (sb *Sandbox) GOPATH() string + func (sb *Sandbox) GoEnv() map[string]string + func (sb *Sandbox) RootDir() string + func (sb *Sandbox) RunGoCommand(ctx context.Context, dir, verb string, args []string, checkForFileChanges bool) error + type SandboxConfig struct + Files map[string][]byte + GOPROXY string + InGoPath bool + ProxyFiles map[string][]byte + RootDir string + Workdir string + type SymbolInformation struct + Kind protocol.SymbolKind + Location Location + Name string + type Workdir struct + func NewWorkdir(dir string) *Workdir + func (w *Workdir) AddWatcher(watcher func(context.Context, []FileEvent)) + func (w *Workdir) ChangeFilesOnDisk(ctx context.Context, events []FileEvent) error + func (w *Workdir) CheckForFileChanges(ctx context.Context) error + func (w *Workdir) ReadFile(path string) (string, error) + func (w *Workdir) RegexpRange(path, re string) (Pos, Pos, error) + func (w *Workdir) RegexpSearch(path string, re string) (Pos, error) + func (w *Workdir) RemoveFile(ctx context.Context, path string) error + func (w *Workdir) RootURI() protocol.DocumentURI + func (w *Workdir) URI(path string) protocol.DocumentURI + func (w *Workdir) URIToPath(uri protocol.DocumentURI) string + func (w *Workdir) WriteFile(ctx context.Context, path, content string) error + func (w *Workdir) WriteFiles(ctx context.Context, files map[string]string) error