astro-ghostcms/.pnpm-store/v3/files/e4/037f3d3c2fd94012e4082c791c2...

72 lines
1.6 KiB
JavaScript
Executable File
Raw Blame History

#!/usr/bin/env node
"use strict"
let Smartwrap = require("./main.js")
let yargs = require("yargs")
yargs.option("breakword", {
default: false,
describe: "Choose whether or not to break words when wrapping a string"
})
yargs.option("errorChar", {
default: "<22>",
describe: "Placeholder for wide characters when minWidth < 2"
})
yargs.option("minWidth", {
choices: [1, 2],
default: 2,
describe: "Never change this unless you are certin you are not using wide characters and you want a column 1 space wide, then change to 1"
})
yargs.option("paddingLeft", {
default: 0,
describe: "Set the left padding of the output"
})
yargs.option("paddingRight", {
default: 0,
describe: "Set the right padding of the output"
})
yargs.option("splitAt", {
default: [" ", "\t"],
describe: "Characters at which to split input"
})
yargs.option("trim", {
default: true,
describe: "Trim the whitespace from end of input"
})
yargs.option("width", {
alias: "w",
default: 10,
describe: "Set the line width of the output (in spaces)",
demandOption: true,
coerce: function(arg) {
if(isNaN(arg*1)) {
throw new Error("Invalid width specified.")
}
return arg*1
}
})
// create options object
let options = {};
[
"minWidth",
"paddingLeft",
"paddingRight",
"splitAt",
"trim",
"width"
].forEach(function(key) {
if(typeof yargs.argv[key] !== "undefined") {
options[key] = yargs.argv[key]
}
})
process.stdin.resume()
process.stdin.setEncoding("utf8")
process.stdin.on("data", function(chunk) {
let out = Smartwrap(chunk, options)
console.log(out)
})
// yargs = yargs('h').argv;
yargs.argv = yargs.help("h").argv