X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.profile.d%2Fcompletion.bashrc;h=cf77c1550425fe0730aa46ed51ce52de195bd631;hb=d4e50810bbf08371d1875a7c71dd98bb84f44c24;hp=663b56ddd6ef42f98b563bd8c4054b58792e6200;hpb=756cfebbb2ef97127f5d5c0ff2254c1e16441d9b;p=profile.git diff --git a/.profile.d/completion.bashrc b/.profile.d/completion.bashrc index 663b56d..cf77c15 100644 --- a/.profile.d/completion.bashrc +++ b/.profile.d/completion.bashrc @@ -30,7 +30,8 @@ function _process() { function _known_hosts() { cur=${COMP_WORDS[COMP_CWORD]} - HOSTS=$(sed 's/[ ].*//;s/,/\n/' ~/.ssh/known_hosts) + HOSTS=$(sed 's/[ ].*//;s/,/\ +/' ~/.ssh/known_hosts) COMPREPLY=($(compgen -W "$HOSTS" -- "$cur")) return 0 @@ -80,6 +81,29 @@ function _make() { return 0 } +# Look for modules. +function _modprobe() { + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + ver=$(uname -r) + MODULES="$(find /lib/modules/$ver -name \*.ko | sed -n 's@^.*/\([^/]*\).ko$@\1@p')" + + COMPREPLY=($(compgen -W "$MODULES" -- "$cur")) + return 0 +} + +# Look for loaded modules. +function _rmmod() { + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + MODULES="$(lsmod | sed '1d;s/ .*$//')" + + COMPREPLY=($(compgen -W "$MODULES" -- "$cur")) + return 0 +} + complete -F _ssh rollout complete -F _ssh ssh complete -F _ssh sshterm @@ -94,3 +118,6 @@ complete -F _process killall complete -F _pid kill complete -F _pid strace complete -F _known_hosts kill_known_host +complete -F _known_hosts knh +complete -F _modprobe modprobe +complete -F _rmmod rmmod