annotate dot_config/bash/fzf_aliases @ 826:b2e6175efcad

feat: add hgrc grammar and highlights
author zegervdv <zegervdv@me.com>
date Fri, 22 Dec 2023 10:27:32 +0100
parents d726921aaabe
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
1 # ** vim:ft=sh
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
2
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
3 # export FZF_DEFAULT_COMMAND='fd -I --type file --color=always'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
4 export FZF_DEFAULT_OPTS='--ansi'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
5
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
6 __git_log () {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
7 git log --format="%C(auto)%h %<(15)%C(auto, green)%cr %>(20)%C(auto, magenta)%an %C(auto)%s %D"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
8 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
9
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
10 _fzf_complete_git() {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
11 ARGS="$@"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
12
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
13 if [[ $ARGS=='git show'* || \
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
14 $ARGS=='git cherry-pick'* || \
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
15 $ARGS=='git checkout'* || \
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
16 $ARGS=='git commit -a --fixup'* || \
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
17 $ARGS=='git reset'* ]]; then
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
18 _fzf_complete "--reverse --multi" "$@" < <(__git_log)
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
19 fi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
20 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
21
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
22 _fzf_complete_git_post() {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
23 sed -e 's/^[^a-z0-9]*//' | awk '{print $1}'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
24 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
25
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
26 complete -F _fzf_complete_git -o default -o bashdefault git
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
27
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
28 __hg_log () {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
29 hg ls
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
30 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
31
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
32 _fzf_complete_hg() {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
33 ARGS="$@"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
34
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
35 if [[ $ARGS=='hg rebase'* ]]; then
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
36 _fzf_complete "--reverse --multi" "$@" < <(hg log --graph --rev=wip --template=oneline)
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
37 elif [[ $ARGS=='hg ls'* ]]; then
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
38 _fzf_complete "--reverse --multi" "$@" < <(hg ls -l 100)
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
39 fi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
40 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
41
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 _fzf_complete_hg_post() {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
43 sed -e 's/^[^0-9]*//' | awk '{print $1}'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
44 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
45
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
46 complete -F _fzf_complete_hg -o default -o bashdefault hg