git: Make commit-last-msg available as alias
Move `git-commit-last-msg` into an autoloadable function. This way it can also be executed as external script and thus in a git alias. This makes it additionally possible to call it in vim over fugitive's `:Git`.
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
# Implemented as zsh functions or external programs
|
# Implemented as zsh functions or external programs
|
||||||
checkout-worktree = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-checkout-worktree\""
|
checkout-worktree = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-checkout-worktree\""
|
||||||
|
commit-last-msg = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-commit-last-msg\""
|
||||||
filter-repo = !git-filter-repo
|
filter-repo = !git-filter-repo
|
||||||
flog = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/glog\""
|
flog = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/glog\""
|
||||||
ssync = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-ssync\""
|
ssync = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-ssync\""
|
||||||
|
|||||||
12
.config/zsh/autoload/git/git-commit-last-msg
Executable file
12
.config/zsh/autoload/git/git-commit-last-msg
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
# Commit, but put the last written commit message into the editor buffer.
|
||||||
|
# For this it uses .git/COMMIT_EDITMSG but deletes all lines after and including
|
||||||
|
# the first comment of the file.
|
||||||
|
# Useful for example when the commit-msg hook fails but only slight
|
||||||
|
# modifications are needed.
|
||||||
|
# Additional arguments (for example `-n` to bypass the hooks) can be passed.
|
||||||
|
|
||||||
|
local gitdir
|
||||||
|
gitdir="$(git rev-parse --git-dir)" || return
|
||||||
|
git commit -eF <(sed -n '/^#/q;p' "$gitdir/COMMIT_EDITMSG") "$@"
|
||||||
@@ -393,18 +393,6 @@ cd() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Commit, but put the last written commit message into the editor buffer.
|
|
||||||
# For this it uses .git/COMMIT_EDITMSG but deletes all lines after and including
|
|
||||||
# the first comment of the file.
|
|
||||||
# Useful for example when the commit-msg hook fails but only slight
|
|
||||||
# modifications are needed.
|
|
||||||
# Additional arguments (for example `-n` to bypass the hooks) can be passed.
|
|
||||||
git-commit-last-msg() {
|
|
||||||
local gitdir
|
|
||||||
gitdir="$(git rev-parse --git-dir)" || return
|
|
||||||
git commit -eF <(sed -n '/^#/q;p' "$gitdir/COMMIT_EDITMSG") "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
nvim-man() {
|
nvim-man() {
|
||||||
# Use nvim only if it exists, there was just one argument passed, that
|
# Use nvim only if it exists, there was just one argument passed, that
|
||||||
# argument is not an option (e.g. `--version`) and stdout is a terminal.
|
# argument is not an option (e.g. `--version`) and stdout is a terminal.
|
||||||
|
|||||||
Reference in New Issue
Block a user