2 个版本
0.5.3 | 2020 年 11 月 9 日 |
---|---|
0.5.2 | 2020 年 11 月 6 日 |
0.4.0 |
|
0.3.0 |
|
0.1.4 |
|
在 命令行工具 中排名 2928
每月下载量 45
32KB
942 行
autocshell
autocshell 是一个命令行工具,可以生成您可以在其中使用以提供命令行程序自动完成功能的 shell 文件/脚本。
此程序可以生成各种 shell(目前仅为 bash 和 zsh)的脚本,而不仅仅是 c-shell(不要因为名称中包含 auto-cshell 而混淆)。
autocshell 仅需要创建一个简单的配置文件作为输入。要检查配置文件格式,请使用 autocshell 的 --config-help 标志运行。
默认情况下,autocshell 将脚本打印到标准输出,因此您可以将其输出重定向到您喜欢的任何文件,但通过提供 --output 选项,程序可以为您完成此操作 :)
配置文件
您必须提供的输入配置文件(使用 -c 或 --config 选项)具有以下格式
shell: <shell_type> (bash|zsh)
program_name: <program_name>
use_equals_sign: (true|false) [default: true] (available only for zsh)
option*:
short?: <short_name> _
|-> At least one should exist
long?: <long_name> ‾
accepts_value?: (true|false) [default: true] (available only for zsh)
accepts_files?: (true|false) [default: false]
accepts_multiple?: (true|false) [default: false] (available only for zsh)
description?:
fixed_values?: [<fixed_value>, ...]
字段/值说明
字段:shell
值:您要为其生成脚本的 shell。
必填:是
字段:program_name
值:您要为其生成自动完成的程序的名称
必填:是
字段:use_equals_sign
值:表示我们是否希望在选项完成后添加等号(=)。这仅适用于 zsh。
默认值:true
必填:否
字段:option
值:无。选项字段没有值。它开始新的选项定义
必填:否
字段:short
值:短选项描述(必须包含 -)
必填:否*
字段:long
值:长选项描述(必须包含 --)
必填:否*
字段:accepts_value
值:表示此选项是否接受选项(它是一个标志)。这仅适用于 zsh。
默认值:true
必填:否
字段:accepts_files
值:表示该选项是否接受文件/目录作为值。必须是 true 或 false
默认值:false
必填:否
字段:accepts_multiple
值:此值表示选项是否可以在 cli 中多次出现。这仅适用于 zsh。
默认值:false
必填:否
字段:description
值:此值包含在自动完成此选项时显示的描述。这仅适用于 zsh。
必填:否
字段:fixed_values
值:此值是一个用方括号和逗号分隔的固定值列表,该列表将自动完成该选项。这仅在 zsh 中有效。
必填:否
短字段和长字段不是必需的,但是如果您定义了一个选项,至少必须存在其中之一。
将完成添加到shell
加载和注册程序自动完成函数的推荐方法是创建一个文件夹,在该文件夹中您将保存所有生成的文件。
然后,在您的初始化shell脚本中,您可以添加以下内容:
AUTOCOMPLETE_DIR=/path/to/dir
for f in$(find ${AUTOCOMPLETE_DIR} -name "*.<shell_name>");
do source $f;
done
当然,循环可能需要根据shell的可接受语法进行调整。
Bash
对于bash,您不需要做任何事情,只需像上面那样source文件即可。
Zsh
对于zsh,您必须已运行compinit,否则compdef将失败。
如果您使用oh-my-zsh,这将在.zshrc文件中完成,在oh-my-zsh.sh被source的行。
依赖关系
~750KB