diff options
Diffstat (limited to '.bashrc')
| -rw-r--r-- | .bashrc | 38 |
1 files changed, 30 insertions, 8 deletions
@@ -233,6 +233,36 @@ alias cd="pushd" # change directory alias bd="popd" # back directory alias fd="repushd" + + cdrepo() { + cd "$HOME/Programming/$1/$2" + } + # Huge thanks to: https://stackoverflow.com/a/39729507 + _cdrepo_comp() { + case "$1" in + (cdl) _folder='GitLab-repos' ;; + (cdg) _folder='GitHub-repos' ;; + (cds) _folder='source' ;; + esac + + while IFS= read line + do + line="${line##"$HOME"/Programming/"$_folder"/}/" + line="${line// /\\ }" + COMPREPLY+=("$line") + done <<EOF +$(compgen -d "$HOME"/Programming/"$_folder"/"$2") +EOF + } + + alias cdl="cdrepo GitLab-repos " + complete -o nospace -F _cdrepo_comp cdl + + alias cdg="cdrepo GitHub-repos " + complete -o nospace -F _cdrepo_comp cdg + + alias cds="cdrepo source " + complete -o nospace -F _cdrepo_comp cds # }}} # Processes {{{ @@ -436,14 +466,6 @@ then alias combinepdf="gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf" fi -cdrepo () { - [ -n "$2" ] && cd "$HOME/Programming/$1/$2" \ - || cd "$HOME/Programming/$1" -} -alias cdg="cdrepo GitHub-repos" -alias cdl="cdrepo GitLab-repos" -alias cds="cdrepo source" - alias wudo="sudo -u www-data" alias q="exit" |
