diff --git a/plugins/pre-commit/README.md b/plugins/pre-commit/README.md index e6d80d369..e098ea2e8 100644 --- a/plugins/pre-commit/README.md +++ b/plugins/pre-commit/README.md @@ -1,6 +1,8 @@ # Pre-commit plugin This plugin adds aliases for common commands of [pre-commit](https://pre-commit.com/). +It also supports [prek](https://github.com/prek/prek) as a drop-in replacement. +If `prek` is available, it will be used; otherwise, `pre-commit` is used as fallback. To use this plugin, add it to the plugins array in your zshrc file: @@ -10,10 +12,11 @@ plugins=(... pre-commit) ## Aliases -| Alias | Command | Description | -| ------- | -------------------------------------- | ------------------------------------------------------ | -| prc | `pre-commit` | The `pre-commit` command | -| prcau | `pre-commit autoupdate` | Update hooks automatically | -| prcr | `pre-commit run` | The `pre-commit run` command | -| prcra | `pre-commit run --all-files` | Run pre-commit hooks on all files | -| prcrf | `pre-commit run --files` | Run pre-commit hooks on a given list of files | +| Alias | Command | Description | +| ----- | ------------------------------------------------------ | --------------------------------------------- | +| prc | `prek` or `pre-commit` | The pre-commit command | +| prcau | `prek auto-update` or `pre-commit autoupdate` | Update hooks automatically | +| prcr | `prek run` or `pre-commit run` | The pre-commit run command | +| prcra | `prek run --all-files` or `pre-commit run --all-files` | Run pre-commit hooks on all files | +| prcrf | `prek run --files` or `pre-commit run --files` | Run pre-commit hooks on a given list of files | + diff --git a/plugins/pre-commit/pre-commit.plugin.zsh b/plugins/pre-commit/pre-commit.plugin.zsh index c3d0c6290..11219fed2 100644 --- a/plugins/pre-commit/pre-commit.plugin.zsh +++ b/plugins/pre-commit/pre-commit.plugin.zsh @@ -1,8 +1,17 @@ -# Aliases for pre-commit -alias prc='pre-commit' +# Aliases for pre-commit (uses prek if available, else pre-commit) +if command -v prek &> /dev/null; then + _prc_cmd='prek' + _prc_autoupdate='auto-update' +else + _prc_cmd='pre-commit' + _prc_autoupdate='autoupdate' +fi -alias prcau='pre-commit autoupdate' +alias prc="$_prc_cmd" + +alias prcau="$_prc_cmd $_prc_autoupdate" + +alias prcr="$_prc_cmd run" +alias prcra="$_prc_cmd run --all-files" +alias prcrf="$_prc_cmd run --files" -alias prcr='pre-commit run' -alias prcra='pre-commit run --all-files' -alias prcrf='pre-commit run --files'