nodejs-bash-completion/pm-install
2024-06-24 22:53:49 +02:00

42 lines
1.2 KiB
JavaScript
Executable File

#!/usr/bin/env node
const path = require('path');
const { Command } = require('commander');
const program = new Command();
const errorColor = (str) => {
// Add ANSI escape codes to display text in red.
return `\x1b[31m${str}\x1b[0m`;
}
program
.name(path.parse(process.argv[1]).base)
.version('0.0.1')
.description('Install package with fake package manager')
.usage("-n 3 32 -l x y z -- op")
.configureOutput({
// Visibly override write routines as example!
//writeOut: (str) => process.stdout.write(`[OUT] ${str}`),
writeErr: (str) => process.stdout.write(`[ERR] ${str}`),
// Highlight errors in color.
outputError: (str, write) => write(errorColor(str))
});
program
.option('-n, --number <numbers...>', 'specify numbers')
.option('-l, --letter [letters...]', 'specify letters')
.parse();
// console.log('options array');
// console.log(program.options.map(o => o.flags));
// console.log('visible options');
// const helper = program.createHelp();
// console.log(helper.visibleOptions(program).map(o => o.flags));
if (Object.keys(program.opts()).length || program.args.length) {
console.log('Options: ', program.opts());
console.log('Remaining arguments: ', program.args);
} else {
program.outputHelp();
}