- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 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/
有人非常了解 npm yargs 吗?我正在将此包用于命令行参数。但是我找不到“构建器”的解释。我在哪里可以买到这个? yargs.command({ command: 'test',
我正在使用 yargs 为传递给脚本的参数添加命令行选项。当我发出带有脚本名称的帮助命令时,它不显示添加 参数的帮助。 const yargs=require('yargs'); const arg
我一直在尝试,但就是无法消化 Yargs 的 docs . 我需要创建一组命令/子命令: ~$framework generate routed-module ModuleOne ModuleTwo
有人可以解释为什么下面的脚本没有显示所有命令的帮助吗? test.js [command] Commands: test.js list-spaces List spaces Options:
我正在尝试为我正在从事的项目开发一个模块。在将一些核心代码拆分到一个单独的目录并尝试使用 import Noxel from 'noxel' 包含该模块后,我收到了大量警告/错误。 node_modu
我目前在一个应用程序中使用 yargs,该应用程序可以不带参数运行,也可以不带任何参数运行: a '-o' option with exactly one argument a '-f' option
我正在使用 yargs 创建一个带有“build”、“link”、“clean”等子命令的构建工具。 我希望能够键入不带参数的 ./build.js 并默认调用“build”子命令处理程序。 我是这样
我正在玩 yargs如要配置以下命令行选项: Usage: myapp [destination file] 没有选项,没有命令等。只需要一个文件路径来读取和一个可选的文件路径来写入。是什么 yar
我正在构建一个 Node CLI 应用程序,需要将单个文件作为参数传递。 例如: myapp.js /Users/jdoe/my_file.txt 我知道我可以通过 yargs 中的 _ 对象引用 /
我正在教程中开发一个node.js命令行天气应用程序,我意识到当我输入一个字符串作为输入时,仅采用第一个单词,该字符串被拆分为一个单词数组,并且仅第一个单词返回 app.js const yargs
如何从命令的构建器对象中要求我的选项之一 require('yargs') .usage('Usage: $0 [options]') .command( 'read', '
我正在尝试使用 yargs 验证一些参数,如下所示: var args = require('yargs') .command('comando', 'comp
我找不到正确配置位置参数的方法。我有这个代码: #!/usr/bin/env node const create = (argv) => { console.log('create compone
我正在使用 yargs 获取 CLI 参数。我想知道命令和选项之间的区别。 const argv = yargs .command( 'add', 'Add a new note', {
我正在尝试使用 yargs 实现一个 restart 命令。我已经实现了 start 和 stop 命令,现在我想做的就是在 restart 命令中调用这些现有命令。 不幸的是,仅仅使用 yargs.
我正在使用yargs来验证用于数据加载助手库的cli参数。 我希望能够在允许脚本运行之前检查文件是否存在,这与fs.accessSync(filename, fs.R_OK);一样。但是,如果文件不存
我正在使用 yargs 在 gulp 命令中传递参数。我在检查参数的有效性以及标志是否存在时会发生什么情况时遇到了麻烦。 更具体地说,这是我的 gulpfile.js: 'use strict'; v
我正在尝试使用 yarg 添加命令,但是当我运行代码时,我的命令未添加。 这是我正在尝试的: const yargs = require('yargs') //create add command y
我正在使用 Node JS 创建脚本,并希望使用 yargs 启用异步命令行完成功能. completion section of the yargs documentation说:“将生成的脚本连接
我正在尝试运行 yargs.command 命令。我尝试运行此代码片段: import yargs from "yargs"; yargs.command({ command: "list",
我是一名优秀的程序员,十分优秀!