lsp

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindRelevantChildNode added in v0.0.6

func FindRelevantChildNode(currentNode *sitter.Node, pointToLookUp sitter.Point) *sitter.Node

func FindRelevantChildNodeCompletion added in v0.0.16

func FindRelevantChildNodeCompletion(currentNode *sitter.Node, pointToLookUp sitter.Point) *sitter.Node

func GetLspRangeForNode added in v0.0.4

func GetLspRangeForNode(node *sitter.Node) lsp.Range

func GetRangeForNode added in v0.0.16

func GetRangeForNode(node *sitter.Node) sitter.Range

func GetSitterPointForLspPos added in v0.0.8

func GetSitterPointForLspPos(pos lsp.Position) sitter.Point

func GetVariableDefinition added in v0.0.6

func GetVariableDefinition(variableName string, node *sitter.Node, template string) *sitter.Node

func IsInElseBranch added in v0.0.8

func IsInElseBranch(node *sitter.Node) bool

func IsYamlDocument added in v0.0.19

func IsYamlDocument(uri lsp.URI, yamllsConfiguration util.YamllsConfiguration) bool

func NestedNodeAtPositionForCompletion added in v0.0.16

func NestedNodeAtPositionForCompletion(tree *sitter.Tree, position lsp.Position) *sitter.Node

func NodeAtPosition added in v0.0.4

func NodeAtPosition(tree *sitter.Tree, position lsp.Position) *sitter.Node

func ParseAst added in v0.0.4

func ParseAst(oldTree *sitter.Tree, content string) *sitter.Tree

func ParseIncludeFunctionCall added in v0.0.16

func ParseIncludeFunctionCall(node *sitter.Node, content []byte) (string, error)

func TrimTemplate added in v0.0.11

func TrimTemplate(gotemplateTree *sitter.Tree, content string) string

TrimTemplate removes all template nodes. This is done by keeping only the text nodes which is easier then removing the template nodes since template nodes could contain other nodes

Types

type DiagnosticsCache added in v0.0.8

type DiagnosticsCache struct {
	YamlDiagnostics []lsp.Diagnostic
	HelmDiagnostics []lsp.Diagnostic
	// contains filtered or unexported fields
}

func NewDiagnosticsCache added in v0.0.8

func NewDiagnosticsCache(helmlsConfig util.HelmlsConfiguration) DiagnosticsCache

func (DiagnosticsCache) GetMergedDiagnostics added in v0.0.8

func (d DiagnosticsCache) GetMergedDiagnostics() (merged []lsp.Diagnostic)

func (*DiagnosticsCache) SetYamlDiagnostics added in v0.0.8

func (d *DiagnosticsCache) SetYamlDiagnostics(diagnostics []lsp.Diagnostic)

func (*DiagnosticsCache) ShouldShowDiagnosticsOnNewYamlDiagnostics added in v0.0.8

func (d *DiagnosticsCache) ShouldShowDiagnosticsOnNewYamlDiagnostics() bool

type Document added in v0.0.5

type Document struct {
	URI                     lsp.DocumentURI
	Path                    string
	NeedsRefreshDiagnostics bool
	Content                 string

	Ast              *sitter.Tree
	DiagnosticsCache DiagnosticsCache
	IsOpen           bool
	SymbolTable      *SymbolTable
	IsYaml           bool
	// contains filtered or unexported fields
}

Document represents an opened file.

func (*Document) ApplyChanges added in v0.0.5

func (d *Document) ApplyChanges(changes []lsp.TextDocumentContentChangeEvent)

ApplyChanges updates the content of the document from LSP textDocument/didChange events.

func (*Document) ApplyChangesToAst added in v0.0.5

func (d *Document) ApplyChangesToAst(newContent string)

func (*Document) GetContent added in v0.1.0

func (d *Document) GetContent() []byte

GetContent implements PossibleDependencyFile.

func (*Document) GetPath added in v0.1.0

func (d *Document) GetPath() string

GetPath implements PossibleDependencyFile.

func (*Document) WordAt added in v0.0.5

func (d *Document) WordAt(pos lsp.Position) string

WordAt returns the word found at the given location.

type DocumentStore

type DocumentStore struct {
	// contains filtered or unexported fields
}

documentStore holds opened documents.

func NewDocumentStore

func NewDocumentStore() *DocumentStore

func (*DocumentStore) DidOpen

func (s *DocumentStore) DidOpen(params *lsp.DidOpenTextDocumentParams, helmlsConfig util.HelmlsConfiguration) (*Document, error)

func (*DocumentStore) Get

func (s *DocumentStore) Get(docuri uri.URI) (*Document, bool)

func (*DocumentStore) GetAllDocs added in v0.0.8

func (s *DocumentStore) GetAllDocs() []*Document

func (*DocumentStore) Store added in v0.0.16

func (s *DocumentStore) Store(filename string, content []byte, helmlsConfig util.HelmlsConfiguration)

type IncludeDefinitionsVisitor added in v0.0.16

type IncludeDefinitionsVisitor struct {
	// contains filtered or unexported fields
}

func NewIncludeDefinitionsVisitor added in v0.0.16

func NewIncludeDefinitionsVisitor(symbolTable *SymbolTable, content []byte) *IncludeDefinitionsVisitor

func (*IncludeDefinitionsVisitor) Enter added in v0.0.16

func (v *IncludeDefinitionsVisitor) Enter(node *sitter.Node)

func (*IncludeDefinitionsVisitor) EnterContextShift added in v0.0.16

func (v *IncludeDefinitionsVisitor) EnterContextShift(_ *sitter.Node, _ string)

func (*IncludeDefinitionsVisitor) Exit added in v0.0.16

func (*IncludeDefinitionsVisitor) ExitContextShift added in v0.0.16

func (v *IncludeDefinitionsVisitor) ExitContextShift(_ *sitter.Node)

type SymbolTable added in v0.0.16

type SymbolTable struct {
	// contains filtered or unexported fields
}

func NewSymbolTable added in v0.0.16

func NewSymbolTable(ast *sitter.Tree, content []byte) *SymbolTable

func (*SymbolTable) AddIncludeDefinition added in v0.0.16

func (s *SymbolTable) AddIncludeDefinition(symbol string, pointRange sitter.Range)

func (*SymbolTable) AddIncludeReference added in v0.0.16

func (s *SymbolTable) AddIncludeReference(symbol string, pointRange sitter.Range)

func (*SymbolTable) AddTemplateContext added in v0.0.16

func (s *SymbolTable) AddTemplateContext(templateContext TemplateContext, pointRange sitter.Range)

func (*SymbolTable) AddVariableDefinition added in v0.0.18

func (s *SymbolTable) AddVariableDefinition(symbol string, variableDefinition VariableDefinition)

func (*SymbolTable) AddVariableUsage added in v0.0.18

func (s *SymbolTable) AddVariableUsage(symbol string, pointRange sitter.Range)

func (*SymbolTable) GetAllIncludeDefinitionsNames added in v0.0.16

func (s *SymbolTable) GetAllIncludeDefinitionsNames() (result []string)

func (*SymbolTable) GetIncludeDefinitions added in v0.0.16

func (s *SymbolTable) GetIncludeDefinitions(symbol string) []sitter.Range

func (*SymbolTable) GetIncludeReference added in v0.0.16

func (s *SymbolTable) GetIncludeReference(symbol string) []sitter.Range

func (*SymbolTable) GetTemplateContext added in v0.0.16

func (s *SymbolTable) GetTemplateContext(pointRange sitter.Range) (TemplateContext, error)

func (*SymbolTable) GetTemplateContextRanges added in v0.0.16

func (s *SymbolTable) GetTemplateContextRanges(templateContext TemplateContext) []sitter.Range

func (*SymbolTable) GetVariableDefinitionForNode added in v0.0.18

func (s *SymbolTable) GetVariableDefinitionForNode(node *sitter.Node, content []byte) (VariableDefinition, error)

func (*SymbolTable) GetVariableReferencesForNode added in v0.0.18

func (s *SymbolTable) GetVariableReferencesForNode(node *sitter.Node, content []byte) (ranges []sitter.Range, err error)

func (*SymbolTable) ResolveVariablesInTemplateContext added in v0.0.18

func (s *SymbolTable) ResolveVariablesInTemplateContext(templateContext TemplateContext, pointRange sitter.Range) (TemplateContext, error)

type TemplateContext added in v0.0.16

type TemplateContext []string

func NewTemplateContext added in v0.0.18

func NewTemplateContext(string string) TemplateContext

func (TemplateContext) AppendSuffix added in v0.0.16

func (t TemplateContext) AppendSuffix(suffix string) TemplateContext

Adds a suffix to the last context

func (TemplateContext) Copy added in v0.0.18

func (TemplateContext) Format added in v0.0.16

func (t TemplateContext) Format() string

func (TemplateContext) IsVariable added in v0.0.16

func (t TemplateContext) IsVariable() bool

func (TemplateContext) Tail added in v0.0.16

Return everything except the first context

type TemplateContextVisitor added in v0.0.16

type TemplateContextVisitor struct {
	// contains filtered or unexported fields
}

func NewTemplateContextVisitor added in v0.0.16

func NewTemplateContextVisitor(symbolTable *SymbolTable, content []byte) *TemplateContextVisitor

func (*TemplateContextVisitor) Enter added in v0.0.16

func (v *TemplateContextVisitor) Enter(node *sitter.Node)

func (*TemplateContextVisitor) EnterContextShift added in v0.0.16

func (v *TemplateContextVisitor) EnterContextShift(node *sitter.Node, suffix string)

func (*TemplateContextVisitor) Exit added in v0.0.16

func (v *TemplateContextVisitor) Exit(node *sitter.Node)

func (*TemplateContextVisitor) ExitContextShift added in v0.0.16

func (v *TemplateContextVisitor) ExitContextShift(node *sitter.Node)

func (*TemplateContextVisitor) PopContext added in v0.0.16

func (v *TemplateContextVisitor) PopContext()

func (*TemplateContextVisitor) PopContextN added in v0.0.16

func (v *TemplateContextVisitor) PopContextN(n int)

func (*TemplateContextVisitor) PushContext added in v0.0.16

func (v *TemplateContextVisitor) PushContext(context string)

func (*TemplateContextVisitor) PushContextMany added in v0.0.16

func (v *TemplateContextVisitor) PushContextMany(context []string)

func (*TemplateContextVisitor) RestoreStashedContext added in v0.0.16

func (v *TemplateContextVisitor) RestoreStashedContext()

func (*TemplateContextVisitor) StashContext added in v0.0.16

func (v *TemplateContextVisitor) StashContext()

type VariableDefinition added in v0.0.18

type VariableDefinition struct {
	Value        string
	VariableType VariableType
	Scope        sitter.Range
	Range        sitter.Range
}

type VariableType added in v0.0.18

type VariableType int64
const (
	VariableTypeAssigment VariableType = iota
	VariableTypeRangeKeyOrIndex
	VariableTypeRangeValue
)

type VariablesVisitor added in v0.0.18

type VariablesVisitor struct {
	// contains filtered or unexported fields
}

func NewVariablesVisitor added in v0.0.18

func NewVariablesVisitor(symbolTable *SymbolTable, content []byte) *VariablesVisitor

func (*VariablesVisitor) Enter added in v0.0.18

func (v *VariablesVisitor) Enter(node *sitter.Node)

func (*VariablesVisitor) EnterContextShift added in v0.0.18

func (v *VariablesVisitor) EnterContextShift(_ *sitter.Node, _ string)

func (*VariablesVisitor) Exit added in v0.0.18

func (v *VariablesVisitor) Exit(node *sitter.Node)

func (*VariablesVisitor) ExitContextShift added in v0.0.18

func (v *VariablesVisitor) ExitContextShift(_ *sitter.Node)

type Visitor added in v0.0.16

type Visitor interface {
	Enter(node *sitter.Node)
	Exit(node *sitter.Node)
	EnterContextShift(node *sitter.Node, suffix string)
	ExitContextShift(node *sitter.Node)
}

type Visitors added in v0.0.16

type Visitors struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL