19 lines
528 B
TypeScript
19 lines
528 B
TypeScript
|
import type { Range } from 'vscode-languageserver'
|
||
|
|
||
|
export function absoluteRange(range: Range, reference?: Range) {
|
||
|
return {
|
||
|
start: {
|
||
|
line: (reference?.start.line || 0) + range.start.line,
|
||
|
character:
|
||
|
(range.end.line === 0 ? reference?.start.character || 0 : 0) +
|
||
|
range.start.character,
|
||
|
},
|
||
|
end: {
|
||
|
line: (reference?.start.line || 0) + range.end.line,
|
||
|
character:
|
||
|
(range.end.line === 0 ? reference?.start.character || 0 : 0) +
|
||
|
range.end.character,
|
||
|
},
|
||
|
}
|
||
|
}
|