UNPKG

yaclt

Version:
71 lines 7.13 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.openInEditor = exports.pathIsFile = exports.isFilepath = exports.touchFile = exports.readLines = void 0; var child_process_1 = require("child_process"); var fs_1 = __importDefault(require("fs")); var readLines = function (filePath) { return fs_1.default .readFileSync(filePath) .toString() .replace(/\r\n/g, "\n") .split("\n") .filter(Boolean); }; exports.readLines = readLines; var touchFile = function (filePath) { var time = new Date(); try { fs_1.default.utimesSync(filePath, time, time); } catch (_a) { fs_1.default.closeSync(fs_1.default.openSync(filePath, "w")); } }; exports.touchFile = touchFile; var isFilepath = function (subject) { try { fs_1.default.accessSync(subject); return true; } catch (_a) { return false; } }; exports.isFilepath = isFilepath; var pathIsFile = function (filePath) { try { return fs_1.default.statSync(filePath).isFile(); } catch (_a) { return false; } }; exports.pathIsFile = pathIsFile; var parseEditorArgs = function (editorString) { var _a, _b; if (!editorString.includes(" ")) { return { cmd: editorString, args: [] }; } var parts = editorString.split(/ +(?=(?:(?:[^"]*"){2})*[^"]*$)/g); if (parts.length === 0) { return { cmd: editorString, args: [] }; } if (parts.length == 1) { return { cmd: (_a = parts[0]) !== null && _a !== void 0 ? _a : editorString, args: [] }; } var cmd = (_b = parts[0]) !== null && _b !== void 0 ? _b : editorString; var args = parts.slice(1); return { cmd: cmd, args: args }; }; var openInEditor = function (file) { if (process.env["EDITOR"]) { var _a = parseEditorArgs(process.env["EDITOR"]), cmd = _a.cmd, args = _a.args; args.push(file); child_process_1.spawn(cmd, args, { stdio: "inherit" }); } }; exports.openInEditor = openInEditor; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9maWxlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtDQUFzQztBQUN0QywwQ0FBb0I7QUFFYixJQUFNLFNBQVMsR0FBRyxVQUFDLFFBQWdCO0lBQ3hDLE9BQUEsWUFBRTtTQUNDLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDdEIsUUFBUSxFQUFFO1NBQ1YsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7U0FDdEIsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFMbEIsQ0FLa0IsQ0FBQztBQU5SLFFBQUEsU0FBUyxhQU1EO0FBRWQsSUFBTSxTQUFTLEdBQUcsVUFBQyxRQUFnQjtJQUV4QyxJQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBRXhCLElBQUk7UUFDRixZQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFBQyxXQUFNO1FBQ04sWUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQzFDO0FBQ0gsQ0FBQyxDQUFDO0FBVFcsUUFBQSxTQUFTLGFBU3BCO0FBRUssSUFBTSxVQUFVLEdBQUcsVUFBQyxPQUFlO0lBQ3hDLElBQUk7UUFDRixZQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFBQyxXQUFNO1FBQ04sT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMsQ0FBQztBQVBXLFFBQUEsVUFBVSxjQU9yQjtBQUVLLElBQU0sVUFBVSxHQUFHLFVBQUMsUUFBZ0I7SUFDekMsSUFBSTtRQUNGLE9BQU8sWUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUN2QztJQUFDLFdBQU07UUFDTixPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQyxDQUFDO0FBTlcsUUFBQSxVQUFVLGNBTXJCO0FBRUYsSUFBTSxlQUFlLEdBQUcsVUFDdEIsWUFBb0I7O0lBRXBCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztLQUN4QztJQUdELElBQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNwRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztLQUN4QztJQUVELElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7UUFDckIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFBLEtBQUssQ0FBQyxDQUFDLENBQUMsbUNBQUksWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztLQUNwRDtJQUVELElBQU0sR0FBRyxHQUFHLE1BQUEsS0FBSyxDQUFDLENBQUMsQ0FBQyxtQ0FBSSxZQUFZLENBQUM7SUFDckMsSUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixPQUFPLEVBQUUsR0FBRyxLQUFBLEVBQUUsSUFBSSxNQUFBLEVBQUUsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFFSyxJQUFNLFlBQVksR0FBRyxVQUFDLElBQVk7SUFDdkMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ25CLElBQUEsS0FBZ0IsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBcEQsR0FBRyxTQUFBLEVBQUUsSUFBSSxVQUEyQyxDQUFDO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIscUJBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7S0FDeEM7QUFDSCxDQUFDLENBQUM7QUFOVyxRQUFBLFlBQVksZ0JBTXZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3Bhd24gfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuXG5leHBvcnQgY29uc3QgcmVhZExpbmVzID0gKGZpbGVQYXRoOiBzdHJpbmcpOiBzdHJpbmdbXSA9PlxuICBmc1xuICAgIC5yZWFkRmlsZVN5bmMoZmlsZVBhdGgpXG4gICAgLnRvU3RyaW5nKClcbiAgICAucmVwbGFjZSgvXFxyXFxuL2csIFwiXFxuXCIpXG4gICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgLmZpbHRlcihCb29sZWFuKTtcblxuZXhwb3J0IGNvbnN0IHRvdWNoRmlsZSA9IChmaWxlUGF0aDogc3RyaW5nKTogdm9pZCA9PiB7XG4gIC8vIHNlZSBodHRwczovL3JlbWFya2FibGVtYXJrLm9yZy9ibG9nLzIwMTcvMTIvMTcvdG91Y2gtZmlsZS1ub2RlanMvI3RvdWNoLWZpbGVcbiAgY29uc3QgdGltZSA9IG5ldyBEYXRlKCk7XG5cbiAgdHJ5IHtcbiAgICBmcy51dGltZXNTeW5jKGZpbGVQYXRoLCB0aW1lLCB0aW1lKTtcbiAgfSBjYXRjaCB7XG4gICAgZnMuY2xvc2VTeW5jKGZzLm9wZW5TeW5jKGZpbGVQYXRoLCBcIndcIikpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaXNGaWxlcGF0aCA9IChzdWJqZWN0OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgdHJ5IHtcbiAgICBmcy5hY2Nlc3NTeW5jKHN1YmplY3QpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYXRoSXNGaWxlID0gKGZpbGVQYXRoOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZnMuc3RhdFN5bmMoZmlsZVBhdGgpLmlzRmlsZSgpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmNvbnN0IHBhcnNlRWRpdG9yQXJncyA9IChcbiAgZWRpdG9yU3RyaW5nOiBzdHJpbmdcbik6IHsgY21kOiBzdHJpbmc7IGFyZ3M6IHN0cmluZ1tdIH0gPT4ge1xuICBpZiAoIWVkaXRvclN0cmluZy5pbmNsdWRlcyhcIiBcIikpIHtcbiAgICByZXR1cm4geyBjbWQ6IGVkaXRvclN0cmluZywgYXJnczogW10gfTtcbiAgfVxuXG4gIC8vIHNwbGl0IGF0IHNwYWNlLCB1bmxlc3MgdGhlIHNwYWNlIGlzIHF1b3RlZFxuICBjb25zdCBwYXJ0cyA9IGVkaXRvclN0cmluZy5zcGxpdCgvICsoPz0oPzooPzpbXlwiXSpcIil7Mn0pKlteXCJdKiQpL2cpO1xuICBpZiAocGFydHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHsgY21kOiBlZGl0b3JTdHJpbmcsIGFyZ3M6IFtdIH07XG4gIH1cblxuICBpZiAocGFydHMubGVuZ3RoID09IDEpIHtcbiAgICByZXR1cm4geyBjbWQ6IHBhcnRzWzBdID8/IGVkaXRvclN0cmluZywgYXJnczogW10gfTtcbiAgfVxuXG4gIGNvbnN0IGNtZCA9IHBhcnRzWzBdID8/IGVkaXRvclN0cmluZztcbiAgY29uc3QgYXJncyA9IHBhcnRzLnNsaWNlKDEpO1xuICByZXR1cm4geyBjbWQsIGFyZ3MgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBvcGVuSW5FZGl0b3IgPSAoZmlsZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gIGlmIChwcm9jZXNzLmVudltcIkVESVRPUlwiXSkge1xuICAgIGNvbnN0IHsgY21kLCBhcmdzIH0gPSBwYXJzZUVkaXRvckFyZ3MocHJvY2Vzcy5lbnZbXCJFRElUT1JcIl0pO1xuICAgIGFyZ3MucHVzaChmaWxlKTtcbiAgICBzcGF3bihjbWQsIGFyZ3MsIHsgc3RkaW86IFwiaW5oZXJpdFwiIH0pO1xuICB9XG59O1xuIl19