70 lines
1.8 KiB
TypeScript
Executable File
70 lines
1.8 KiB
TypeScript
Executable File
#!/usr/bin/env runts -- --allow-import
|
|
|
|
import {args, log, term,} from "https://global.hatter.ink/script/get/@44/deno-commons-mod.ts";
|
|
import {parseArgs} from "jsr:@std/cli/parse-args";
|
|
|
|
function main() {
|
|
const flags = parseArgs(args(), {
|
|
boolean: [
|
|
"debug",
|
|
"info",
|
|
"success",
|
|
"ok",
|
|
"warn",
|
|
"warning",
|
|
"error",
|
|
"bold",
|
|
"under",
|
|
"auto",
|
|
],
|
|
string: [
|
|
"color",
|
|
"bgcolor",
|
|
],
|
|
});
|
|
|
|
if (flags._.length === 0) {
|
|
log.info("-");
|
|
return;
|
|
}
|
|
|
|
if (flags.error) {
|
|
log.error(...flags._);
|
|
} else if (flags.warn || flags.warning) {
|
|
log.warn(...flags._);
|
|
} else if (flags.ok || flags.success) {
|
|
log.success(...flags._);
|
|
} else if (flags.info) {
|
|
log.info(...flags._);
|
|
} else if (flags.debug) {
|
|
log.debug(...flags._);
|
|
} else {
|
|
if (flags.auto) {
|
|
console.log(term.auto(flags._.join(" ")));
|
|
} else {
|
|
const sb: string[] = [];
|
|
if (flags.color) {
|
|
sb.push(`[${flags.color}]`);
|
|
}
|
|
if (flags.bold) {
|
|
sb.push(`[bold]`);
|
|
}
|
|
if (flags.under) {
|
|
sb.push(`[under]`);
|
|
}
|
|
if (flags.bgcolor) {
|
|
sb.push(`[bg_${flags.bgcolor}]`);
|
|
}
|
|
sb.push("[[[");
|
|
sb.push(flags._.join(" "));
|
|
sb.push("]]]");
|
|
console.log(term.auto(sb.join("")));
|
|
}
|
|
}
|
|
}
|
|
|
|
main();
|
|
|
|
// @SCRIPT-SIGNATURE-V1: yk-r1.ES256.20260211T230438+08:00.MEYCIQC2/bKfjlqlMdf559NI
|
|
// rZ5wBvY+O3qT58e1otJz+sZVNwIhAIIqWyavfpvG25u6YOGkSGSgTfrM77bx+7VvfE5bptMc
|