Unverified Commit 1abc1d99 authored by Oscar Lee-Vermeren's avatar Oscar Lee-Vermeren Committed by GitHub

feat(git-commit): create plugin (#9646)

parent f694d5ec
# git-commit plugin
The git-commit plugin adds several [git aliases](https://www.git-scm.com/docs/git-config#Documentation/git-config.txt-alias) for [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/#summary) messages.
To use it, add `git-commit` to the plugins array in your zshrc file:
```zsh
plugins=(... git-commit)
```
## Syntax
```zshrc
git <type> [(-s, --scope) "<scope>"] "<message>"
```
> ⚠️ Single/Double quotes around the scope and message are required
Where `type` is one of the following:
- `build`
- `chore`
- `ci`
- `docs`
- `feat`
- `fix`
- `perf`
- `refactor`
- `revert`
- `style`
- `test`
## Examples
`git style "remove trailing whitespace"` -> `git commit -m "style: remove trailing whitespace"`
`git fix -s "router" "correct redirect link"` -> `git commit -m "fix(router): correct redirect link"`
_register() {
if ! git config --global --get-all alias.$1 &>/dev/null; then
git config --global alias.$1 '!a() { if [[ "$1" == "-s" || "$1" == "--scope" ]]; then git commit -m "'$1'(${2}): ${@:3}"; else git commit -m "'$1': ${@}"; fi }; a'
fi
}
aliases=(
'build'
'chore'
'ci'
'docs'
'feat'
'fix'
'perf'
'refactor'
'revert'
'style'
'test'
)
for alias in "${aliases[@]}"; do
_register $alias
done
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment