gpt4 book ai didi

node.js - 使用 yargs 设置命令行补全

转载 作者:搜寻专家 更新时间:2023-10-31 23:38:03 26 4
gpt4 key购买 nike

我正在使用 Node JS 创建脚本,并希望使用 yargs 启用异步命令行完成功能.

completion section of the yargs documentation说:“将生成的脚本连接到您的 .bashrc 或 .bash_profile”

但是我没有看到任何关于如何生成脚本的信息。

最佳答案

documentation尚不完全清楚如何执行此操作,但我想通了。

安装yargs

npm install -g yargs

创建您的脚本(例如 script.js)

#! /usr/local/bin/node
var argv = require('yargs')
.completion('completion', function(current, argv, done) {
setTimeout(function() {
done([
'apple',
'banana'
]);
}, 500);
})
.argv;

保存脚本并设置权限

chmod +x script.js

在命令行上将命令名称(完成调用中的第一个参数)作为第一个参数传递给您的脚本。

./script.js completion

这将输出命令行完成 block 以添加到.bashrc 或.bash_profile

_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
}

关于node.js - 使用 yargs 设置命令行补全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32258362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com