49 lines
1 KiB
TypeScript
49 lines
1 KiB
TypeScript
import * as yargs from "yargs";
|
|
import * as table from "./table";
|
|
import * as scanner from "./scanner";
|
|
|
|
export var help = "Counts the number of works in the given input";
|
|
|
|
export function args(argv) {
|
|
return argv
|
|
.help("help")
|
|
|
|
.default('fields', ['_basename', '_words:r'])
|
|
|
|
.default('table-start', '')
|
|
.default('table-end', '')
|
|
.default('table-delimiter', ': ')
|
|
.boolean('table-rule')
|
|
.default('table-rule', false)
|
|
.boolean('table-header')
|
|
.default('table-header', false)
|
|
|
|
.alias('t', 'total')
|
|
.boolean('total')
|
|
.alias('s', 'separator')
|
|
.boolean('separator')
|
|
|
|
.alias('o', 'output')
|
|
.default('output', '-')
|
|
|
|
.demand(1)
|
|
.argv;
|
|
}
|
|
|
|
export function run(argv) {
|
|
var files = argv._.splice(1);
|
|
var data = scanner.scanFiles(argv, files);
|
|
|
|
if (argv.total)
|
|
{
|
|
argv.fields[1] += "t";
|
|
}
|
|
|
|
if (argv.separator)
|
|
{
|
|
argv.fields[1] += "s";
|
|
}
|
|
|
|
table.render(argv, data);
|
|
}
|