lsp

package
v1.13.0 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2024 License: MPL-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Types predefined in LSP spec
	TokenTypeClass         TokenType = "class"
	TokenTypeComment       TokenType = "comment"
	TokenTypeEnum          TokenType = "enum"
	TokenTypeEnumMember    TokenType = "enumMember"
	TokenTypeEvent         TokenType = "event"
	TokenTypeFunction      TokenType = "function"
	TokenTypeInterface     TokenType = "interface"
	TokenTypeKeyword       TokenType = "keyword"
	TokenTypeMacro         TokenType = "macro"
	TokenTypeMethod        TokenType = "method"
	TokenTypeModifier      TokenType = "modifier"
	TokenTypeNamespace     TokenType = "namespace"
	TokenTypeNumber        TokenType = "number"
	TokenTypeOperator      TokenType = "operator"
	TokenTypeParameter     TokenType = "parameter"
	TokenTypeProperty      TokenType = "property"
	TokenTypeRegexp        TokenType = "regexp"
	TokenTypeString        TokenType = "string"
	TokenTypeStruct        TokenType = "struct"
	TokenTypeType          TokenType = "type"
	TokenTypeTypeParameter TokenType = "typeParameter"
	TokenTypeVariable      TokenType = "variable"

	// Modifiers predefined in LSP spec
	TokenModifierDeclaration    TokenModifier = "declaration"
	TokenModifierDefinition     TokenModifier = "definition"
	TokenModifierReadonly       TokenModifier = "readonly"
	TokenModifierStatic         TokenModifier = "static"
	TokenModifierDeprecated     TokenModifier = "deprecated"
	TokenModifierAbstract       TokenModifier = "abstract"
	TokenModifierAsync          TokenModifier = "async"
	TokenModifierModification   TokenModifier = "modification"
	TokenModifierDocumentation  TokenModifier = "documentation"
	TokenModifierDefaultLibrary TokenModifier = "defaultLibrary"
)
View Source
const (
	// SourceFormatAllTerraform is a Terraform specific format code action.
	SourceFormatAllTerraform = "source.formatAll.terraform"
)

Variables

View Source
var SupportedCodeActions = CodeActions{
	SourceFormatAllTerraform: true,
}

`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.terraform to false to allow all files to be formatted, but not terraform files (or vice versa).

Functions

func ClientCapabilities

func ClientCapabilities(ctx context.Context) (lsp.ClientCapabilities, error)

func ClientName

func ClientName(ctx context.Context) (string, bool)

func Command

func Command(cmd lang.Command) (lsp.Command, error)

func ContextWithClientName

func ContextWithClientName(ctx context.Context, namePtr *string) context.Context

func FileFromDocumentItem

func FileFromDocumentItem(doc lsp.TextDocumentItem) *file

func FileHandlerFromDirPath

func FileHandlerFromDirPath(dirPath string) *fileHandler

func FileHandlerFromDirURI

func FileHandlerFromDirURI(dirUri lsp.DocumentURI) *fileHandler

func FileHandlerFromDocumentURI

func FileHandlerFromDocumentURI(docUri lsp.DocumentURI) *fileHandler

func FileHandlerFromPath

func FileHandlerFromPath(path string) *fileHandler

func FilePositionFromDocumentPosition

func FilePositionFromDocumentPosition(params lsp.TextDocumentPositionParams, f File) (*filePosition, error)

func HCLDiagsToLSP

func HCLDiagsToLSP(hclDiags hcl.Diagnostics, source string) []lsp.Diagnostic

func HCLPosToLSP

func HCLPosToLSP(pos hcl.Pos) lsp.Position

func HCLRangeToLSP

func HCLRangeToLSP(rng hcl.Range) lsp.Range

func HCLSeverityToLSP

func HCLSeverityToLSP(severity hcl.DiagnosticSeverity) lsp.DiagnosticSeverity

func RefOriginsToLocations

func RefOriginsToLocations(origins decoder.ReferenceOrigins) []lsp.Location
func RefTargetsToLocationLinks(targets decoder.ReferenceTargets, linkSupport bool) interface{}

func SetClientCapabilities

func SetClientCapabilities(ctx context.Context, caps *lsp.ClientCapabilities) error

func SetClientName

func SetClientName(ctx context.Context, name string) error

func VersionedFileHandler

func VersionedFileHandler(doc lsp.VersionedTextDocumentIdentifier) *versionedFileHandler

func WithClientCapabilities

func WithClientCapabilities(ctx context.Context, caps *lsp.ClientCapabilities) context.Context

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 DirHandler interface {
	Dir() string
	URI() string
}

type File

type File interface {
	URI() string
	FullPath() string
	Dir() string
	Filename() string
	Lines() source.Lines
	LanguageID() string
}

type FileHandler

type FileHandler interface {
	Valid() bool
	Dir() string
	IsDir() bool
	Filename() string
	DocumentURI() lsp.DocumentURI
	URI() string
}

type LanguageID

type LanguageID string

LanguageID represents the coding language of a file

const (
	Terraform LanguageID = "terraform"
	Tfvars    LanguageID = "terraform-vars"
)

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
}

func (*TokenEncoder) Encode

func (te *TokenEncoder) Encode() []uint32

type TokenModifier

type TokenModifier string

type TokenModifiers

type TokenModifiers []TokenModifier

func TokenModifiersLegend

func TokenModifiersLegend(clientSupported []string) TokenModifiers

func (TokenModifiers) AsStrings

func (tm TokenModifiers) AsStrings() []string

func (TokenModifiers) BitMask

func (tm TokenModifiers) BitMask(declaredModifiers TokenModifiers) int

type TokenType

type TokenType string

type TokenTypes

type TokenTypes []TokenType

func TokenTypesLegend

func TokenTypesLegend(clientSupported []string) TokenTypes

func (TokenTypes) AsStrings

func (tt TokenTypes) AsStrings() []string

func (TokenTypes) Index

func (tt TokenTypes) Index(tokenType TokenType) int

Jump to

Keyboard shortcuts

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