lsconv

package
v0.0.0-...-c6c346e Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DiagnosticToLSPPull

func DiagnosticToLSPPull(ctx context.Context, converters *Converters, diagnostic *ast.Diagnostic) *lsproto.Diagnostic

DiagnosticToLSPPull converts a diagnostic for pull diagnostics (textDocument/diagnostic)

func DiagnosticToLSPPush

func DiagnosticToLSPPush(ctx context.Context, converters *Converters, diagnostic *ast.Diagnostic) *lsproto.Diagnostic

DiagnosticToLSPPush converts a diagnostic for push diagnostics (textDocument/publishDiagnostics)

func FileNameToDocumentURI

func FileNameToDocumentURI(fileName string) lsproto.DocumentUri

func LanguageKindToScriptKind

func LanguageKindToScriptKind(languageID lsproto.LanguageKind) core.ScriptKind

Types

type Converters

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

func NewConverters

func NewConverters(positionEncoding lsproto.PositionEncodingKind, getLineMap func(fileName string) *LSPLineMap) *Converters

func (*Converters) FromLSPRange

func (c *Converters) FromLSPRange(script Script, textRange lsproto.Range) core.TextRange

func (*Converters) FromLSPTextChange

func (c *Converters) FromLSPTextChange(script Script, change *lsproto.TextDocumentContentChangePartial) core.TextChange

func (*Converters) LineAndCharacterToPosition

func (c *Converters) LineAndCharacterToPosition(script Script, lineAndCharacter lsproto.Position) core.TextPos

func (*Converters) PositionToLineAndCharacter

func (c *Converters) PositionToLineAndCharacter(script Script, position core.TextPos) lsproto.Position

func (*Converters) ToLSPLocation

func (c *Converters) ToLSPLocation(script Script, rng core.TextRange) lsproto.Location

func (*Converters) ToLSPRange

func (c *Converters) ToLSPRange(script Script, textRange core.TextRange) lsproto.Range

type LSPLineMap

type LSPLineMap struct {
	LineStarts LSPLineStarts
	AsciiOnly  bool // TODO(jakebailey): collect ascii-only info per line
}

func ComputeLSPLineStarts

func ComputeLSPLineStarts(text string) *LSPLineMap

func (*LSPLineMap) ComputeIndexOfLineStart

func (lm *LSPLineMap) ComputeIndexOfLineStart(targetPos core.TextPos) int

type LSPLineStarts

type LSPLineStarts []core.TextPos

type Script

type Script interface {
	FileName() string
	Text() string
}

Jump to

Keyboard shortcuts

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