mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-19 10:51:57 +00:00
feat(git-commit): create plugin (#9646)
Co-authored-by: K. Akatsuki <thevortexspirit@gmail.com>
This commit is contained in:
parent
f694d5ecc9
commit
1abc1d998a
2 changed files with 59 additions and 0 deletions
36
plugins/git-commit/README.md
Normal file
36
plugins/git-commit/README.md
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# 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"`
|
23
plugins/git-commit/git-commit.plugin.zsh
Normal file
23
plugins/git-commit/git-commit.plugin.zsh
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
_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
|
Loading…
Reference in a new issue