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