adding .git alias, and .ge now uses fzf exec

This commit is contained in:
Matthias Johnson 2025-03-15 01:29:11 -06:00
parent 31c04c09c4
commit 7e7f323184

View file

@ -3,7 +3,10 @@
[[ ! "${DOT_FILES}" ]] && echo "NOT setting dotGit aliases, since DOT_FILES not set." && return [[ ! "${DOT_FILES}" ]] && echo "NOT setting dotGit aliases, since DOT_FILES not set." && return
[[ ! "${DOT_HOME}" ]] && echo "NOT setting dotGit aliases, since DOT_HOME not set." && return [[ ! "${DOT_HOME}" ]] && echo "NOT setting dotGit aliases, since DOT_HOME not set." && return
alias .g='git --git-dir=${DOT_FILES} --work-tree=${DOT_HOME}' # the master alias
alias .git='git --git-dir=${DOT_FILES} --work-tree=${DOT_HOME}'
# and all the shortcuts
alias .g='.git'
alias .ga='.g add' alias .ga='.g add'
alias .gc='.g commit' alias .gc='.g commit'
alias .gco='.g checkout' alias .gco='.g checkout'
@ -15,16 +18,20 @@ alias .glo='.g log --oneline --decorate'
alias .glg='.g log --stat' alias .glg='.g log --stat'
alias .glgp='.g log --stat --patch' alias .glgp='.g log --stat --patch'
# if fzf is installed we can have nice things
# https://github.com/junegunn/fzf
if [[ $(command -v fzf) ]]; then
# shellcheck disable=SC2142,SC215 # shellcheck disable=SC2142,SC215
alias .ge='_dotgit_ge(){ alias .ge='_dotgit_ge(){
cd ${DOT_HOME} cd ${DOT_HOME}
FILE=$( Q="$@"; .g ls-files --full-name | .g ls-files --full-name |
fzf --preview "bat -n --color=always {}" -q "${Q}") fzf -0 --bind "enter:execute($EDITOR {})" \
[[ "$FILE" ]] && $EDITOR "${FILE}" --preview "bat -n --color=always {}" \
--preview-window "right,60%,<60(down,75%),+{2}/2" \
-q "${@:-}"
cd ${OLDPWD} cd ${OLDPWD}
}; _dotgit_ge' }; _dotgit_ge'
if [[ $(command -v fzf) ]]; then
# shellcheck disable=SC2142 # shellcheck disable=SC2142
alias .gg='_dotgit_gg(){ alias .gg='_dotgit_gg(){
cd ${DOT_HOME} cd ${DOT_HOME}
@ -35,6 +42,7 @@ if [[ $(command -v fzf) ]]; then
cd ${OLDPWD} cd ${OLDPWD}
}; _dotgit_gg' }; _dotgit_gg'
else else
# simplified grep but no "interactive file select"
alias .gg='.g grep' alias .gg='.g grep'
fi fi