blob: 458f9d954ffabf43d65f283738ffd85f37d73249 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import { RangeInFile } from "../../../src/client";
export function readRangeInVirtualFileSystem(
rangeInFile: RangeInFile,
filesystem: { [filepath: string]: string }
): string | undefined {
const range = rangeInFile.range;
let data = filesystem[rangeInFile.filepath];
if (data === undefined) {
console.log("File not found");
return undefined;
} else {
let lines = data.toString().split("\n");
if (range.start.line === range.end.line) {
return lines[rangeInFile.range.start.line].slice(
rangeInFile.range.start.character,
rangeInFile.range.end.character
);
} else {
let firstLine = lines[range.start.line].slice(range.start.character);
let lastLine = lines[range.end.line].slice(0, range.end.character);
let middleLines = lines.slice(range.start.line + 1, range.end.line);
return [firstLine, ...middleLines, lastLine].join("\n");
}
}
}
|