@nesardramos/fmg
Version:
A CLI tool to manage path aliases in your terminal.
44 lines (39 loc) • 1.27 kB
JavaScript
const yargs = require("yargs/yargs");
const { hideBin } = require("yargs/helpers");
// Load command modules
const setCommand = require("./commands/set");
const getCommand = require("./commands/get");
const listCommand = require("./commands/list");
const deleteCommand = require("./commands/delete");
const setupCommand = require("./commands/setup");
const removeCommand = require("./commands/remove");
const completionCommand = require("./commands/completion");
// Load utilities for the new hidden command
const { readAliases } = require("./utils/aliases");
// Initialize the CLI
yargs(hideBin(process.argv))
.scriptName("fmg")
.usage("Usage: $0 <command> [options]")
.version("1.0.0")
.command(setCommand)
.command(getCommand)
.command(listCommand)
.command(deleteCommand)
.command(setupCommand)
.command(removeCommand)
.command(completionCommand)
// Add the new hidden command for Zsh completion
.command(
"_get-aliases",
"Internal command to get aliases for completion.",
(yargs) => {
yargs.hide("yargs");
},
(argv) => {
const aliases = readAliases();
console.log(Object.keys(aliases).join(" "));
}
)
.demandCommand(1, "You need to specify a command.")
.help().argv;