UNPKG

@nesardramos/fmg

Version:

A CLI tool to manage path aliases in your terminal.

49 lines (42 loc) 1.07 kB
// commands/completion.js const { readAliases } = require("../utils/aliases"); function generateCompletionScript() { const aliasNames = Object.keys(readAliases()).join(" "); return ` _fmg_completions() { local -a aliases aliases=(${aliasNames}) _describe 'aliases' aliases } _fmg_fcd() { _alternative 'files:->files:_files' 'aliases:->aliases:_fmg_completions' } _fmg_fcp() { _alternative 'files:->files:_files' 'aliases:->aliases:_fmg_completions' } _fmg_fmv() { _alternative 'files:->files:_files' 'aliases:->aliases:_fmg_completions' } _fmg() { local -a commands commands=(set get list delete setup remove completion) _arguments '*:command:commands' case "$words[2]" in set) _arguments '*:alias:(set_alias) *:(path):_files' ;; get|delete) _fmg_completions ;; *) ;; esac } `; } exports.command = "completion"; exports.describe = "Generates Zsh completion script for fmg. Use this to update your shell configuration."; exports.handler = (argv) => { console.log(generateCompletionScript()); };