internal/lsp/range.go (33 lines of code) (raw):

package lsp import ( "github.com/Azure/azapi-lsp/internal/filesystem" lsp "github.com/Azure/azapi-lsp/internal/protocol" "github.com/hashicorp/hcl/v2" ) func lspRangeToFsRange(rng *lsp.Range) *filesystem.Range { if rng == nil { return nil } return &filesystem.Range{ Start: filesystem.Pos{ Line: int(rng.Start.Line), Column: int(rng.Start.Character), }, End: filesystem.Pos{ Line: int(rng.End.Line), Column: int(rng.End.Character), }, } } func HCLRangeToLSP(rng hcl.Range) lsp.Range { return lsp.Range{ Start: HCLPosToLSP(rng.Start), End: HCLPosToLSP(rng.End), } } func HCLPosToLSP(pos hcl.Pos) lsp.Position { return lsp.Position{ // #nosec G115 Line: uint32(pos.Line - 1), // #nosec G115 Character: uint32(pos.Column - 1), } }