Documentation
¶
Overview ¶
Package lsp implements the Language Server Protocol for Buffalo.
Index ¶
- Constants
- type ClientCapabilities
- type ClientInfo
- type CodeAction
- type CodeActionClientCapabilities
- type CodeActionContext
- type CodeActionKind
- type CodeActionOptions
- type CodeActionParams
- type CodeDescription
- type CodeLensClientCapabilities
- type CodeLensOptions
- type Command
- type CompletionClientCapabilities
- type CompletionContext
- type CompletionItem
- type CompletionItemCapabilities
- type CompletionItemKind
- type CompletionItemKindCapability
- type CompletionItemTag
- type CompletionList
- type CompletionOptions
- type CompletionParams
- type CompletionTriggerKind
- type DeclarationClientCapabilities
- type DefinitionClientCapabilities
- type Diagnostic
- type DiagnosticRelatedInformation
- type DiagnosticSeverity
- type DiagnosticTag
- type DidChangeConfigurationCapability
- type DidChangeConfigurationParams
- type DidChangeTextDocumentParams
- type DidChangeWatchedFilesCapability
- type DidChangeWatchedFilesParams
- type DidCloseTextDocumentParams
- type DidOpenTextDocumentParams
- type DidSaveTextDocumentParams
- type Document
- type DocumentColorClientCapabilities
- type DocumentFormattingClientCapabilities
- type DocumentFormattingParams
- type DocumentHighlight
- type DocumentHighlightClientCapabilities
- type DocumentHighlightKind
- type DocumentLinkClientCapabilities
- type DocumentLinkOptions
- type DocumentOnTypeFormattingCapabilities
- type DocumentOnTypeFormattingOptions
- type DocumentRangeFormattingCapabilities
- type DocumentSymbol
- type DocumentSymbolClientCapabilities
- type DocumentSymbolParams
- type DocumentURI
- type ExecuteCommandCapability
- type ExecuteCommandOptions
- type FileChangeType
- type FileEvent
- type FileOperationFilter
- type FileOperationOptions
- type FileOperationPattern
- type FileOperationRegistrationOptions
- type FoldingRange
- type FoldingRangeClientCapabilities
- type FoldingRangeParams
- type FormattingOptions
- type GeneralClientCapabilities
- type Handler
- type Hover
- type HoverClientCapabilities
- type ImplementationClientCapabilities
- type InitializeParams
- type InitializeResult
- type InsertTextFormat
- type InsertTextMode
- type Location
- type MarkupContent
- type MarkupKind
- type Message
- type NotificationMessage
- type ParameterInformation
- type PermissionAnnotationInfo
- type Position
- type PrepareRenameParams
- type PrepareRenameResult
- type ProtoAnalyzer
- func (a *ProtoAnalyzer) Analyze(doc *Document) []Diagnostic
- func (a *ProtoAnalyzer) CodeActions(doc *Document, rng Range, ctx CodeActionContext) []CodeAction
- func (a *ProtoAnalyzer) Complete(doc *Document, pos Position, ctx *CompletionContext) []CompletionItem
- func (a *ProtoAnalyzer) Definition(doc *Document, pos Position) *Location
- func (a *ProtoAnalyzer) DocumentSymbols(doc *Document) []DocumentSymbol
- func (a *ProtoAnalyzer) FoldingRanges(doc *Document) []FoldingRange
- func (a *ProtoAnalyzer) Format(doc *Document, opts FormattingOptions) []TextEdit
- func (a *ProtoAnalyzer) GetEmbeddedProto(importPath string) (string, bool)
- func (a *ProtoAnalyzer) Hover(doc *Document, pos Position) *Hover
- func (a *ProtoAnalyzer) ListEmbeddedProtos() []string
- func (a *ProtoAnalyzer) PrepareRename(doc *Document, pos Position) *PrepareRenameResult
- func (a *ProtoAnalyzer) References(doc *Document, pos Position, docs []*Document, includeDeclaration bool) []Location
- func (a *ProtoAnalyzer) Rename(doc *Document, pos Position, newName string, docs []*Document) *WorkspaceEdit
- func (a *ProtoAnalyzer) ResolveCompletion(item CompletionItem) CompletionItem
- func (a *ProtoAnalyzer) SemanticTokens(doc *Document) *SemanticTokens
- func (a *ProtoAnalyzer) SyntaxDiagnostics(doc *Document) []Diagnostic
- type ProtoSymbol
- type PublishDiagnosticsClientCapabilities
- type PublishDiagnosticsParams
- type Range
- type ReferenceClientCapabilities
- type ReferenceContext
- type ReferenceParams
- type RenameClientCapabilities
- type RenameOptions
- type RenameParams
- type RequestMessage
- type ResponseError
- type ResponseMessage
- type SaveOptions
- type SelectionRangeClientCapabilities
- type SemanticTokens
- type SemanticTokensClientCapabilities
- type SemanticTokensLegend
- type SemanticTokensOptions
- type SemanticTokensParams
- type SemanticTokensWorkspaceCapability
- type Server
- type ServerCapabilities
- type ServerInfo
- type ServerWorkspaceCapabilities
- type SignatureHelp
- type SignatureHelpClientCapabilities
- type SignatureHelpOptions
- type SignatureInformation
- type SymbolKind
- type SymbolKindCapability
- type SymbolTag
- type SymbolTagCapability
- type TextDocumentClientCapabilities
- type TextDocumentContentChangeEvent
- type TextDocumentIdentifier
- type TextDocumentItem
- type TextDocumentPositionParams
- type TextDocumentSyncClientCapabilities
- type TextDocumentSyncKind
- type TextDocumentSyncOptions
- type TextEdit
- type TypeDefinitionClientCapabilities
- type ValidationRuleInfo
- type VersionedTextDocumentIdentifier
- type WindowClientCapabilities
- type WorkspaceClientCapabilities
- type WorkspaceEdit
- type WorkspaceEditClientCapabilities
- type WorkspaceFolder
- type WorkspaceFoldersServerCapabilities
- type WorkspaceSymbolCapability
Constants ¶
const ( DiagCodeMissingSyntax = "BUF001" DiagCodeInvalidSyntax = "BUF002" DiagCodeMissingPackage = "BUF003" DiagCodeMismatchedBraces = "BUF004" DiagCodeInvalidFieldNumber = "BUF005" DiagCodeReservedFieldNumber = "BUF006" DiagCodeDuplicateFieldNumber = "BUF007" DiagCodeDuplicateFieldName = "BUF008" DiagCodeNamingConvention = "BUF009" DiagCodeMissingSemicolon = "BUF010" DiagCodeInvalidType = "BUF011" DiagCodeInvalidImport = "BUF012" DiagCodeDuplicateImport = "BUF013" DiagCodeInvalidOption = "BUF014" DiagCodeInvalidRPC = "BUF015" DiagCodeInvalidEnum = "BUF016" DiagCodeInvalidMapKey = "BUF017" DiagCodeUnterminatedString = "BUF018" DiagCodeInvalidSyntaxGeneral = "BUF019" DiagCodeEmptyMessage = "BUF020" DiagCodeTopLevelStatement = "BUF021" DiagCodeDuplicatePackage = "BUF022" DiagCodeDuplicateSyntax = "BUF023" DiagCodeInvalidEnumDefault = "BUF024" DiagCodeReservedKeyword = "BUF025" )
DiagnosticCode constants for categorized diagnostics.
const ( ParseError = -32700 InvalidRequest = -32600 MethodNotFound = -32601 InvalidParams = -32602 InternalError = -32603 ServerNotInitialized = -32002 UnknownErrorCode = -32001 RequestCancelled = -32800 ContentModified = -32801 )
Error codes defined by LSP.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientCapabilities ¶
type ClientCapabilities struct {
Workspace *WorkspaceClientCapabilities `json:"workspace,omitempty"`
TextDocument *TextDocumentClientCapabilities `json:"textDocument,omitempty"`
Window *WindowClientCapabilities `json:"window,omitempty"`
General *GeneralClientCapabilities `json:"general,omitempty"`
Experimental interface{} `json:"experimental,omitempty"`
}
ClientCapabilities describes client capabilities.
type ClientInfo ¶
ClientInfo describes the client.
type CodeAction ¶
type CodeAction struct {
Title string `json:"title"`
Kind CodeActionKind `json:"kind,omitempty"`
Diagnostics []Diagnostic `json:"diagnostics,omitempty"`
IsPreferred bool `json:"isPreferred,omitempty"`
Disabled *struct {
Reason string `json:"reason"`
} `json:"disabled,omitempty"`
Edit *WorkspaceEdit `json:"edit,omitempty"`
Command *Command `json:"command,omitempty"`
Data interface{} `json:"data,omitempty"`
}
CodeAction represents a change that can be performed in code.
type CodeActionClientCapabilities ¶
type CodeActionClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
CodeActionLiteralSupport *struct {
CodeActionKind struct {
ValueSet []CodeActionKind `json:"valueSet"`
} `json:"codeActionKind"`
} `json:"codeActionLiteralSupport,omitempty"`
IsPreferredSupport bool `json:"isPreferredSupport,omitempty"`
DisabledSupport bool `json:"disabledSupport,omitempty"`
DataSupport bool `json:"dataSupport,omitempty"`
ResolveSupport *struct {
Properties []string `json:"properties"`
} `json:"resolveSupport,omitempty"`
HonorsChangeAnnotations bool `json:"honorsChangeAnnotations,omitempty"`
}
CodeActionClientCapabilities describes code action capabilities.
type CodeActionContext ¶
type CodeActionContext struct {
Diagnostics []Diagnostic `json:"diagnostics"`
Only []CodeActionKind `json:"only,omitempty"`
}
CodeActionContext contains additional diagnostic information.
type CodeActionKind ¶
type CodeActionKind string
CodeActionKind defines the kind of a code action.
const ( CodeActionKindEmpty CodeActionKind = "" CodeActionKindQuickFix CodeActionKind = "quickfix" CodeActionKindRefactor CodeActionKind = "refactor" CodeActionKindRefactorExtract CodeActionKind = "refactor.extract" CodeActionKindRefactorInline CodeActionKind = "refactor.inline" CodeActionKindRefactorRewrite CodeActionKind = "refactor.rewrite" CodeActionKindSource CodeActionKind = "source" CodeActionKindSourceOrganizeImports CodeActionKind = "source.organizeImports" CodeActionKindSourceFixAll CodeActionKind = "source.fixAll" )
type CodeActionOptions ¶
type CodeActionOptions struct {
CodeActionKinds []CodeActionKind `json:"codeActionKinds,omitempty"`
ResolveProvider bool `json:"resolveProvider,omitempty"`
}
CodeActionOptions describes code action options.
type CodeActionParams ¶
type CodeActionParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
Range Range `json:"range"`
Context CodeActionContext `json:"context"`
}
CodeActionParams for textDocument/codeAction.
type CodeDescription ¶
type CodeDescription struct {
Href string `json:"href"`
}
CodeDescription for diagnostic links.
type CodeLensClientCapabilities ¶
type CodeLensClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
CodeLensClientCapabilities describes code lens capabilities.
type CodeLensOptions ¶
type CodeLensOptions struct {
ResolveProvider bool `json:"resolveProvider,omitempty"`
}
CodeLensOptions describes code lens options.
type Command ¶
type Command struct {
Title string `json:"title"`
Command string `json:"command"`
Arguments []interface{} `json:"arguments,omitempty"`
}
Command represents a reference to a command.
type CompletionClientCapabilities ¶
type CompletionClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
CompletionItem *CompletionItemCapabilities `json:"completionItem,omitempty"`
CompletionItemKind *CompletionItemKindCapability `json:"completionItemKind,omitempty"`
ContextSupport bool `json:"contextSupport,omitempty"`
}
CompletionClientCapabilities describes completion capabilities.
type CompletionContext ¶
type CompletionContext struct {
TriggerKind CompletionTriggerKind `json:"triggerKind"`
TriggerCharacter string `json:"triggerCharacter,omitempty"`
}
CompletionContext contains additional completion information.
type CompletionItem ¶
type CompletionItem struct {
Label string `json:"label"`
Kind CompletionItemKind `json:"kind,omitempty"`
Tags []CompletionItemTag `json:"tags,omitempty"`
Detail string `json:"detail,omitempty"`
Documentation interface{} `json:"documentation,omitempty"`
Deprecated bool `json:"deprecated,omitempty"`
Preselect bool `json:"preselect,omitempty"`
SortText string `json:"sortText,omitempty"`
FilterText string `json:"filterText,omitempty"`
InsertText string `json:"insertText,omitempty"`
InsertTextFormat InsertTextFormat `json:"insertTextFormat,omitempty"`
InsertTextMode InsertTextMode `json:"insertTextMode,omitempty"`
TextEdit *TextEdit `json:"textEdit,omitempty"`
AdditionalTextEdits []TextEdit `json:"additionalTextEdits,omitempty"`
CommitCharacters []string `json:"commitCharacters,omitempty"`
Command *Command `json:"command,omitempty"`
Data interface{} `json:"data,omitempty"`
}
CompletionItem represents a completion item.
type CompletionItemCapabilities ¶
type CompletionItemCapabilities struct {
SnippetSupport bool `json:"snippetSupport,omitempty"`
CommitCharactersSupport bool `json:"commitCharactersSupport,omitempty"`
DocumentationFormat []string `json:"documentationFormat,omitempty"`
DeprecatedSupport bool `json:"deprecatedSupport,omitempty"`
PreselectSupport bool `json:"preselectSupport,omitempty"`
TagSupport *struct {
ValueSet []CompletionItemTag `json:"valueSet"`
} `json:"tagSupport,omitempty"`
InsertReplaceSupport bool `json:"insertReplaceSupport,omitempty"`
ResolveSupport *struct {
Properties []string `json:"properties"`
} `json:"resolveSupport,omitempty"`
InsertTextModeSupport *struct {
ValueSet []InsertTextMode `json:"valueSet"`
} `json:"insertTextModeSupport,omitempty"`
}
CompletionItemCapabilities describes completion item capabilities.
type CompletionItemKind ¶
type CompletionItemKind int
CompletionItemKind represents the kind of a completion entry.
const ( CompletionItemKindText CompletionItemKind = 1 CompletionItemKindMethod CompletionItemKind = 2 CompletionItemKindFunction CompletionItemKind = 3 CompletionItemKindConstructor CompletionItemKind = 4 CompletionItemKindField CompletionItemKind = 5 CompletionItemKindVariable CompletionItemKind = 6 CompletionItemKindClass CompletionItemKind = 7 CompletionItemKindInterface CompletionItemKind = 8 CompletionItemKindModule CompletionItemKind = 9 CompletionItemKindProperty CompletionItemKind = 10 CompletionItemKindUnit CompletionItemKind = 11 CompletionItemKindValue CompletionItemKind = 12 CompletionItemKindEnum CompletionItemKind = 13 CompletionItemKindKeyword CompletionItemKind = 14 CompletionItemKindSnippet CompletionItemKind = 15 CompletionItemKindColor CompletionItemKind = 16 CompletionItemKindFile CompletionItemKind = 17 CompletionItemKindReference CompletionItemKind = 18 CompletionItemKindFolder CompletionItemKind = 19 CompletionItemKindEnumMember CompletionItemKind = 20 CompletionItemKindConstant CompletionItemKind = 21 CompletionItemKindStruct CompletionItemKind = 22 CompletionItemKindEvent CompletionItemKind = 23 CompletionItemKindOperator CompletionItemKind = 24 CompletionItemKindTypeParameter CompletionItemKind = 25 )
type CompletionItemKindCapability ¶
type CompletionItemKindCapability struct {
ValueSet []CompletionItemKind `json:"valueSet,omitempty"`
}
CompletionItemKindCapability describes completion item kind capability.
type CompletionItemTag ¶
type CompletionItemTag int
CompletionItemTag for extra completion info.
const (
CompletionItemTagDeprecated CompletionItemTag = 1
)
type CompletionList ¶
type CompletionList struct {
IsIncomplete bool `json:"isIncomplete"`
Items []CompletionItem `json:"items"`
}
CompletionList represents a list of completion items.
type CompletionOptions ¶
type CompletionOptions struct {
TriggerCharacters []string `json:"triggerCharacters,omitempty"`
AllCommitCharacters []string `json:"allCommitCharacters,omitempty"`
ResolveProvider bool `json:"resolveProvider,omitempty"`
}
CompletionOptions describes completion provider options.
type CompletionParams ¶
type CompletionParams struct {
TextDocumentPositionParams
Context *CompletionContext `json:"context,omitempty"`
}
CompletionParams for textDocument/completion.
type CompletionTriggerKind ¶
type CompletionTriggerKind int
CompletionTriggerKind describes how a completion was triggered.
const ( CompletionTriggerKindInvoked CompletionTriggerKind = 1 CompletionTriggerKindTriggerCharacter CompletionTriggerKind = 2 CompletionTriggerKindTriggerForIncompleteCompletions CompletionTriggerKind = 3 )
type DeclarationClientCapabilities ¶
type DeclarationClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
LinkSupport bool `json:"linkSupport,omitempty"`
}
DeclarationClientCapabilities describes declaration capabilities.
type DefinitionClientCapabilities ¶
type DefinitionClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
LinkSupport bool `json:"linkSupport,omitempty"`
}
DefinitionClientCapabilities describes definition capabilities.
type Diagnostic ¶
type Diagnostic struct {
Range Range `json:"range"`
Severity DiagnosticSeverity `json:"severity,omitempty"`
Code interface{} `json:"code,omitempty"`
CodeDescription *CodeDescription `json:"codeDescription,omitempty"`
Source string `json:"source,omitempty"`
Message string `json:"message"`
Tags []DiagnosticTag `json:"tags,omitempty"`
RelatedInformation []DiagnosticRelatedInformation `json:"relatedInformation,omitempty"`
}
Diagnostic represents a diagnostic message.
type DiagnosticRelatedInformation ¶
type DiagnosticRelatedInformation struct {
Location Location `json:"location"`
Message string `json:"message"`
}
DiagnosticRelatedInformation provides related diagnostic info.
type DiagnosticSeverity ¶
type DiagnosticSeverity int
DiagnosticSeverity represents diagnostic severity.
const ( SeverityError DiagnosticSeverity = 1 SeverityWarning DiagnosticSeverity = 2 SeverityInformation DiagnosticSeverity = 3 SeverityHint DiagnosticSeverity = 4 )
type DiagnosticTag ¶
type DiagnosticTag int
DiagnosticTag for extra diagnostic info.
const ( DiagnosticTagUnnecessary DiagnosticTag = 1 DiagnosticTagDeprecated DiagnosticTag = 2 )
type DidChangeConfigurationCapability ¶
type DidChangeConfigurationCapability struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
DidChangeConfigurationCapability describes didChangeConfiguration capability.
type DidChangeConfigurationParams ¶
type DidChangeConfigurationParams struct {
Settings interface{} `json:"settings"`
}
DidChangeConfigurationParams for workspace/didChangeConfiguration.
type DidChangeTextDocumentParams ¶
type DidChangeTextDocumentParams struct {
TextDocument VersionedTextDocumentIdentifier `json:"textDocument"`
ContentChanges []TextDocumentContentChangeEvent `json:"contentChanges"`
}
DidChangeTextDocumentParams for textDocument/didChange.
type DidChangeWatchedFilesCapability ¶
type DidChangeWatchedFilesCapability struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
DidChangeWatchedFilesCapability describes didChangeWatchedFiles capability.
type DidChangeWatchedFilesParams ¶
type DidChangeWatchedFilesParams struct {
Changes []FileEvent `json:"changes"`
}
DidChangeWatchedFilesParams for workspace/didChangeWatchedFiles.
type DidCloseTextDocumentParams ¶
type DidCloseTextDocumentParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
}
DidCloseTextDocumentParams for textDocument/didClose.
type DidOpenTextDocumentParams ¶
type DidOpenTextDocumentParams struct {
TextDocument TextDocumentItem `json:"textDocument"`
}
DidOpenTextDocumentParams for textDocument/didOpen.
type DidSaveTextDocumentParams ¶
type DidSaveTextDocumentParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
Text *string `json:"text,omitempty"`
}
DidSaveTextDocumentParams for textDocument/didSave.
type Document ¶
type Document struct {
URI DocumentURI
LanguageID string
Version int
Content string
Lines []string
}
Document represents an open document.
func NewDocument ¶
func NewDocument(uri DocumentURI, content string) *Document
NewDocument creates a new document with the given URI and content.
type DocumentColorClientCapabilities ¶
type DocumentColorClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
DocumentColorClientCapabilities describes document color capabilities.
type DocumentFormattingClientCapabilities ¶
type DocumentFormattingClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
DocumentFormattingClientCapabilities describes document formatting capabilities.
type DocumentFormattingParams ¶
type DocumentFormattingParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
Options FormattingOptions `json:"options"`
}
DocumentFormattingParams for textDocument/formatting.
type DocumentHighlight ¶
type DocumentHighlight struct {
Range Range `json:"range"`
Kind DocumentHighlightKind `json:"kind,omitempty"`
}
DocumentHighlight represents a document highlight.
type DocumentHighlightClientCapabilities ¶
type DocumentHighlightClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
DocumentHighlightClientCapabilities describes document highlight capabilities.
type DocumentHighlightKind ¶
type DocumentHighlightKind int
DocumentHighlightKind represents document highlight kind.
const ( DocumentHighlightKindText DocumentHighlightKind = 1 DocumentHighlightKindRead DocumentHighlightKind = 2 DocumentHighlightKindWrite DocumentHighlightKind = 3 )
type DocumentLinkClientCapabilities ¶
type DocumentLinkClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
TooltipSupport bool `json:"tooltipSupport,omitempty"`
}
DocumentLinkClientCapabilities describes document link capabilities.
type DocumentLinkOptions ¶
type DocumentLinkOptions struct {
ResolveProvider bool `json:"resolveProvider,omitempty"`
}
DocumentLinkOptions describes document link options.
type DocumentOnTypeFormattingCapabilities ¶
type DocumentOnTypeFormattingCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
DocumentOnTypeFormattingCapabilities describes on type formatting capabilities.
type DocumentOnTypeFormattingOptions ¶
type DocumentOnTypeFormattingOptions struct {
FirstTriggerCharacter string `json:"firstTriggerCharacter"`
MoreTriggerCharacter []string `json:"moreTriggerCharacter,omitempty"`
}
DocumentOnTypeFormattingOptions describes on type formatting options.
type DocumentRangeFormattingCapabilities ¶
type DocumentRangeFormattingCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
DocumentRangeFormattingCapabilities describes range formatting capabilities.
type DocumentSymbol ¶
type DocumentSymbol struct {
Name string `json:"name"`
Detail string `json:"detail,omitempty"`
Kind SymbolKind `json:"kind"`
Tags []SymbolTag `json:"tags,omitempty"`
Deprecated bool `json:"deprecated,omitempty"`
Range Range `json:"range"`
SelectionRange Range `json:"selectionRange"`
Children []DocumentSymbol `json:"children,omitempty"`
}
DocumentSymbol represents programming constructs.
type DocumentSymbolClientCapabilities ¶
type DocumentSymbolClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
SymbolKind *SymbolKindCapability `json:"symbolKind,omitempty"`
HierarchicalDocumentSymbolSupport bool `json:"hierarchicalDocumentSymbolSupport,omitempty"`
TagSupport *SymbolTagCapability `json:"tagSupport,omitempty"`
LabelSupport bool `json:"labelSupport,omitempty"`
}
DocumentSymbolClientCapabilities describes document symbol capabilities.
type DocumentSymbolParams ¶
type DocumentSymbolParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
}
DocumentSymbolParams for textDocument/documentSymbol.
type ExecuteCommandCapability ¶
type ExecuteCommandCapability struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
ExecuteCommandCapability describes execute command capability.
type ExecuteCommandOptions ¶
type ExecuteCommandOptions struct {
Commands []string `json:"commands,omitempty"`
}
ExecuteCommandOptions describes execute command options.
type FileChangeType ¶
type FileChangeType int
FileChangeType describes the type of a file change.
const ( FileChangeTypeCreated FileChangeType = 1 FileChangeTypeChanged FileChangeType = 2 FileChangeTypeDeleted FileChangeType = 3 )
type FileEvent ¶
type FileEvent struct {
URI DocumentURI `json:"uri"`
Type FileChangeType `json:"type"`
}
FileEvent describes a file change event.
type FileOperationFilter ¶
type FileOperationFilter struct {
Scheme string `json:"scheme,omitempty"`
Pattern FileOperationPattern `json:"pattern"`
}
FileOperationFilter describes a file operation filter.
type FileOperationOptions ¶
type FileOperationOptions struct {
DidCreate *FileOperationRegistrationOptions `json:"didCreate,omitempty"`
WillCreate *FileOperationRegistrationOptions `json:"willCreate,omitempty"`
DidRename *FileOperationRegistrationOptions `json:"didRename,omitempty"`
WillRename *FileOperationRegistrationOptions `json:"willRename,omitempty"`
DidDelete *FileOperationRegistrationOptions `json:"didDelete,omitempty"`
WillDelete *FileOperationRegistrationOptions `json:"willDelete,omitempty"`
}
FileOperationOptions describes file operation options.
type FileOperationPattern ¶
type FileOperationPattern struct {
Glob string `json:"glob"`
Matches string `json:"matches,omitempty"`
Options *struct {
IgnoreCase bool `json:"ignoreCase,omitempty"`
} `json:"options,omitempty"`
}
FileOperationPattern describes a file operation pattern.
type FileOperationRegistrationOptions ¶
type FileOperationRegistrationOptions struct {
Filters []FileOperationFilter `json:"filters"`
}
FileOperationRegistrationOptions describes file operation registration.
type FoldingRange ¶
type FoldingRange struct {
StartLine int `json:"startLine"`
StartCharacter *int `json:"startCharacter,omitempty"`
EndLine int `json:"endLine"`
EndCharacter *int `json:"endCharacter,omitempty"`
Kind string `json:"kind,omitempty"`
}
FoldingRange represents a folding range.
type FoldingRangeClientCapabilities ¶
type FoldingRangeClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
RangeLimit int `json:"rangeLimit,omitempty"`
LineFoldingOnly bool `json:"lineFoldingOnly,omitempty"`
}
FoldingRangeClientCapabilities describes folding range capabilities.
type FoldingRangeParams ¶
type FoldingRangeParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
}
FoldingRangeParams for textDocument/foldingRange.
type FormattingOptions ¶
type FormattingOptions struct {
TabSize int `json:"tabSize"`
InsertSpaces bool `json:"insertSpaces"`
TrimTrailingWhitespace bool `json:"trimTrailingWhitespace,omitempty"`
InsertFinalNewline bool `json:"insertFinalNewline,omitempty"`
TrimFinalNewlines bool `json:"trimFinalNewlines,omitempty"`
}
FormattingOptions describes formatting options.
type GeneralClientCapabilities ¶
type GeneralClientCapabilities struct {
StaleRequestSupport *struct {
Cancel bool `json:"cancel"`
RetryOnContentModified []string `json:"retryOnContentModified"`
} `json:"staleRequestSupport,omitempty"`
RegularExpressions *struct {
Engine string `json:"engine"`
Version string `json:"version,omitempty"`
} `json:"regularExpressions,omitempty"`
Markdown *struct {
Parser string `json:"parser"`
Version string `json:"version,omitempty"`
AllowedTags []string `json:"allowedTags,omitempty"`
} `json:"markdown,omitempty"`
}
GeneralClientCapabilities describes general capabilities.
type Handler ¶
type Handler func(ctx context.Context, params json.RawMessage) (interface{}, error)
Handler is a function that handles an LSP request.
type Hover ¶
type Hover struct {
Contents MarkupContent `json:"contents"`
Range *Range `json:"range,omitempty"`
}
Hover represents hover information.
type HoverClientCapabilities ¶
type HoverClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
ContentFormat []MarkupKind `json:"contentFormat,omitempty"`
}
HoverClientCapabilities describes hover capabilities.
type ImplementationClientCapabilities ¶
type ImplementationClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
LinkSupport bool `json:"linkSupport,omitempty"`
}
ImplementationClientCapabilities describes implementation capabilities.
type InitializeParams ¶
type InitializeParams struct {
ProcessID *int `json:"processId"`
ClientInfo *ClientInfo `json:"clientInfo,omitempty"`
Locale string `json:"locale,omitempty"`
RootPath *string `json:"rootPath,omitempty"`
RootURI DocumentURI `json:"rootUri"`
InitializationOptions interface{} `json:"initializationOptions,omitempty"`
Capabilities ClientCapabilities `json:"capabilities"`
Trace string `json:"trace,omitempty"`
WorkspaceFolders []WorkspaceFolder `json:"workspaceFolders,omitempty"`
}
InitializeParams for initialize request.
type InitializeResult ¶
type InitializeResult struct {
Capabilities ServerCapabilities `json:"capabilities"`
ServerInfo *ServerInfo `json:"serverInfo,omitempty"`
}
InitializeResult is the result of the initialize request.
type InsertTextFormat ¶
type InsertTextFormat int
InsertTextFormat defines insertion format.
const ( InsertTextFormatPlainText InsertTextFormat = 1 InsertTextFormatSnippet InsertTextFormat = 2 )
type InsertTextMode ¶
type InsertTextMode int
InsertTextMode defines insertion mode.
const ( InsertTextModeAsIs InsertTextMode = 1 InsertTextModeAdjustIndentation InsertTextMode = 2 )
type Location ¶
type Location struct {
URI DocumentURI `json:"uri"`
Range Range `json:"range"`
}
Location represents a location inside a resource.
type MarkupContent ¶
type MarkupContent struct {
Kind MarkupKind `json:"kind"`
Value string `json:"value"`
}
MarkupContent represents a string value as markup content.
type MarkupKind ¶
type MarkupKind string
MarkupKind describes the markup format.
const ( MarkupKindPlainText MarkupKind = "plaintext" MarkupKindMarkdown MarkupKind = "markdown" )
type Message ¶
type Message interface {
// contains filtered or unexported methods
}
Message is the base interface for all LSP messages.
type NotificationMessage ¶
type NotificationMessage struct {
JSONRPC string `json:"jsonrpc"`
Method string `json:"method"`
Params json.RawMessage `json:"params,omitempty"`
}
NotificationMessage represents an LSP notification.
type ParameterInformation ¶
type ParameterInformation struct {
Label interface{} `json:"label"`
Documentation interface{} `json:"documentation,omitempty"`
}
ParameterInformation represents a parameter of a callable-signature.
type PermissionAnnotationInfo ¶
PermissionAnnotationInfo describes a Buffalo permission annotation.
type PrepareRenameParams ¶
type PrepareRenameParams struct {
TextDocumentPositionParams
}
PrepareRenameParams for textDocument/prepareRename.
type PrepareRenameResult ¶
type PrepareRenameResult struct {
Range Range `json:"range"`
Placeholder string `json:"placeholder"`
}
PrepareRenameResult is the result of prepareRename.
type ProtoAnalyzer ¶
type ProtoAnalyzer struct {
// contains filtered or unexported fields
}
ProtoAnalyzer provides proto file analysis for LSP.
func NewProtoAnalyzer ¶
func NewProtoAnalyzer(log *logger.Logger) *ProtoAnalyzer
NewProtoAnalyzer creates a new proto analyzer.
func (*ProtoAnalyzer) Analyze ¶
func (a *ProtoAnalyzer) Analyze(doc *Document) []Diagnostic
Analyze analyzes a document and returns diagnostics.
func (*ProtoAnalyzer) CodeActions ¶
func (a *ProtoAnalyzer) CodeActions(doc *Document, rng Range, ctx CodeActionContext) []CodeAction
CodeActions returns available code actions.
func (*ProtoAnalyzer) Complete ¶
func (a *ProtoAnalyzer) Complete(doc *Document, pos Position, ctx *CompletionContext) []CompletionItem
Complete returns completion items for a position.
func (*ProtoAnalyzer) Definition ¶
func (a *ProtoAnalyzer) Definition(doc *Document, pos Position) *Location
Definition returns the definition location for a position.
func (*ProtoAnalyzer) DocumentSymbols ¶
func (a *ProtoAnalyzer) DocumentSymbols(doc *Document) []DocumentSymbol
DocumentSymbols returns document symbols.
func (*ProtoAnalyzer) FoldingRanges ¶
func (a *ProtoAnalyzer) FoldingRanges(doc *Document) []FoldingRange
FoldingRanges returns folding ranges.
func (*ProtoAnalyzer) Format ¶
func (a *ProtoAnalyzer) Format(doc *Document, opts FormattingOptions) []TextEdit
Format formats a document.
func (*ProtoAnalyzer) GetEmbeddedProto ¶
func (a *ProtoAnalyzer) GetEmbeddedProto(importPath string) (string, bool)
GetEmbeddedProto returns content of an embedded proto file.
func (*ProtoAnalyzer) Hover ¶
func (a *ProtoAnalyzer) Hover(doc *Document, pos Position) *Hover
Hover returns hover information for a position.
func (*ProtoAnalyzer) ListEmbeddedProtos ¶
func (a *ProtoAnalyzer) ListEmbeddedProtos() []string
ListEmbeddedProtos returns all embedded proto file paths.
func (*ProtoAnalyzer) PrepareRename ¶
func (a *ProtoAnalyzer) PrepareRename(doc *Document, pos Position) *PrepareRenameResult
PrepareRename checks if rename is possible.
func (*ProtoAnalyzer) References ¶
func (a *ProtoAnalyzer) References(doc *Document, pos Position, docs []*Document, includeDeclaration bool) []Location
References returns all references to a symbol.
func (*ProtoAnalyzer) Rename ¶
func (a *ProtoAnalyzer) Rename(doc *Document, pos Position, newName string, docs []*Document) *WorkspaceEdit
Rename renames a symbol.
func (*ProtoAnalyzer) ResolveCompletion ¶
func (a *ProtoAnalyzer) ResolveCompletion(item CompletionItem) CompletionItem
ResolveCompletion adds documentation to a completion item.
func (*ProtoAnalyzer) SemanticTokens ¶
func (a *ProtoAnalyzer) SemanticTokens(doc *Document) *SemanticTokens
SemanticTokens returns semantic tokens.
func (*ProtoAnalyzer) SyntaxDiagnostics ¶ added in v1.11.1
func (a *ProtoAnalyzer) SyntaxDiagnostics(doc *Document) []Diagnostic
SyntaxDiagnostics performs deep syntax analysis on a proto document. This complements the existing Analyze method with more detailed syntax checks.
type ProtoSymbol ¶
type ProtoSymbol struct {
Name string
Kind SymbolKind
Range Range
Children []ProtoSymbol
Type string // For fields: the field type
Documentation string
}
ProtoSymbol represents a symbol in a proto file.
type PublishDiagnosticsClientCapabilities ¶
type PublishDiagnosticsClientCapabilities struct {
RelatedInformation bool `json:"relatedInformation,omitempty"`
TagSupport *struct {
ValueSet []DiagnosticTag `json:"valueSet"`
} `json:"tagSupport,omitempty"`
VersionSupport bool `json:"versionSupport,omitempty"`
CodeDescriptionSupport bool `json:"codeDescriptionSupport,omitempty"`
DataSupport bool `json:"dataSupport,omitempty"`
}
PublishDiagnosticsClientCapabilities describes diagnostics capabilities.
type PublishDiagnosticsParams ¶
type PublishDiagnosticsParams struct {
URI DocumentURI `json:"uri"`
Version *int `json:"version,omitempty"`
Diagnostics []Diagnostic `json:"diagnostics"`
}
PublishDiagnosticsParams for textDocument/publishDiagnostics.
type ReferenceClientCapabilities ¶
type ReferenceClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
ReferenceClientCapabilities describes reference capabilities.
type ReferenceContext ¶
type ReferenceContext struct {
IncludeDeclaration bool `json:"includeDeclaration"`
}
ReferenceContext contains additional reference information.
type ReferenceParams ¶
type ReferenceParams struct {
TextDocumentPositionParams
Context ReferenceContext `json:"context"`
}
ReferenceParams for textDocument/references.
type RenameClientCapabilities ¶
type RenameClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
PrepareSupport bool `json:"prepareSupport,omitempty"`
PrepareSupportDefaultBehavior int `json:"prepareSupportDefaultBehavior,omitempty"`
HonorsChangeAnnotations bool `json:"honorsChangeAnnotations,omitempty"`
}
RenameClientCapabilities describes rename capabilities.
type RenameOptions ¶
type RenameOptions struct {
PrepareProvider bool `json:"prepareProvider,omitempty"`
}
RenameOptions describes rename options.
type RenameParams ¶
type RenameParams struct {
TextDocumentPositionParams
NewName string `json:"newName"`
}
RenameParams for textDocument/rename.
type RequestMessage ¶
type RequestMessage struct {
JSONRPC string `json:"jsonrpc"`
ID interface{} `json:"id"`
Method string `json:"method"`
Params json.RawMessage `json:"params,omitempty"`
}
RequestMessage represents an LSP request.
type ResponseError ¶
type ResponseError struct {
Code int `json:"code"`
Message string `json:"message"`
Data interface{} `json:"data,omitempty"`
}
ResponseError represents an error response.
type ResponseMessage ¶
type ResponseMessage struct {
JSONRPC string `json:"jsonrpc"`
ID interface{} `json:"id"`
Result interface{} `json:"result,omitempty"`
Error *ResponseError `json:"error,omitempty"`
}
ResponseMessage represents an LSP response.
type SaveOptions ¶
type SaveOptions struct {
IncludeText bool `json:"includeText,omitempty"`
}
SaveOptions describes save options.
type SelectionRangeClientCapabilities ¶
type SelectionRangeClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
SelectionRangeClientCapabilities describes selection range capabilities.
type SemanticTokens ¶
SemanticTokens represents semantic tokens.
type SemanticTokensClientCapabilities ¶
type SemanticTokensClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
Requests interface{} `json:"requests,omitempty"`
TokenTypes []string `json:"tokenTypes,omitempty"`
TokenModifiers []string `json:"tokenModifiers,omitempty"`
Formats []string `json:"formats,omitempty"`
OverlappingTokenSupport bool `json:"overlappingTokenSupport,omitempty"`
MultilineTokenSupport bool `json:"multilineTokenSupport,omitempty"`
}
SemanticTokensClientCapabilities describes semantic tokens capabilities.
type SemanticTokensLegend ¶
type SemanticTokensLegend struct {
TokenTypes []string `json:"tokenTypes"`
TokenModifiers []string `json:"tokenModifiers"`
}
SemanticTokensLegend describes semantic token types and modifiers.
type SemanticTokensOptions ¶
type SemanticTokensOptions struct {
Legend SemanticTokensLegend `json:"legend"`
Range bool `json:"range,omitempty"`
Full interface{} `json:"full,omitempty"`
}
SemanticTokensOptions describes semantic tokens options.
type SemanticTokensParams ¶
type SemanticTokensParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
}
SemanticTokensParams for textDocument/semanticTokens/full.
type SemanticTokensWorkspaceCapability ¶
type SemanticTokensWorkspaceCapability struct {
RefreshSupport bool `json:"refreshSupport,omitempty"`
}
SemanticTokensWorkspaceCapability describes semantic tokens workspace capability.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is the LSP server for Buffalo.
func (*Server) ServeStdio ¶
ServeStdio starts the server on stdin/stdout.
type ServerCapabilities ¶
type ServerCapabilities struct {
TextDocumentSync interface{} `json:"textDocumentSync,omitempty"`
CompletionProvider *CompletionOptions `json:"completionProvider,omitempty"`
HoverProvider interface{} `json:"hoverProvider,omitempty"`
SignatureHelpProvider *SignatureHelpOptions `json:"signatureHelpProvider,omitempty"`
DeclarationProvider interface{} `json:"declarationProvider,omitempty"`
DefinitionProvider interface{} `json:"definitionProvider,omitempty"`
TypeDefinitionProvider interface{} `json:"typeDefinitionProvider,omitempty"`
ImplementationProvider interface{} `json:"implementationProvider,omitempty"`
ReferencesProvider interface{} `json:"referencesProvider,omitempty"`
DocumentHighlightProvider interface{} `json:"documentHighlightProvider,omitempty"`
DocumentSymbolProvider interface{} `json:"documentSymbolProvider,omitempty"`
CodeActionProvider interface{} `json:"codeActionProvider,omitempty"`
CodeLensProvider *CodeLensOptions `json:"codeLensProvider,omitempty"`
DocumentLinkProvider *DocumentLinkOptions `json:"documentLinkProvider,omitempty"`
ColorProvider interface{} `json:"colorProvider,omitempty"`
DocumentFormattingProvider interface{} `json:"documentFormattingProvider,omitempty"`
DocumentRangeFormattingProvider interface{} `json:"documentRangeFormattingProvider,omitempty"`
DocumentOnTypeFormattingProvider *DocumentOnTypeFormattingOptions `json:"documentOnTypeFormattingProvider,omitempty"`
RenameProvider interface{} `json:"renameProvider,omitempty"`
FoldingRangeProvider interface{} `json:"foldingRangeProvider,omitempty"`
ExecuteCommandProvider *ExecuteCommandOptions `json:"executeCommandProvider,omitempty"`
SelectionRangeProvider interface{} `json:"selectionRangeProvider,omitempty"`
WorkspaceSymbolProvider interface{} `json:"workspaceSymbolProvider,omitempty"`
Workspace *ServerWorkspaceCapabilities `json:"workspace,omitempty"`
SemanticTokensProvider interface{} `json:"semanticTokensProvider,omitempty"`
Experimental interface{} `json:"experimental,omitempty"`
}
ServerCapabilities describes server capabilities.
type ServerInfo ¶
ServerInfo describes the server.
type ServerWorkspaceCapabilities ¶
type ServerWorkspaceCapabilities struct {
WorkspaceFolders *WorkspaceFoldersServerCapabilities `json:"workspaceFolders,omitempty"`
FileOperations *FileOperationOptions `json:"fileOperations,omitempty"`
}
ServerWorkspaceCapabilities describes server workspace capabilities.
type SignatureHelp ¶
type SignatureHelp struct {
Signatures []SignatureInformation `json:"signatures"`
ActiveSignature *int `json:"activeSignature,omitempty"`
ActiveParameter *int `json:"activeParameter,omitempty"`
}
SignatureHelp represents signature information.
type SignatureHelpClientCapabilities ¶
type SignatureHelpClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
SignatureInformation *struct {
DocumentationFormat []MarkupKind `json:"documentationFormat,omitempty"`
ParameterInformation *struct {
LabelOffsetSupport bool `json:"labelOffsetSupport,omitempty"`
} `json:"parameterInformation,omitempty"`
ActiveParameterSupport bool `json:"activeParameterSupport,omitempty"`
} `json:"signatureInformation,omitempty"`
ContextSupport bool `json:"contextSupport,omitempty"`
}
SignatureHelpClientCapabilities describes signature help capabilities.
type SignatureHelpOptions ¶
type SignatureHelpOptions struct {
TriggerCharacters []string `json:"triggerCharacters,omitempty"`
RetriggerCharacters []string `json:"retriggerCharacters,omitempty"`
}
SignatureHelpOptions describes signature help options.
type SignatureInformation ¶
type SignatureInformation struct {
Label string `json:"label"`
Documentation interface{} `json:"documentation,omitempty"`
Parameters []ParameterInformation `json:"parameters,omitempty"`
ActiveParameter *int `json:"activeParameter,omitempty"`
}
SignatureInformation represents the signature of something callable.
type SymbolKind ¶
type SymbolKind int
SymbolKind represents a symbol kind.
const ( SymbolKindFile SymbolKind = 1 SymbolKindModule SymbolKind = 2 SymbolKindNamespace SymbolKind = 3 SymbolKindPackage SymbolKind = 4 SymbolKindClass SymbolKind = 5 SymbolKindMethod SymbolKind = 6 SymbolKindProperty SymbolKind = 7 SymbolKindField SymbolKind = 8 SymbolKindConstructor SymbolKind = 9 SymbolKindEnum SymbolKind = 10 SymbolKindInterface SymbolKind = 11 SymbolKindFunction SymbolKind = 12 SymbolKindVariable SymbolKind = 13 SymbolKindConstant SymbolKind = 14 SymbolKindString SymbolKind = 15 SymbolKindNumber SymbolKind = 16 SymbolKindBoolean SymbolKind = 17 SymbolKindArray SymbolKind = 18 SymbolKindObject SymbolKind = 19 SymbolKindKey SymbolKind = 20 SymbolKindNull SymbolKind = 21 SymbolKindEnumMember SymbolKind = 22 SymbolKindStruct SymbolKind = 23 SymbolKindEvent SymbolKind = 24 SymbolKindOperator SymbolKind = 25 SymbolKindTypeParameter SymbolKind = 26 )
type SymbolKindCapability ¶
type SymbolKindCapability struct {
ValueSet []SymbolKind `json:"valueSet,omitempty"`
}
SymbolKindCapability describes symbol kind capability.
type SymbolTag ¶
type SymbolTag int
SymbolTag represents extra symbol info.
const (
SymbolTagDeprecated SymbolTag = 1
)
type SymbolTagCapability ¶
type SymbolTagCapability struct {
ValueSet []SymbolTag `json:"valueSet,omitempty"`
}
SymbolTagCapability describes symbol tag capability.
type TextDocumentClientCapabilities ¶
type TextDocumentClientCapabilities struct {
Synchronization *TextDocumentSyncClientCapabilities `json:"synchronization,omitempty"`
Completion *CompletionClientCapabilities `json:"completion,omitempty"`
Hover *HoverClientCapabilities `json:"hover,omitempty"`
SignatureHelp *SignatureHelpClientCapabilities `json:"signatureHelp,omitempty"`
Declaration *DeclarationClientCapabilities `json:"declaration,omitempty"`
Definition *DefinitionClientCapabilities `json:"definition,omitempty"`
TypeDefinition *TypeDefinitionClientCapabilities `json:"typeDefinition,omitempty"`
Implementation *ImplementationClientCapabilities `json:"implementation,omitempty"`
References *ReferenceClientCapabilities `json:"references,omitempty"`
DocumentHighlight *DocumentHighlightClientCapabilities `json:"documentHighlight,omitempty"`
DocumentSymbol *DocumentSymbolClientCapabilities `json:"documentSymbol,omitempty"`
CodeAction *CodeActionClientCapabilities `json:"codeAction,omitempty"`
CodeLens *CodeLensClientCapabilities `json:"codeLens,omitempty"`
DocumentLink *DocumentLinkClientCapabilities `json:"documentLink,omitempty"`
ColorProvider *DocumentColorClientCapabilities `json:"colorProvider,omitempty"`
Formatting *DocumentFormattingClientCapabilities `json:"formatting,omitempty"`
RangeFormatting *DocumentRangeFormattingCapabilities `json:"rangeFormatting,omitempty"`
OnTypeFormatting *DocumentOnTypeFormattingCapabilities `json:"onTypeFormatting,omitempty"`
Rename *RenameClientCapabilities `json:"rename,omitempty"`
PublishDiagnostics *PublishDiagnosticsClientCapabilities `json:"publishDiagnostics,omitempty"`
FoldingRange *FoldingRangeClientCapabilities `json:"foldingRange,omitempty"`
SelectionRange *SelectionRangeClientCapabilities `json:"selectionRange,omitempty"`
SemanticTokens *SemanticTokensClientCapabilities `json:"semanticTokens,omitempty"`
}
TextDocumentClientCapabilities describes text document capabilities.
type TextDocumentContentChangeEvent ¶
type TextDocumentContentChangeEvent struct {
Range *Range `json:"range,omitempty"`
RangeLength int `json:"rangeLength,omitempty"`
Text string `json:"text"`
}
TextDocumentContentChangeEvent describes a change in a text document.
type TextDocumentIdentifier ¶
type TextDocumentIdentifier struct {
URI DocumentURI `json:"uri"`
}
TextDocumentIdentifier identifies a text document.
type TextDocumentItem ¶
type TextDocumentItem struct {
URI DocumentURI `json:"uri"`
LanguageID string `json:"languageId"`
Version int `json:"version"`
Text string `json:"text"`
}
TextDocumentItem is an item to transfer a text document.
type TextDocumentPositionParams ¶
type TextDocumentPositionParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
Position Position `json:"position"`
}
TextDocumentPositionParams is a parameter with text document and position.
type TextDocumentSyncClientCapabilities ¶
type TextDocumentSyncClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
WillSave bool `json:"willSave,omitempty"`
WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
DidSave bool `json:"didSave,omitempty"`
}
TextDocumentSyncClientCapabilities describes synchronization capabilities.
type TextDocumentSyncKind ¶
type TextDocumentSyncKind int
TextDocumentSyncKind defines how the host syncs with the client.
const ( TextDocumentSyncKindNone TextDocumentSyncKind = 0 TextDocumentSyncKindFull TextDocumentSyncKind = 1 TextDocumentSyncKindIncremental TextDocumentSyncKind = 2 )
type TextDocumentSyncOptions ¶
type TextDocumentSyncOptions struct {
OpenClose bool `json:"openClose,omitempty"`
Change TextDocumentSyncKind `json:"change,omitempty"`
WillSave bool `json:"willSave,omitempty"`
WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
Save *SaveOptions `json:"save,omitempty"`
}
TextDocumentSyncOptions describes text document sync options.
type TypeDefinitionClientCapabilities ¶
type TypeDefinitionClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
LinkSupport bool `json:"linkSupport,omitempty"`
}
TypeDefinitionClientCapabilities describes type definition capabilities.
type ValidationRuleInfo ¶
type ValidationRuleInfo struct {
Name string
Type string // string, int32, double, etc.
Description string
Example string
}
ValidationRuleInfo describes a Buffalo validation rule.
type VersionedTextDocumentIdentifier ¶
type VersionedTextDocumentIdentifier struct {
TextDocumentIdentifier
Version int `json:"version"`
}
VersionedTextDocumentIdentifier identifies a versioned text document.
type WindowClientCapabilities ¶
type WindowClientCapabilities struct {
WorkDoneProgress bool `json:"workDoneProgress,omitempty"`
ShowMessage *struct {
MessageActionItem *struct {
AdditionalPropertiesSupport bool `json:"additionalPropertiesSupport,omitempty"`
} `json:"messageActionItem,omitempty"`
} `json:"showMessage,omitempty"`
ShowDocument *struct {
Support bool `json:"support,omitempty"`
} `json:"showDocument,omitempty"`
}
WindowClientCapabilities describes window capabilities.
type WorkspaceClientCapabilities ¶
type WorkspaceClientCapabilities struct {
ApplyEdit bool `json:"applyEdit,omitempty"`
WorkspaceEdit *WorkspaceEditClientCapabilities `json:"workspaceEdit,omitempty"`
DidChangeConfiguration *DidChangeConfigurationCapability `json:"didChangeConfiguration,omitempty"`
DidChangeWatchedFiles *DidChangeWatchedFilesCapability `json:"didChangeWatchedFiles,omitempty"`
Symbol *WorkspaceSymbolCapability `json:"symbol,omitempty"`
ExecuteCommand *ExecuteCommandCapability `json:"executeCommand,omitempty"`
WorkspaceFolders bool `json:"workspaceFolders,omitempty"`
Configuration bool `json:"configuration,omitempty"`
SemanticTokens *SemanticTokensWorkspaceCapability `json:"semanticTokens,omitempty"`
}
WorkspaceClientCapabilities describes workspace capabilities.
type WorkspaceEdit ¶
type WorkspaceEdit struct {
Changes map[DocumentURI][]TextEdit `json:"changes,omitempty"`
}
WorkspaceEdit represents changes to workspace resources.
type WorkspaceEditClientCapabilities ¶
type WorkspaceEditClientCapabilities struct {
DocumentChanges bool `json:"documentChanges,omitempty"`
ResourceOperations []string `json:"resourceOperations,omitempty"`
FailureHandling string `json:"failureHandling,omitempty"`
NormalizesLineEndings bool `json:"normalizesLineEndings,omitempty"`
}
WorkspaceEditClientCapabilities describes workspace edit capabilities.
type WorkspaceFolder ¶
type WorkspaceFolder struct {
URI DocumentURI `json:"uri"`
Name string `json:"name"`
}
WorkspaceFolder represents a workspace folder.
type WorkspaceFoldersServerCapabilities ¶
type WorkspaceFoldersServerCapabilities struct {
Supported bool `json:"supported,omitempty"`
ChangeNotifications interface{} `json:"changeNotifications,omitempty"`
}
WorkspaceFoldersServerCapabilities describes workspace folders capabilities.
type WorkspaceSymbolCapability ¶
type WorkspaceSymbolCapability struct {
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
SymbolKind *SymbolKindCapability `json:"symbolKind,omitempty"`
TagSupport *SymbolTagCapability `json:"tagSupport,omitempty"`
}
WorkspaceSymbolCapability describes workspace symbol capability.