* better named dirs Signed-off-by: Jess Frazelle <github@jessfraz.com> * move some stuff around Signed-off-by: Jess Frazelle <github@jessfraz.com> * more logging Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * less logging Signed-off-by: Jess Frazelle <github@jessfraz.com> * add fs in Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * file reader Signed-off-by: Jess Frazelle <github@jessfraz.com> * workspace Signed-off-by: Jess Frazelle <github@jessfraz.com> * start of workspace folders Signed-off-by: Jess Frazelle <github@jessfraz.com> * start of workspace folders Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup workspace folders Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup logs Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
20 lines
471 B
TypeScript
20 lines
471 B
TypeScript
import { Text } from '@codemirror/state'
|
|
|
|
export function posToOffset(
|
|
doc: Text,
|
|
pos: { line: number; character: number }
|
|
): number | undefined {
|
|
if (pos.line >= doc.lines) return
|
|
const offset = doc.line(pos.line + 1).from + pos.character
|
|
if (offset > doc.length) return
|
|
return offset
|
|
}
|
|
|
|
export function offsetToPos(doc: Text, offset: number) {
|
|
const line = doc.lineAt(offset)
|
|
return {
|
|
line: line.number - 1,
|
|
character: offset - line.from,
|
|
}
|
|
}
|