2个版本
0.1.2 | 2019年2月11日 |
---|---|
0.1.0 | 2019年2月11日 |
#161 在 #hook
8KB
125 行
Shell-hooks
在执行命令时运行pre
和post
钩子,就像githooks一样,但适用于所有程序。
未来计划
- 根据预钩子的状态阻止命令。
- 提取异步钩子并使用tokio运行。
- 并行运行同步钩子,但在命令之前。
也许有一天
- 将其作为功能集成到现有的shell(比如ion)中。
入门指南
- 安装rust
- 克隆此存储库。
- 安装此工具:
cargo install --path .
。 - 在
~/.bashrc
中通过将shell-hooks
包装在工具周围来为任何工具创建别名。例如:alias git = 'shell-hooks git'
。 - 现在在
~/.local/share/dshell/definitions/
中添加您的预和后钩子定义。文件格式是toml。文件名不重要,内容才是关键。
编写钩子
目前对于钩子类型,只有两个有用的字段:触发器和动作。
- 触发器:任何命令,其中空格被替换为
/
,并且前面有/cmd/
。因此,git commit
变为/cmd/git/commit
。 - 动作:定义为字符串的任何shell命令。
- 执行:执行模式。同步可以在命令之前并行运行,但必须在命令之前完成。返回状态可以阻止程序的执行。异步与实际命令并行运行,返回码不重要。默认:异步
贡献
如果您有任何贡献想法,请创建一个问题。
许可协议
MIT许可协议
版权
依赖项
~1.7–2.8MB
~49K SLoC