6 个版本
使用旧的 Rust 2015
0.1.5 | 2018年7月8日 |
---|---|
0.1.4 | 2018年7月8日 |
#21 in #开发者工具
99KB
302 行
fbenv
注意:早期alpha版本!
为什么我应该使用这个工具?
它是 direnv 但具有更广泛的适用范围。所以如果你想使用基于目录的环境,请使用 direnv
,但如果你想为当前shell创建环境,可以使用 fbenv
。
先决条件
- 通过
cargo install fbenv
安装 - 可选 安装 fzf 以帮助完成 zsh 完成脚本
用法
- 将文件
fbenv.toml
添加到您的家目录中
[environment1]
SOME_VAR = "foo"
[environment2]
SOME_VAR = "bar"
- 手动使用
fbenv ls
显示所有环境的键fbenv get environment1
将显示类似export FBENV=environment1; export SOME_VAR="foo";
- 手动切换到指定环境
- 评估
fbenv
的输出eval $(fbenv get environment1)
printenv | grep SOME_VAR
应返回"foo"
- 评估
- 或通过 zsh 完成脚本
已知限制
- 目前仅支持TOML表格
SOME_VAR = "blubb"
[environment1]
SOME_OTHER_VAR = "bla"
将忽略变量 SOME_VAR
!
ZSH 完成脚本
- 安装
fzf
以在您的流程中添加额外的功能 :) - 将此添加到您的
zsh
配置中
if [[ -x "$(command -v fbenv)" ]];
then
if [[ -x "$(command -v fzf)" ]];
then
eval $(fbenv print-zsh-setup --with-fzf 2>/dev/null);
else
eval $(fbenv print-zsh-setup 2>/dev/null);
fi;
fi;
- 现在您可以通过
switch-env
命令切换环境
grml ZSH
如果您幸运地使用了 grml zsh 配置,您可以向提示符中添加当前环境
function fb_env_prompt () {
if [ -n "$FBENV" ];
then
REPLY="fbenv ~ $FBENV "
else
REPLY=""
fi;
}
grml_theme_add_token longpath '%60<..<%~%<<' '%B' '%b
grml_theme_add_token magentahost '%m' '%F{magenta}' '%f'
grml_theme_add_token greenuser '%n' '%F{green}' '%f'
grml_theme_add_token gtprompt "»"
grml_theme_add_token space ' '
grml_theme_add_token fb-env -f fb_env_prompt '%F{cyan}' '%f'
zstyle ':prompt:grml:left:setup' items date space time fb-env change-root greenuser at magentahost newline gtprompt space
这看起来是这样的
2018-07-08 22:46:13 fbenv ~ environment1 user@host
»
依赖项
~1.3–10MB
~68K SLoC