Node.js 使用yargs完成命令行设置
我正在使用node JS创建一个脚本,并希望使用启用异步命令行完成 上面说:“将生成的脚本连接到.bashrc或.bash_配置文件” 但是我没有看到关于如何生成脚本的任何信息。不完全清楚如何生成脚本,但我已经找到了答案 装码Node.js 使用yargs完成命令行设置,node.js,command-line-arguments,yargs,Node.js,Command Line Arguments,Yargs,我正在使用node JS创建一个脚本,并希望使用启用异步命令行完成 上面说:“将生成的脚本连接到.bashrc或.bash_配置文件” 但是我没有看到关于如何生成脚本的任何信息。不完全清楚如何生成脚本,但我已经找到了答案 装码 npm install -g yargs 创建脚本(例如script.js) 保存脚本并设置权限 chmod +x script.js 在命令行上,将命令名(完成调用中的第一个参数)作为第一个参数传递给脚本 ./script.js completion 这将输出要添
npm install -g yargs
创建脚本(例如script.js)
保存脚本并设置权限
chmod +x script.js
在命令行上,将命令名(完成调用中的第一个参数)作为第一个参数传递给脚本
./script.js completion
这将输出要添加到.bashrc或.bash\u配置文件的命令行完成块
如果有人需要更多信息,此处还有其他文档:
./script.js completion
_yargs_completions()
{
local cur_word args type_list
cur_word="${COMP_WORDS[COMP_CWORD]}"
args=$(printf "%s " "${COMP_WORDS[@]}")
# ask yargs to generate completions.
type_list=`./shan.js --get-yargs-completions $args`
COMPREPLY=( $(compgen -W "${type_list}" -- ${cur_word}) )
# if no match was found, fall back to filename completion
if [ ${#COMPREPLY[@]} -eq 0 ]; then
COMPREPLY=( $(compgen -f -- "${cur_word}" ) )
fi
return 0
}