Documentation
¶
Index ¶
- Constants
- func ExtractJavaMethodName(fullSignature string) string
- func LastSegment(name string) string
- func LocationToKey(loc *Location) string
- func MapToDocumentSymbolOrSymbolInformation(data map[string]interface{}) (interface{}, error)
- func MatchExact(name, nameInFile string) bool
- func MatchIgnoreCase(name, nameInFile string) bool
- func MatchIgnoreCaseLastSegment(name, nameInFile string, delim string) bool
- func MatchLastSegment(name, nameInFile string, delim string) bool
- func RangeInRange(outer, inner Range) bool
- type CallHierarchyClientCapabilities
- type CallHierarchyIncomingCall
- type CallHierarchyIncomingCallsParams
- type CallHierarchyIncomingOrgoingCalls
- type CallHierarchyItem
- type CallHierarchyOutgoingCall
- type CallHierarchyParams
- type ClientCapabilities
- type DefinitionClientCapabilities
- type DefinitionParams
- type DidChangeConfigurationClientCapabilities
- type DidChangeWatchedFilesClientCapabilities
- type DidOpenTextDocumentParams
- type DocumentSymbol
- type DocumentSymbolClientCapabilities
- type DocumentSymbolParams
- type FileHolder
- type Hover
- type HoverClientCapabilities
- type HoverParams
- type InitializeParams
- type InitializeResult
- type JSONRPCMessage
- type LSPClient
- type Location
- type MarkupContent
- type Position
- type RPCError
- type Range
- type ReferenceClientCapabilities
- type ReferenceContext
- type ReferenceParams
- type ServerCapabilities
- type ServerInfo
- type SignatureHelpClientCapabilities
- type SignatureHelpParams
- type SymbolInformation
- type TextDocumentClientCapabilities
- type TextDocumentIdentifier
- type TextDocumentItem
- type TextDocumentPositionParams
- type WorkspaceClientCapabilities
- type WorkspaceEditClientCapabilities
- type WorkspaceSymbolClientCapabilities
- type WorkspaceSymbolParams
Constants ¶
View Source
const ( // list the different symbol kinds SymbolKindFile = 1 SymbolKindModule = 2 SymbolKindNamespace = 3 SymbolKindPackage = 4 SymbolKindClass = 5 SymbolKindMethod = 6 SymbolKindProperty = 7 SymbolKindField = 8 SymbolKindConstructor = 9 SymbolKindEnum = 10 SymbolKindInterface = 11 SymbolKindFunction = 12 SymbolKindVariable = 13 SymbolKindConstant = 14 SymbolKindString = 15 SymbolKindNumber = 16 SymbolKindBoolean = 17 SymbolKindArray = 18 SymbolKindObject = 19 SymbolKindKey = 20 SymbolKindNull = 21 SymbolKindEnumMember = 22 SymbolKindStruct = 23 SymbolKindEvent = 24 SymbolKindOperator = 25 SymbolKindTypeParameter = 26 )
Variables ¶
This section is empty.
Functions ¶
func ExtractJavaMethodName ¶
ExtractJavaMethodName extracts just the method name from a Java LSP signature. Java LSP (Eclipse JDT.LS) returns method names in formats like:
- "findByOwnerId(Long) : List<PetDto>" -> "findByOwnerId"
- "countByType(String) : long" -> "countByType"
- "toString()" -> "toString"
- "simpleMethod" -> "simpleMethod" (no change if no signature)
- "Optional<User> methodName(Long)" -> "methodName" (return type prefix)
func LastSegment ¶
func LocationToKey ¶
func MatchExact ¶
func MatchIgnoreCase ¶
func MatchLastSegment ¶
func RangeInRange ¶
Types ¶
type CallHierarchyIncomingCall ¶
type CallHierarchyIncomingCall struct {
From CallHierarchyItem `json:"from"`
FromRanges []Range `json:"fromRanges"`
}
func MapToCallHierarchyIncomingCall ¶
func MapToCallHierarchyIncomingCall(data map[string]interface{}) (*CallHierarchyIncomingCall, error)
type CallHierarchyIncomingCallsParams ¶
type CallHierarchyIncomingCallsParams struct {
Item CallHierarchyItem `json:"item"`
}
type CallHierarchyIncomingOrgoingCalls ¶
type CallHierarchyIncomingOrgoingCalls struct {
IncomingCalls []CallHierarchyIncomingCall `json:"incomingCalls,omitempty"`
OutgoingCalls []CallHierarchyOutgoingCall `json:"outgoingCalls,omitempty"`
}
type CallHierarchyItem ¶
type CallHierarchyItem struct {
Name string `json:"name"`
Kind int `json:"kind"`
URI string `json:"uri"`
Range Range `json:"range"`
SelectionRange Range `json:"selectionRange"`
}
func MapToCallHierarchyItem ¶
func MapToCallHierarchyItem(data map[string]interface{}) (*CallHierarchyItem, error)
type CallHierarchyOutgoingCall ¶
type CallHierarchyOutgoingCall struct {
To CallHierarchyItem `json:"to"`
FromRanges []Range `json:"FromRanges"`
}
func MapToCallHierarchyOutgoingCall ¶
func MapToCallHierarchyOutgoingCall(data map[string]interface{}) (*CallHierarchyOutgoingCall, error)
type CallHierarchyParams ¶
type CallHierarchyParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
Position Position `json:"position"`
}
type ClientCapabilities ¶
type ClientCapabilities struct {
TextDocument TextDocumentClientCapabilities `json:"textDocument"`
Workspace WorkspaceClientCapabilities `json:"workspace"`
}
type DefinitionParams ¶
type DefinitionParams struct {
TextDocumentPositionParams
}
type DidChangeConfigurationClientCapabilities ¶
type DidChangeConfigurationClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration"`
}
type DidChangeWatchedFilesClientCapabilities ¶
type DidChangeWatchedFilesClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration"`
}
type DidOpenTextDocumentParams ¶
type DidOpenTextDocumentParams struct {
TextDocument TextDocumentItem `json:"textDocument"`
}
type DocumentSymbol ¶
type DocumentSymbol struct {
Name string `json:"name"`
Detail string `json:"detail,omitempty"`
Kind int `json:"kind"`
Range Range `json:"range"`
SelectionRange Range `json:"selectionRange"`
Children []DocumentSymbol `json:"children,omitempty"`
}
func MapToDocumentSymbol ¶
func MapToDocumentSymbol(data map[string]interface{}) (*DocumentSymbol, error)
type DocumentSymbolClientCapabilities ¶
type DocumentSymbolClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration"`
}
type DocumentSymbolParams ¶
type DocumentSymbolParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
}
type FileHolder ¶
type FileHolder struct {
FileURI string
// contains filtered or unexported fields
}
func NewFileHolder ¶
func NewFileHolder(uri string, content string) *FileHolder
func (*FileHolder) FindNameInLine ¶
func (fh *FileHolder) FindNameInLine(lspClient LSPClient, name string, line int) int
func (*FileHolder) FindNameInNextLines ¶
func (fh *FileHolder) FindNameInNextLines(lspClient LSPClient, name string, startLine, n int) (int, int)
FindNameInNextLines searches for a name in the next n lines starting from startLine. Returns (line, character) where the name was found, or (-1, -1) if not found.
func (*FileHolder) GetLine ¶
func (fh *FileHolder) GetLine(line int) string
type Hover ¶
type Hover struct {
Contents interface{} `json:"contents"`
Range *Range `json:"range,omitempty"`
}
type HoverClientCapabilities ¶
type HoverParams ¶
type HoverParams struct {
TextDocumentPositionParams
}
type InitializeParams ¶
type InitializeParams struct {
ProcessID *int `json:"processId"`
RootPath *string `json:"rootPath,omitempty"`
RootURI *string `json:"rootUri,omitempty"`
Capabilities ClientCapabilities `json:"capabilities"`
}
type InitializeResult ¶
type InitializeResult struct {
Capabilities ServerCapabilities `json:"capabilities"`
ServerInfo *ServerInfo `json:"serverInfo,omitempty"`
}
func MapToInitializeResult ¶
func MapToInitializeResult(data map[string]interface{}) (*InitializeResult, error)
type JSONRPCMessage ¶
type LSPClient ¶
type LSPClient interface {
GetRootPath() string
LanguageID(uri string) string
IsExternalModule(uri string) bool
MatchSymbolByName(name, nameInFile string) bool
SymbolPartToMatch(name string) string
Initialize(ctx context.Context) (*InitializeResult, error)
Shutdown(ctx context.Context) error
Close() error
DidOpenFile(ctx context.Context, uri string) error
GetDocumentSymbols(ctx context.Context, uri string) ([]interface{}, error)
GetCallHierarchy(ctx context.Context, uri string, fnName string, position Position, inbound bool) (*CallHierarchyIncomingOrgoingCalls, error)
GetHover(ctx context.Context, uri string, position Position) (*Hover, error)
}
type MarkupContent ¶
type Range ¶
func (*Range) ContainsRange ¶
type ReferenceClientCapabilities ¶
type ReferenceClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration"`
}
type ReferenceContext ¶
type ReferenceContext struct {
IncludeDeclaration bool `json:"includeDeclaration"`
}
type ReferenceParams ¶
type ReferenceParams struct {
TextDocumentPositionParams
Context ReferenceContext `json:"context"`
}
type ServerCapabilities ¶
type ServerCapabilities struct {
Capabilities map[string]interface{} `json:"capabilities"`
// TextDocumentSync TextDocumentSyncOptions `json:"textDocumentSync,omitempty"`
TextDocumentSync interface{} `json:"textDocumentSync,omitempty"`
CompletionProvider interface{} `json:"completionProvider,omitempty"`
HoverProvider bool `json:"hoverProvider,omitempty"`
SignatureHelpProvider interface{} `json:"signatureHelpProvider,omitempty"`
DefinitionProvider bool `json:"definitionProvider,omitempty"`
ReferencesProvider bool `json:"referencesProvider,omitempty"`
DocumentSymbolProvider bool `json:"documentSymbolProvider,omitempty"`
WorkspaceSymbolProvider bool `json:"workspaceSymbolProvider,omitempty"`
CallHierarchyProvider bool `json:"callHierarchyProvider,omitempty"`
ExecuteCommandProvider interface{} `json:"executeCommandProvider,omitempty"`
Workspace interface{} `json:"workspace,omitempty"`
}
type ServerInfo ¶
type SignatureHelpClientCapabilities ¶
type SignatureHelpClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration"`
}
type SignatureHelpParams ¶
type SignatureHelpParams struct {
TextDocumentPositionParams
}
type SymbolInformation ¶
type SymbolInformation struct {
Name string `json:"name"`
Kind int `json:"kind"`
Location Location `json:"location"`
}
func MapToSymbolInformation ¶
func MapToSymbolInformation(data map[string]interface{}) (*SymbolInformation, error)
type TextDocumentClientCapabilities ¶
type TextDocumentClientCapabilities struct {
DocumentSymbol DocumentSymbolClientCapabilities `json:"documentSymbol"`
Hover HoverClientCapabilities `json:"hover"`
SignatureHelp SignatureHelpClientCapabilities `json:"signatureHelp"`
Definition DefinitionClientCapabilities `json:"definition"`
References ReferenceClientCapabilities `json:"references"`
CallHierarchy CallHierarchyClientCapabilities `json:"callHierarchy"`
}
type TextDocumentIdentifier ¶
type TextDocumentIdentifier struct {
URI string `json:"uri"`
}
type TextDocumentItem ¶
type TextDocumentPositionParams ¶
type TextDocumentPositionParams struct {
TextDocument TextDocumentIdentifier `json:"textDocument"`
Position Position `json:"position"`
}
type WorkspaceClientCapabilities ¶
type WorkspaceClientCapabilities struct {
ApplyEdit bool `json:"applyEdit"`
WorkspaceEdit WorkspaceEditClientCapabilities `json:"workspaceEdit"`
DidChangeConfiguration DidChangeConfigurationClientCapabilities `json:"didChangeConfiguration"`
DidChangeWatchedFiles DidChangeWatchedFilesClientCapabilities `json:"didChangeWatchedFiles"`
Symbol WorkspaceSymbolClientCapabilities `json:"symbol"`
Configuration bool `json:"configuration"`
}
type WorkspaceSymbolClientCapabilities ¶
type WorkspaceSymbolClientCapabilities struct {
DynamicRegistration bool `json:"dynamicRegistration"`
}
type WorkspaceSymbolParams ¶
type WorkspaceSymbolParams struct {
Query string `json:"query"`
}
Click to show internal directories.
Click to hide internal directories.