Mercurial > dotfiles
view dot_config/bash/fzf_aliases @ 840:f3e87577dd3a
fix: sort keys from template dicts to determistically generate scripts
From http://masterminds.github.io/sprig/dicts.html
> The keys function will return a list of all of the keys in one or more dict types.
> Since a dictionary is unordered, the keys will not be in a predictable order.
> They can be sorted with sortAlpha.
This results in a different ordering of commands in the generated scripts
which break the hashing in chezmoi to determine whether the scripts needs to
be re-run.
author | zegervdv <zegervdv@me.com> |
---|---|
date | Fri, 02 Feb 2024 17:44:49 +0100 |
parents | d726921aaabe |
children |
line wrap: on
line source
# ** vim:ft=sh # export FZF_DEFAULT_COMMAND='fd -I --type file --color=always' export FZF_DEFAULT_OPTS='--ansi' __git_log () { git log --format="%C(auto)%h %<(15)%C(auto, green)%cr %>(20)%C(auto, magenta)%an %C(auto)%s %D" } _fzf_complete_git() { ARGS="$@" if [[ $ARGS=='git show'* || \ $ARGS=='git cherry-pick'* || \ $ARGS=='git checkout'* || \ $ARGS=='git commit -a --fixup'* || \ $ARGS=='git reset'* ]]; then _fzf_complete "--reverse --multi" "$@" < <(__git_log) fi } _fzf_complete_git_post() { sed -e 's/^[^a-z0-9]*//' | awk '{print $1}' } complete -F _fzf_complete_git -o default -o bashdefault git __hg_log () { hg ls } _fzf_complete_hg() { ARGS="$@" if [[ $ARGS=='hg rebase'* ]]; then _fzf_complete "--reverse --multi" "$@" < <(hg log --graph --rev=wip --template=oneline) elif [[ $ARGS=='hg ls'* ]]; then _fzf_complete "--reverse --multi" "$@" < <(hg ls -l 100) fi } _fzf_complete_hg_post() { sed -e 's/^[^0-9]*//' | awk '{print $1}' } complete -F _fzf_complete_hg -o default -o bashdefault hg