1
0
mirror of https://github.com/tiyn/dotfiles.git synced 2025-11-22 22:09:45 +01:00

zsh: master<->main widget now goes both ways

This commit is contained in:
2025-11-16 09:59:37 +01:00
parent 61ce673321
commit 97fca993a3

View File

@@ -85,21 +85,28 @@ function +vi-git-stash() {
# CUSTOM WIDGETS #
##################
_git_fix_master_main() {
_git_fix_main_master() {
if [[ $BUFFER == git\ * ]]; then
if [[ $BUFFER == *" master"* ]]; then
if git rev-parse --verify main >/dev/null 2>&1 \
&& ! git rev-parse --verify master >/dev/null 2>&1; then
local has_main=0
local has_master=0
git rev-parse --verify main >/dev/null 2>&1 && has_main=1
git rev-parse --verify master >/dev/null 2>&1 && has_master=1
if [[ $has_main -eq 1 && $has_master -eq 0 ]]; then
if [[ $BUFFER == *" master"* ]]; then
BUFFER=${BUFFER//" master"/" main"}
fi
fi
if [[ $has_master -eq 1 && $has_main -eq 0 ]]; then
if [[ $BUFFER == *" main"* ]]; then
BUFFER=${BUFFER//" main"/" master"}
fi
fi
fi
zle accept-line
}
zle -N _git_fix_master_main
bindkey "^M" _git_fix_master_main
zle -N _git_fix_main_master
bindkey "^M" _git_fix_main_master
#########
# STYLE #