mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-18 10:22:00 +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