Documentation
¶
Overview ¶
Package adapter_3_16 provides conversion functions between core types and protocol_3_16 types. Core types use UTF-8 byte offsets for natural Go string handling, while protocol types use UTF-16 code unit offsets as specified by the LSP specification.
LSP 3.16 Specification: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.16/specification/
These adapters handle the critical conversion at API boundaries: - Convert core types (UTF-8 offsets) to protocol types (UTF-16 code units) when sending to clients - Convert protocol types (UTF-16 code units) to core types (UTF-8 offsets) when receiving from clients
Index ¶
- func CoreToProtocolColor(c core.Color) protocol.Color
- func CoreToProtocolColorInformation(ci core.ColorInformation, content string) protocol.ColorInformation
- func CoreToProtocolColorInformationList(colors []core.ColorInformation, content string) []protocol.ColorInformation
- func CoreToProtocolColorPresentation(cp core.ColorPresentation, content string) protocol.ColorPresentation
- func CoreToProtocolColorPresentations(presentations []core.ColorPresentation, content string) []protocol.ColorPresentation
- func CoreToProtocolCompletionItem(item core.CompletionItem, content string) protocol.CompletionItem
- func CoreToProtocolCompletionItemKind(kind core.CompletionItemKind) protocol.CompletionItemKind
- func CoreToProtocolCompletionList(list *core.CompletionList, content string) *protocol.CompletionList
- func CoreToProtocolDiagnostic(diag core.Diagnostic, content string) protocol.Diagnostic
- func CoreToProtocolDiagnosticSeverity(severity core.DiagnosticSeverity) protocol.DiagnosticSeverity
- func CoreToProtocolDiagnosticTag(tag core.DiagnosticTag) protocol.DiagnosticTag
- func CoreToProtocolDiagnosticWithResolver(diag core.Diagnostic, content string, resolver ContentResolver) protocol.Diagnostic
- func CoreToProtocolDiagnostics(diags []core.Diagnostic, content string) []protocol.Diagnostic
- func CoreToProtocolDiagnosticsWithResolver(diags []core.Diagnostic, content string, resolver ContentResolver) []protocol.Diagnostic
- func CoreToProtocolDocumentHighlight(highlight core.DocumentHighlight, content string) protocol.DocumentHighlight
- func CoreToProtocolDocumentHighlightKind(kind core.DocumentHighlightKind) protocol.DocumentHighlightKind
- func CoreToProtocolDocumentHighlights(highlights []core.DocumentHighlight, content string) []protocol.DocumentHighlight
- func CoreToProtocolDocumentSymbol(sym core.DocumentSymbol, content string) protocol.DocumentSymbol
- func CoreToProtocolDocumentSymbols(symbols []core.DocumentSymbol, content string) []protocol.DocumentSymbol
- func CoreToProtocolFoldingRange(fr core.FoldingRange, content string) protocol.FoldingRange
- func CoreToProtocolFoldingRanges(ranges []core.FoldingRange, content string) []protocol.FoldingRange
- func CoreToProtocolFormattingOptions(opts core.FormattingOptions) protocol.FormattingOptions
- func CoreToProtocolInlayHint(hint core.InlayHint, content string) protocol.InlayHint
- func CoreToProtocolInlayHintKind(kind core.InlayHintKind) protocol.InlayHintKind
- func CoreToProtocolInlayHints(hints []core.InlayHint, content string) []protocol.InlayHint
- func CoreToProtocolInlineCompletionItem(item core.InlineCompletionItem, content string) protocol.InlineCompletionItem
- func CoreToProtocolInlineCompletionList(list *core.InlineCompletionList, content string) *protocol.InlineCompletionList
- func CoreToProtocolLocation(loc core.Location, content string) protocol.Location
- func CoreToProtocolLocationLink(link core.LocationLink, originContent, targetContent string) protocol.LocationLink
- func CoreToProtocolPosition(pos core.Position, content string) protocol.Position
- func CoreToProtocolRange(r core.Range, content string) protocol.Range
- func CoreToProtocolReferenceContext(ctx core.ReferenceContext) protocol.ReferenceContext
- func CoreToProtocolSelectionRange(sr core.SelectionRange, content string) protocol.SelectionRange
- func CoreToProtocolSelectionRanges(ranges []core.SelectionRange, content string) []protocol.SelectionRange
- func CoreToProtocolSymbolKind(kind core.SymbolKind) protocol.SymbolKind
- func CoreToProtocolTextEdit(edit core.TextEdit, content string) protocol.TextEdit
- func CoreToProtocolTextEdits(edits []core.TextEdit, content string) []protocol.TextEdit
- func ProtocolToCoreColor(c protocol.Color) core.Color
- func ProtocolToCoreColorInformation(ci protocol.ColorInformation, content string) core.ColorInformation
- func ProtocolToCoreColorInformationList(colors []protocol.ColorInformation, content string) []core.ColorInformation
- func ProtocolToCoreColorPresentation(cp protocol.ColorPresentation, content string) core.ColorPresentation
- func ProtocolToCoreColorPresentations(presentations []protocol.ColorPresentation, content string) []core.ColorPresentation
- func ProtocolToCoreCompletionItem(item protocol.CompletionItem, content string) core.CompletionItem
- func ProtocolToCoreCompletionItemKind(kind protocol.CompletionItemKind) core.CompletionItemKind
- func ProtocolToCoreCompletionList(list *protocol.CompletionList, content string) *core.CompletionList
- func ProtocolToCoreDiagnostic(diag protocol.Diagnostic, content string) core.Diagnostic
- func ProtocolToCoreDiagnosticSeverity(severity protocol.DiagnosticSeverity) core.DiagnosticSeverity
- func ProtocolToCoreDiagnosticTag(tag protocol.DiagnosticTag) core.DiagnosticTag
- func ProtocolToCoreDiagnosticWithResolver(diag protocol.Diagnostic, content string, resolver ContentResolver) core.Diagnostic
- func ProtocolToCoreDiagnostics(diags []protocol.Diagnostic, content string) []core.Diagnostic
- func ProtocolToCoreDiagnosticsWithResolver(diags []protocol.Diagnostic, content string, resolver ContentResolver) []core.Diagnostic
- func ProtocolToCoreDocumentHighlight(highlight protocol.DocumentHighlight, content string) core.DocumentHighlight
- func ProtocolToCoreDocumentHighlightKind(kind protocol.DocumentHighlightKind) core.DocumentHighlightKind
- func ProtocolToCoreDocumentHighlights(highlights []protocol.DocumentHighlight, content string) []core.DocumentHighlight
- func ProtocolToCoreDocumentSymbol(sym protocol.DocumentSymbol, content string) core.DocumentSymbol
- func ProtocolToCoreDocumentSymbols(symbols []protocol.DocumentSymbol, content string) []core.DocumentSymbol
- func ProtocolToCoreFoldingRange(fr protocol.FoldingRange, content string) core.FoldingRange
- func ProtocolToCoreFoldingRanges(ranges []protocol.FoldingRange, content string) []core.FoldingRange
- func ProtocolToCoreFormattingOptions(opts protocol.FormattingOptions) core.FormattingOptions
- func ProtocolToCoreInlayHint(hint protocol.InlayHint, content string) core.InlayHint
- func ProtocolToCoreInlayHintKind(kind protocol.InlayHintKind) core.InlayHintKind
- func ProtocolToCoreInlayHints(hints []protocol.InlayHint, content string) []core.InlayHint
- func ProtocolToCoreInlineCompletionItem(item protocol.InlineCompletionItem, content string) core.InlineCompletionItem
- func ProtocolToCoreInlineCompletionList(list *protocol.InlineCompletionList, content string) *core.InlineCompletionList
- func ProtocolToCoreLocation(loc protocol.Location, content string) core.Location
- func ProtocolToCoreLocationLink(link protocol.LocationLink, originContent, targetContent string) core.LocationLink
- func ProtocolToCorePosition(pos protocol.Position, content string) core.Position
- func ProtocolToCoreRange(r protocol.Range, content string) core.Range
- func ProtocolToCoreReferenceContext(ctx protocol.ReferenceContext) core.ReferenceContext
- func ProtocolToCoreSelectionRange(sr protocol.SelectionRange, content string) core.SelectionRange
- func ProtocolToCoreSelectionRanges(ranges []protocol.SelectionRange, content string) []core.SelectionRange
- func ProtocolToCoreSymbolKind(kind protocol.SymbolKind) core.SymbolKind
- func ProtocolToCoreTextEdit(edit protocol.TextEdit, content string) core.TextEdit
- func ProtocolToCoreTextEdits(edits []protocol.TextEdit, content string) []core.TextEdit
- type ContentResolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CoreToProtocolColor ¶
CoreToProtocolColor converts a core.Color to a protocol Color.
func CoreToProtocolColorInformation ¶
func CoreToProtocolColorInformation(ci core.ColorInformation, content string) protocol.ColorInformation
CoreToProtocolColorInformation converts a core.ColorInformation to a protocol ColorInformation.
func CoreToProtocolColorInformationList ¶
func CoreToProtocolColorInformationList(colors []core.ColorInformation, content string) []protocol.ColorInformation
CoreToProtocolColorInformationList converts a slice of core color information to protocol color information.
func CoreToProtocolColorPresentation ¶
func CoreToProtocolColorPresentation(cp core.ColorPresentation, content string) protocol.ColorPresentation
CoreToProtocolColorPresentation converts a core.ColorPresentation to a protocol ColorPresentation.
func CoreToProtocolColorPresentations ¶
func CoreToProtocolColorPresentations(presentations []core.ColorPresentation, content string) []protocol.ColorPresentation
CoreToProtocolColorPresentations converts a slice of core color presentations to protocol color presentations.
func CoreToProtocolCompletionItem ¶
func CoreToProtocolCompletionItem(item core.CompletionItem, content string) protocol.CompletionItem
CoreToProtocolCompletionItem converts a core completion item to protocol.
func CoreToProtocolCompletionItemKind ¶
func CoreToProtocolCompletionItemKind(kind core.CompletionItemKind) protocol.CompletionItemKind
CoreToProtocolCompletionItemKind converts a core completion item kind to protocol.
func CoreToProtocolCompletionList ¶
func CoreToProtocolCompletionList(list *core.CompletionList, content string) *protocol.CompletionList
CoreToProtocolCompletionList converts a core completion list to protocol.
func CoreToProtocolDiagnostic ¶
func CoreToProtocolDiagnostic(diag core.Diagnostic, content string) protocol.Diagnostic
CoreToProtocolDiagnostic converts a core.Diagnostic (UTF-8) to a protocol Diagnostic (UTF-16). The content parameter is the document content needed for UTF-8/UTF-16 conversion.
func CoreToProtocolDiagnosticSeverity ¶
func CoreToProtocolDiagnosticSeverity(severity core.DiagnosticSeverity) protocol.DiagnosticSeverity
CoreToProtocolDiagnosticSeverity converts a core diagnostic severity to protocol severity.
func CoreToProtocolDiagnosticTag ¶
func CoreToProtocolDiagnosticTag(tag core.DiagnosticTag) protocol.DiagnosticTag
CoreToProtocolDiagnosticTag converts a core diagnostic tag to protocol tag.
func CoreToProtocolDiagnosticWithResolver ¶
func CoreToProtocolDiagnosticWithResolver(diag core.Diagnostic, content string, resolver ContentResolver) protocol.Diagnostic
CoreToProtocolDiagnosticWithResolver converts a core.Diagnostic (UTF-8) to a protocol Diagnostic (UTF-16). The content parameter is used for the main diagnostic range. If resolver is provided, it is used to map related information ranges in their own files.
func CoreToProtocolDiagnostics ¶
func CoreToProtocolDiagnostics(diags []core.Diagnostic, content string) []protocol.Diagnostic
CoreToProtocolDiagnostics converts a slice of core diagnostics to protocol diagnostics. This is a convenience function for the common case of converting diagnostic arrays.
func CoreToProtocolDiagnosticsWithResolver ¶
func CoreToProtocolDiagnosticsWithResolver(diags []core.Diagnostic, content string, resolver ContentResolver) []protocol.Diagnostic
CoreToProtocolDiagnosticsWithResolver converts a slice of core diagnostics to protocol diagnostics. The resolver is used for related information locations in other files.
func CoreToProtocolDocumentHighlight ¶
func CoreToProtocolDocumentHighlight(highlight core.DocumentHighlight, content string) protocol.DocumentHighlight
CoreToProtocolDocumentHighlight converts a core document highlight to protocol.
func CoreToProtocolDocumentHighlightKind ¶
func CoreToProtocolDocumentHighlightKind(kind core.DocumentHighlightKind) protocol.DocumentHighlightKind
CoreToProtocolDocumentHighlightKind converts a core highlight kind to protocol.
func CoreToProtocolDocumentHighlights ¶
func CoreToProtocolDocumentHighlights(highlights []core.DocumentHighlight, content string) []protocol.DocumentHighlight
CoreToProtocolDocumentHighlights converts a slice of core highlights to protocol.
func CoreToProtocolDocumentSymbol ¶
func CoreToProtocolDocumentSymbol(sym core.DocumentSymbol, content string) protocol.DocumentSymbol
CoreToProtocolDocumentSymbol converts a core.DocumentSymbol to a protocol DocumentSymbol.
func CoreToProtocolDocumentSymbols ¶
func CoreToProtocolDocumentSymbols(symbols []core.DocumentSymbol, content string) []protocol.DocumentSymbol
CoreToProtocolDocumentSymbols converts a slice of core document symbols to protocol document symbols.
func CoreToProtocolFoldingRange ¶
func CoreToProtocolFoldingRange(fr core.FoldingRange, content string) protocol.FoldingRange
CoreToProtocolFoldingRange converts a core.FoldingRange to a protocol FoldingRange.
func CoreToProtocolFoldingRanges ¶
func CoreToProtocolFoldingRanges(ranges []core.FoldingRange, content string) []protocol.FoldingRange
CoreToProtocolFoldingRanges converts a slice of core folding ranges to protocol folding ranges.
func CoreToProtocolFormattingOptions ¶
func CoreToProtocolFormattingOptions(opts core.FormattingOptions) protocol.FormattingOptions
CoreToProtocolFormattingOptions converts core formatting options to protocol formatting options. Protocol uses a map[string]any while core uses a struct for type safety.
func CoreToProtocolInlayHint ¶
CoreToProtocolInlayHint converts a core inlay hint to protocol.
func CoreToProtocolInlayHintKind ¶
func CoreToProtocolInlayHintKind(kind core.InlayHintKind) protocol.InlayHintKind
CoreToProtocolInlayHintKind converts a core inlay hint kind to protocol.
func CoreToProtocolInlayHints ¶
CoreToProtocolInlayHints converts a slice of core inlay hints to protocol.
func CoreToProtocolInlineCompletionItem ¶
func CoreToProtocolInlineCompletionItem(item core.InlineCompletionItem, content string) protocol.InlineCompletionItem
CoreToProtocolInlineCompletionItem converts a core inline completion item to protocol.
func CoreToProtocolInlineCompletionList ¶
func CoreToProtocolInlineCompletionList(list *core.InlineCompletionList, content string) *protocol.InlineCompletionList
CoreToProtocolInlineCompletionList converts a core inline completion list to protocol.
func CoreToProtocolLocation ¶
CoreToProtocolLocation converts a core.Location (UTF-8) to a protocol Location (UTF-16). The content parameter should be the content of the document at the location's URI.
LSP Spec: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.16/specification/#location
func CoreToProtocolLocationLink ¶
func CoreToProtocolLocationLink(link core.LocationLink, originContent, targetContent string) protocol.LocationLink
CoreToProtocolLocationLink converts a core.LocationLink (UTF-8) to a protocol LocationLink (UTF-16). The originContent parameter is the content of the origin document (if OriginSelectionRange is set). The targetContent parameter is the content of the target document.
func CoreToProtocolPosition ¶
CoreToProtocolPosition converts a core.Position (UTF-8) to a protocol Position (UTF-16). The content parameter is needed to perform the UTF-8 to UTF-16 offset conversion.
LSP Spec: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.16/specification/#position Protocol requires UTF-16 code units for the character offset.
func CoreToProtocolRange ¶
CoreToProtocolRange converts a core.Range (UTF-8) to a protocol Range (UTF-16).
LSP Spec: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.16/specification/#range
func CoreToProtocolReferenceContext ¶
func CoreToProtocolReferenceContext(ctx core.ReferenceContext) protocol.ReferenceContext
CoreToProtocolReferenceContext converts a core reference context to protocol.
func CoreToProtocolSelectionRange ¶
func CoreToProtocolSelectionRange(sr core.SelectionRange, content string) protocol.SelectionRange
CoreToProtocolSelectionRange converts a core.SelectionRange to a protocol SelectionRange.
func CoreToProtocolSelectionRanges ¶
func CoreToProtocolSelectionRanges(ranges []core.SelectionRange, content string) []protocol.SelectionRange
CoreToProtocolSelectionRanges converts a slice of core selection ranges to protocol selection ranges.
func CoreToProtocolSymbolKind ¶
func CoreToProtocolSymbolKind(kind core.SymbolKind) protocol.SymbolKind
CoreToProtocolSymbolKind converts a core symbol kind to protocol symbol kind.
func CoreToProtocolTextEdit ¶
CoreToProtocolTextEdit converts a core.TextEdit to a protocol TextEdit.
func CoreToProtocolTextEdits ¶
CoreToProtocolTextEdits converts a slice of core text edits to protocol text edits.
func ProtocolToCoreColor ¶
ProtocolToCoreColor converts a protocol Color to a core.Color.
func ProtocolToCoreColorInformation ¶
func ProtocolToCoreColorInformation(ci protocol.ColorInformation, content string) core.ColorInformation
ProtocolToCoreColorInformation converts a protocol ColorInformation to a core.ColorInformation.
func ProtocolToCoreColorInformationList ¶
func ProtocolToCoreColorInformationList(colors []protocol.ColorInformation, content string) []core.ColorInformation
ProtocolToCoreColorInformationList converts a slice of protocol color information to core color information.
func ProtocolToCoreColorPresentation ¶
func ProtocolToCoreColorPresentation(cp protocol.ColorPresentation, content string) core.ColorPresentation
ProtocolToCoreColorPresentation converts a protocol ColorPresentation to a core.ColorPresentation.
func ProtocolToCoreColorPresentations ¶
func ProtocolToCoreColorPresentations(presentations []protocol.ColorPresentation, content string) []core.ColorPresentation
ProtocolToCoreColorPresentations converts a slice of protocol color presentations to core color presentations.
func ProtocolToCoreCompletionItem ¶
func ProtocolToCoreCompletionItem(item protocol.CompletionItem, content string) core.CompletionItem
ProtocolToCoreCompletionItem converts a protocol completion item to core.
func ProtocolToCoreCompletionItemKind ¶
func ProtocolToCoreCompletionItemKind(kind protocol.CompletionItemKind) core.CompletionItemKind
ProtocolToCoreCompletionItemKind converts a protocol completion item kind to core.
func ProtocolToCoreCompletionList ¶
func ProtocolToCoreCompletionList(list *protocol.CompletionList, content string) *core.CompletionList
ProtocolToCoreCompletionList converts a protocol completion list to core.
func ProtocolToCoreDiagnostic ¶
func ProtocolToCoreDiagnostic(diag protocol.Diagnostic, content string) core.Diagnostic
ProtocolToCoreDiagnostic converts a protocol Diagnostic (UTF-16) to a core.Diagnostic (UTF-8). The content parameter is the document content needed for UTF-16/UTF-8 conversion.
func ProtocolToCoreDiagnosticSeverity ¶
func ProtocolToCoreDiagnosticSeverity(severity protocol.DiagnosticSeverity) core.DiagnosticSeverity
ProtocolToCoreDiagnosticSeverity converts a protocol diagnostic severity to core severity.
func ProtocolToCoreDiagnosticTag ¶
func ProtocolToCoreDiagnosticTag(tag protocol.DiagnosticTag) core.DiagnosticTag
ProtocolToCoreDiagnosticTag converts a protocol diagnostic tag to core tag.
func ProtocolToCoreDiagnosticWithResolver ¶
func ProtocolToCoreDiagnosticWithResolver(diag protocol.Diagnostic, content string, resolver ContentResolver) core.Diagnostic
ProtocolToCoreDiagnosticWithResolver converts a protocol Diagnostic (UTF-16) to a core.Diagnostic (UTF-8). The content parameter is used for the main diagnostic range. If resolver is provided, it is used to map related information ranges in their own files.
func ProtocolToCoreDiagnostics ¶
func ProtocolToCoreDiagnostics(diags []protocol.Diagnostic, content string) []core.Diagnostic
ProtocolToCoreDiagnostics converts a slice of protocol diagnostics to core diagnostics.
func ProtocolToCoreDiagnosticsWithResolver ¶
func ProtocolToCoreDiagnosticsWithResolver(diags []protocol.Diagnostic, content string, resolver ContentResolver) []core.Diagnostic
ProtocolToCoreDiagnosticsWithResolver converts a slice of protocol diagnostics to core diagnostics. The resolver is used for related information locations in other files.
func ProtocolToCoreDocumentHighlight ¶
func ProtocolToCoreDocumentHighlight(highlight protocol.DocumentHighlight, content string) core.DocumentHighlight
ProtocolToCoreDocumentHighlight converts a protocol document highlight to core.
func ProtocolToCoreDocumentHighlightKind ¶
func ProtocolToCoreDocumentHighlightKind(kind protocol.DocumentHighlightKind) core.DocumentHighlightKind
ProtocolToCoreDocumentHighlightKind converts a protocol highlight kind to core.
func ProtocolToCoreDocumentHighlights ¶
func ProtocolToCoreDocumentHighlights(highlights []protocol.DocumentHighlight, content string) []core.DocumentHighlight
ProtocolToCoreDocumentHighlights converts a slice of protocol highlights to core.
func ProtocolToCoreDocumentSymbol ¶
func ProtocolToCoreDocumentSymbol(sym protocol.DocumentSymbol, content string) core.DocumentSymbol
ProtocolToCoreDocumentSymbol converts a protocol DocumentSymbol to a core.DocumentSymbol.
func ProtocolToCoreDocumentSymbols ¶
func ProtocolToCoreDocumentSymbols(symbols []protocol.DocumentSymbol, content string) []core.DocumentSymbol
ProtocolToCoreDocumentSymbols converts a slice of protocol document symbols to core document symbols.
func ProtocolToCoreFoldingRange ¶
func ProtocolToCoreFoldingRange(fr protocol.FoldingRange, content string) core.FoldingRange
ProtocolToCoreFoldingRange converts a protocol FoldingRange to a core.FoldingRange.
func ProtocolToCoreFoldingRanges ¶
func ProtocolToCoreFoldingRanges(ranges []protocol.FoldingRange, content string) []core.FoldingRange
ProtocolToCoreFoldingRanges converts a slice of protocol folding ranges to core folding ranges.
func ProtocolToCoreFormattingOptions ¶
func ProtocolToCoreFormattingOptions(opts protocol.FormattingOptions) core.FormattingOptions
ProtocolToCoreFormattingOptions converts protocol formatting options to core formatting options. Provides sensible defaults for missing values.
func ProtocolToCoreInlayHint ¶
ProtocolToCoreInlayHint converts a protocol inlay hint to core.
func ProtocolToCoreInlayHintKind ¶
func ProtocolToCoreInlayHintKind(kind protocol.InlayHintKind) core.InlayHintKind
ProtocolToCoreInlayHintKind converts a protocol inlay hint kind to core.
func ProtocolToCoreInlayHints ¶
ProtocolToCoreInlayHints converts a slice of protocol inlay hints to core.
func ProtocolToCoreInlineCompletionItem ¶
func ProtocolToCoreInlineCompletionItem(item protocol.InlineCompletionItem, content string) core.InlineCompletionItem
ProtocolToCoreInlineCompletionItem converts a protocol inline completion item to core.
func ProtocolToCoreInlineCompletionList ¶
func ProtocolToCoreInlineCompletionList(list *protocol.InlineCompletionList, content string) *core.InlineCompletionList
ProtocolToCoreInlineCompletionList converts a protocol inline completion list to core.
func ProtocolToCoreLocation ¶
ProtocolToCoreLocation converts a protocol Location (UTF-16) to a core.Location (UTF-8). The content parameter should be the content of the document at the location's URI.
LSP Spec: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.16/specification/#location
func ProtocolToCoreLocationLink ¶
func ProtocolToCoreLocationLink(link protocol.LocationLink, originContent, targetContent string) core.LocationLink
ProtocolToCoreLocationLink converts a protocol LocationLink (UTF-16) to a core.LocationLink (UTF-8). The originContent parameter is the content of the origin document (if OriginSelectionRange is set). The targetContent parameter is the content of the target document.
func ProtocolToCorePosition ¶
ProtocolToCorePosition converts a protocol Position (UTF-16) to a core.Position (UTF-8). The content parameter is needed to perform the UTF-16 to UTF-8 offset conversion.
LSP Spec: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.16/specification/#position Protocol provides UTF-16 code units which must be converted to UTF-8 byte offsets.
func ProtocolToCoreRange ¶
ProtocolToCoreRange converts a protocol Range (UTF-16) to a core.Range (UTF-8).
LSP Spec: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.16/specification/#range
func ProtocolToCoreReferenceContext ¶
func ProtocolToCoreReferenceContext(ctx protocol.ReferenceContext) core.ReferenceContext
ProtocolToCoreReferenceContext converts a protocol reference context to core.
func ProtocolToCoreSelectionRange ¶
func ProtocolToCoreSelectionRange(sr protocol.SelectionRange, content string) core.SelectionRange
ProtocolToCoreSelectionRange converts a protocol SelectionRange to a core.SelectionRange.
func ProtocolToCoreSelectionRanges ¶
func ProtocolToCoreSelectionRanges(ranges []protocol.SelectionRange, content string) []core.SelectionRange
ProtocolToCoreSelectionRanges converts a slice of protocol selection ranges to core selection ranges.
func ProtocolToCoreSymbolKind ¶
func ProtocolToCoreSymbolKind(kind protocol.SymbolKind) core.SymbolKind
ProtocolToCoreSymbolKind converts a protocol symbol kind to core symbol kind.
func ProtocolToCoreTextEdit ¶
ProtocolToCoreTextEdit converts a protocol TextEdit to a core.TextEdit.
Types ¶
type ContentResolver ¶
ContentResolver returns document content for a URI when converting ranges. The boolean indicates whether content was found for the URI.