splito
Version:
Passive event based multifile editor
24 lines (21 loc) • 614 B
text/typescript
import fs from "fs";
import chalk from "chalk";
import { NUKE } from "../../config.js";
import { Parser } from "./types";
export const OPEN: Parser = {
parseIfApplicable(chunk, outputStream) {
const match = chunk.key.match(`^${NUKE} open (.*)`);
if (match == null) {
return false;
}
let [, filename] = match;
filename = JSON.parse(filename);
console.log(chalk.bold("open", filename));
try {
outputStream.write(`\n${NUKE} file "${filename}"\n${fs.readFileSync(filename).toString()}`)
} catch (e) {
console.error(chalk.red(chalk.bold(`FAILED TO LOAD FILE`)), e);
}
return true;
}
};