2 releases
0.1.2 | Feb 11, 2019 |
---|---|
0.1.0 | Feb 11, 2019 |
#161 in #hook
8KB
125 lines
Shell-hooks
Run pre
and post
hooks while executing a command, just like githooks but for all programs.
Future plans
- Block the command based on status of prehook.
- Extract async hooks and run using tokio.
- Run sync hooks parallely but before the command.
Maybe someday
- Implement this as a feature atop pre-existing shells (mayb ion?).
Getting Started
- Install rust
- Clone this repo.
- Install this tool:
cargo install --path .
. - Alias any tool in
~/.bashrc
by wrapping it withshell-hooks
. Likealias git = 'shell-hooks git'
. - Now add your pre and post hook definitions in
~/.local/share/dshell/definitions/
. The file format is toml. The filename does not matter, only content does.
Writing hooks
Currently there are only two useful fields for hook type, the trigger and action.
- Trigger: It is any command with space replaced with
/
and preceded by/cmd/
. Sogit commit
becomes/cmd/git/commit
. - Action: It is any shell command defined as string.
- Execution: Execution mode. Sync can run paralley yet completes before the command. Return status can block the execution of program. Async run parallely with actual command, return code does not matter. Default: Async
Contributing
If you have any contribution idea, please create an issue.
License
MIT License
Copyright
Dependencies
~1.7–2.8MB
~49K SLoC