Documentation
¶
Index ¶
- Constants
- Variables
- func ClientCapabilities(ctx context.Context) (lsp.ClientCapabilities, error)
- func ClientName(ctx context.Context) (string, bool)
- func Command(cmd lang.Command) (lsp.Command, error)
- func ContentChange(chEvent lsp.TextDocumentContentChangeEvent) document.Change
- func ContextWithClientName(ctx context.Context, namePtr *string) context.Context
- func DirHandleFromDirURI(dirUri lsp.DocumentURI) document.DirHandle
- func DocumentChanges(events []lsp.TextDocumentContentChangeEvent) document.Changes
- func DocumentSymbols(sbs []decoder.Symbol, caps lsp.DocumentSymbolClientCapabilities) []lsp.DocumentSymbol
- func HCLDiagsToLSP(hclDiags hcl.Diagnostics, source string) []lsp.Diagnostic
- func HCLPosToLSP(pos hcl.Pos) lsp.Position
- func HCLPositionFromLspPosition(pos lsp.Position, doc *document.Document) (hcl.Pos, error)
- func HCLRangeToLSP(rng hcl.Range) lsp.Range
- func HCLSeverityToLSP(severity hcl.DiagnosticSeverity) lsp.DiagnosticSeverity
- func HandleFromDocumentURI(docUri lsp.DocumentURI) document.Handle
- func HoverData(data *lang.HoverData, cc lsp.TextDocumentClientCapabilities) *lsp.Hover
- func IsValidConfigLanguage(id string) bool
- func IsValidVarsLanguage(id string) bool
- func Links(links []lang.Link, caps *lsp.DocumentLinkClientCapabilities) []lsp.DocumentLink
- func RefOriginsToLocations(origins decoder.ReferenceOrigins) []lsp.Location
- func RefTargetsToDeclarationLocationLinks(targets decoder.ReferenceTargets, declCaps *lsp.DeclarationClientCapabilities) interface{}
- func RefTargetsToDefinitionLocationLinks(targets decoder.ReferenceTargets, defCaps *lsp.DefinitionClientCapabilities) interface{}
- func RefTargetsToLocationLinks(targets decoder.ReferenceTargets, linkSupport bool) interface{}
- func SetClientCapabilities(ctx context.Context, caps *lsp.ClientCapabilities) error
- func SetClientName(ctx context.Context, name string) error
- func TextEdits(tes []lang.TextEdit, snippetSupport bool) []lsp.TextEdit
- func TextEditsFromDocumentChanges(changes document.Changes) []lsp.TextEdit
- func ToCompletionList(candidates lang.Candidates, caps lsp.TextDocumentClientCapabilities) lsp.CompletionList
- func ToSignatureHelp(signature *lang.FunctionSignature) *lsp.SignatureHelp
- func TokenModifiersLegend(clientSupported []string) semtok.TokenModifiers
- func TokenTypesLegend(clientSupported []string) semtok.TokenTypes
- func WithClientCapabilities(ctx context.Context, caps *lsp.ClientCapabilities) context.Context
- func WorkspaceSymbols(sbs []decoder.Symbol, caps *lsp.WorkspaceSymbolClientCapabilities) []lsp.SymbolInformation
- type CodeActions
- type DirHandler
- type LanguageID
- type SemanticTokensClientCapabilities
- type TokenEncoder
Constants ¶
View Source
const (
// SourceFormatAllTofu is a OpenTofu specific format code action.
SourceFormatAllTofu = "source.formatAll.opentofu"
)
Variables ¶
View Source
var ( // `source.formatAll`: Generic format code action. // We do not register this for terraform to allow fine grained selection of actions. // A user should be able to set `source.formatAll` to true, and source.formatAll.opentofu to false to allow all // files to be formatted, but not terraform files (or vice versa). SupportedCodeActions = CodeActions{ SourceFormatAllTofu: true, } )
Functions ¶
func ClientCapabilities ¶
func ClientCapabilities(ctx context.Context) (lsp.ClientCapabilities, error)
func ContentChange ¶
func ContentChange(chEvent lsp.TextDocumentContentChangeEvent) document.Change
func ContextWithClientName ¶
func DirHandleFromDirURI ¶
func DirHandleFromDirURI(dirUri lsp.DocumentURI) document.DirHandle
func DocumentChanges ¶
func DocumentChanges(events []lsp.TextDocumentContentChangeEvent) document.Changes
func DocumentSymbols ¶
func DocumentSymbols(sbs []decoder.Symbol, caps lsp.DocumentSymbolClientCapabilities) []lsp.DocumentSymbol
func HCLDiagsToLSP ¶
func HCLDiagsToLSP(hclDiags hcl.Diagnostics, source string) []lsp.Diagnostic
func HCLSeverityToLSP ¶
func HCLSeverityToLSP(severity hcl.DiagnosticSeverity) lsp.DiagnosticSeverity
func HandleFromDocumentURI ¶
func HandleFromDocumentURI(docUri lsp.DocumentURI) document.Handle
func IsValidConfigLanguage ¶ added in v0.1.0
func IsValidVarsLanguage ¶ added in v0.1.0
func Links ¶
func Links(links []lang.Link, caps *lsp.DocumentLinkClientCapabilities) []lsp.DocumentLink
func RefOriginsToLocations ¶
func RefOriginsToLocations(origins decoder.ReferenceOrigins) []lsp.Location
func RefTargetsToDeclarationLocationLinks ¶
func RefTargetsToDeclarationLocationLinks(targets decoder.ReferenceTargets, declCaps *lsp.DeclarationClientCapabilities) interface{}
func RefTargetsToDefinitionLocationLinks ¶
func RefTargetsToDefinitionLocationLinks(targets decoder.ReferenceTargets, defCaps *lsp.DefinitionClientCapabilities) interface{}
func RefTargetsToLocationLinks ¶
func RefTargetsToLocationLinks(targets decoder.ReferenceTargets, linkSupport bool) interface{}
func SetClientCapabilities ¶
func SetClientCapabilities(ctx context.Context, caps *lsp.ClientCapabilities) error
func ToCompletionList ¶
func ToCompletionList(candidates lang.Candidates, caps lsp.TextDocumentClientCapabilities) lsp.CompletionList
func ToSignatureHelp ¶
func ToSignatureHelp(signature *lang.FunctionSignature) *lsp.SignatureHelp
func TokenModifiersLegend ¶
func TokenModifiersLegend(clientSupported []string) semtok.TokenModifiers
func TokenTypesLegend ¶
func TokenTypesLegend(clientSupported []string) semtok.TokenTypes
func WithClientCapabilities ¶
func WorkspaceSymbols ¶
func WorkspaceSymbols(sbs []decoder.Symbol, caps *lsp.WorkspaceSymbolClientCapabilities) []lsp.SymbolInformation
Types ¶
type CodeActions ¶
type CodeActions map[lsp.CodeActionKind]bool
func (CodeActions) AsSlice ¶
func (c CodeActions) AsSlice() []lsp.CodeActionKind
func (CodeActions) Only ¶
func (ca CodeActions) Only(only []lsp.CodeActionKind) CodeActions
type DirHandler ¶
type LanguageID ¶
type LanguageID string
LanguageID represents the coding language of a file
const ( OpenTofu LanguageID = "opentofu" OpenTofuVars LanguageID = "opentofu-vars" // Terraform - Some editors do not support language ID overrides which makes it difficult to use this language server // We also need to accept language IDs of Terraform to circumvent this issue Terraform LanguageID = "terraform" TerraformVars LanguageID = "terraform-vars" )
func ParseLanguageID ¶ added in v0.1.0
func ParseLanguageID(id string) LanguageID
ParseLanguageID parses a string into a LanguageID We also remap Terraform to OpenTofu and TerraformVars to OpenTofuVars We assume that the language ID is valid or the validation step has been done before parsing
func (LanguageID) String ¶
func (l LanguageID) String() string
type SemanticTokensClientCapabilities ¶
type SemanticTokensClientCapabilities struct {
lsp.SemanticTokensClientCapabilities
}
func (SemanticTokensClientCapabilities) FullRequest ¶
func (c SemanticTokensClientCapabilities) FullRequest() bool
type TokenEncoder ¶
type TokenEncoder struct {
Lines source.Lines
Tokens []lang.SemanticToken
ClientCaps lsp.SemanticTokensClientCapabilities
// contains filtered or unexported fields
}
func (*TokenEncoder) Encode ¶
func (te *TokenEncoder) Encode() []uint32
Source Files
¶
- client_capabilities.go
- client_name.go
- code_actions.go
- command.go
- completion.go
- diagnostics.go
- dir_handler.go
- doc.go
- document_links.go
- file_change.go
- file_handler.go
- hover.go
- language_id.go
- location_links.go
- locations.go
- markup_content.go
- position.go
- range.go
- semantic_tokens.go
- signature.go
- symbols.go
- text_edits.go
- token_encoder.go
Click to show internal directories.
Click to hide internal directories.