76 个版本
0.14.0 | 2024年7月17日 |
---|---|
0.13.0 | 2023年8月5日 |
0.12.6-alpha.7 |
|
0.10.1 | 2022年11月23日 |
0.5.1 | 2020年3月27日 |
#807 在 命令行工具
每月211 次下载
用于 ranger
205KB
1.5K SLoC
complate
complate
是一个支持交互模式(通过 TUI 行为提示用户输入值)和无头模式(用于自动化,如 CI 管道)的通用文本模板 CLI 程序。
安装
- 使用 cargo
cargo安装 complate
- 手动方式
从 GitHub 发布版下载并安装。
配置示例
version: 0.13
templates:
zero:
content:
inline: |-
{{ a.alpha }}
{{ b.bravo }}
variables:
a.alpha:
static: alpha
b.bravo: arg
one:
content:
file: ./.complate/templates/arbitraty-template-file.tpl
variables:
a.pwd:
env: "PWD"
two:
content:
inline: |-
{{ a.alpha }}
{{ b.bravo }}
{{ c.charlie }}
{{ d.delta }}
{{ e.echo }}
variables:
a.alpha:
prompt: "alpha"
b.bravo:
shell: "printf bravo"
c.charlie:
static: "charlie"
d.delta:
select:
text: Select the version level that shall be incremented
options:
alpha:
display: alpha
value:
static: alpha
bravo:
display: bravo
value:
shell: printf bravo
e.echo:
check:
text: Select the components that are affected
separator: ", "
options:
alpha:
display: alpha
value:
static: alpha
bravo:
display: bravo
value:
shell: printf bravo
f.foxtrot:
env: "FOXTROT"
three:
content:
inline: |-
{{ test }}
{{ _decode "dGVzdA==" }}
helpers:
"_decode": printf "$(printf $VALUE | base64 -D)"
variables:
test:
static: "test"
键 | 行为 | 输入 |
---|---|---|
arg | 通过命令行输入期望输入作为参数 | None |
env | 从指定的环境变量中检索值 | None |
static | 简单地用静态值替换变量 | None |
prompt | 提示用户输入文本(可以为空) | 提示 |
shell | 调用 shell 命令来解析变量(从 STDOUT 读取) |
None |
select | 提示用户从列表中选择一个项目 | text : 字符串(上下文),options : 列表(可供选择的项目) |
check | 提示用户从列表中选择 0..n 个项目(多选) |
text : 字符串(上下文),options : 选项列表 {display: str, value: str}(可供选择的项目) |
由于 shell 值提供程序能够运行任意 shell 命令,因此只有当明确设置了 SHELL_TRUST
参数时才允许使用。有关此设置的可能的值,请参阅 render
命令参考。如果 未 设置,提供程序将抛出无法恢复的错误,程序将终止。
命令参考
免责声明
所有标记为 实验性
的功能 不 被视为公共 API,因此明确不适用于主要版本内的向后兼容性策略(参见 https://semver.org[semver v2])。使用这些功能时请自行承担风险!
依赖关系
~11–21MB
~292K SLoC