#hook #shell #tool

app shell-hooks

在执行命令时运行prepost钩子,就像githooks一样,但适用于所有程序

2个版本

0.1.2 2019年2月11日
0.1.0 2019年2月11日

#161#hook

自定义许可协议

8KB
125

Shell-hooks

在执行命令时运行prepost钩子,就像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