Package: environment-modules
Version: 4.0.0-1
Severity: normal
Dear Maintainer,
Somehow the bash autocompletion did not work. I updatetd from 3.2 to 4.0.
To fix the autocompletion I had to move /usr/share/modules/init/bash_completion
to /etc/bash_completion.d/modules and overwrite the old config to make it work.
Best,
Andreas
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
* What exactly did you do (or not do) that was effective (or
ineffective)?
* What was the outcome of this action?
* What outcome did you expect instead?
*** End of the template - remove these template lines ***
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (990, 'testing'), (900, 'stable'), (500, 'unstable'), (1,
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.13.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=ANSI_X3.4-1968)
(ignored: LC_ALL set to C), LANGUAGE= (charmap=ANSI_X3.4-1968) (ignored: LC_ALL
set to C)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages environment-modules depends on:
ii debhelper 10.9.2
ii libc6 2.24-17
ii libtcl8.6 8.6.7+dfsg-1
ii tcl 8.6.0+9
ii tcl8.6 8.6.7+dfsg-1
environment-modules recommends no packages.
environment-modules suggests no packages.
-- Configuration Files:
/etc/bash_completion.d/modules changed:
_module_avail() {
echo "test"
module avail -t 2>&1 | sed '
/^-\+/d; /^\s*$/d;
/->.*$/d;
/:$/d;
/:ERROR:/d;
s#^\(.*\)/\(.\+\)(.*default.*)#\1\n\1\/\2#;
s#(.*)$##g;
s#\s*$##g;
s#/*$##g;'
}
_module_savelist() {
module savelist -t 2>&1 | sed '
/Named collection list$/d;
/:$/d;
/:ERROR:/d;'
}
_module_not_yet_loaded() {
_module_avail | sort | sed -r "\%^(${LOADEDMODULES//:/|})$%d"
}
_module_long_arg_list() {
local cur="$1" i
if [[ ${COMP_WORDS[COMP_CWORD-2]} == sw* ]]
then
COMPREPLY=( $(compgen -W "$(_module_not_yet_loaded)" -- "$cur") )
return
fi
for ((i = COMP_CWORD - 1; i > 0; i--))
do case ${COMP_WORDS[$i]} in
add|load)
COMPREPLY=( $(compgen -W "$(_module_not_yet_loaded)" -- "$cur") )
break;;
rm|remove|unload|switch|swap)
COMPREPLY=( $(IFS=: compgen -W "${LOADEDMODULES}" -- "$cur") )
break;;
esac
done
}
if [ "$MODULES_USE_COMPAT_VERSION" = '1' ]; then
_module() {
local cur="$2" prev="$3" cmds opts
COMPREPLY=()
cmds="add apropos avail clear display help\
initadd initclear initlist initprepend initrm initswitch\
keyword list load purge refresh rm show swap switch\
unload unuse update use whatis"
opts="-c -f -h -i -l -s -t -u -v -H -V\
--create --force --help --human --icase\
--long --silent --terse --userlvl --verbose --version"
case "$prev" in
add|load) COMPREPLY=( $(compgen -W "$(_module_not_yet_loaded)" -- "$cur")
);;
rm|remove|unload|switch|swap)
COMPREPLY=( $(IFS=: compgen -W "${LOADEDMODULES}" -- "$cur") );;
unuse) COMPREPLY=( $(IFS=: compgen -W "${MODULEPATH}" -- "$cur") );;
use|*-a*) ;; # let readline handle the completion
-u|--userlvl) COMPREPLY=( $(compgen -W "novice expert advanced" -- "$cur")
);;
av*|disp*|help|show|whatis)
COMPREPLY=( $(compgen -W "$(_module_avail)" -- "$cur") );;
*) if test $COMP_CWORD -gt 2
then
_module_long_arg_list "$cur"
else
case "$cur" in
# The mappings below are optional abbreviations for convenience
ls) COMPREPLY="list";; # map ls -> list
r*) COMPREPLY="rm";; # also covers 'remove'
sw*) COMPREPLY="switch";;
-*) COMPREPLY=( $(compgen -W "$opts" -- "$cur") );;
*) COMPREPLY=( $(compgen -W "$cmds" -- "$cur") );;
esac
fi;;
esac
}
else
_module() {
local cur="$2" prev="$3" cmds opts
COMPREPLY=()
cmds="add apropos aliases avail display help\
initadd initclear initlist initprepend initrm\
keyword list load path paths purge refresh reload restore\
rm save savelist saveshow saverm search show source swap\
switch test unload unuse use whatis"
opts="-D -h -V --debug --help --version"
list_opts="-l -t --long --terse"
avail_opts="-d -L -l -t --default --latest --long --terse"
case "$prev" in
add|load) COMPREPLY=( $(compgen -W "$(_module_not_yet_loaded)" --
"$cur") );;
avail) COMPREPLY=( $(compgen -W "$avail_opts $(_module_avail)" --
"$cur") );;
list|savelist) COMPREPLY=( $(compgen -W "$list_opts" -- "$cur") );;
restore|save|saveshow|saverm)
COMPREPLY=( $(compgen -W "$(_module_savelist)" -- "$cur")
);;
rm|remove|unload|switch|swap)
COMPREPLY=( $(IFS=: compgen -W "${LOADEDMODULES}" --
"$cur") );;
unuse) COMPREPLY=( $(IFS=: compgen -W "${MODULEPATH}" -- "$cur")
);;
use|*-a*) ;; # let readline handle the completion
display|help|show|test|whatis)
COMPREPLY=( $(compgen -W "$(_module_avail)" -- "$cur") );;
-h|--help|-V|--version|aliases|apropos|keyword|purge|refresh|reload|search|source)
;;
initadd|initclear|initlist|initprepend|initrm)
;;
*) if test $COMP_CWORD -gt 2
then
_module_long_arg_list "$cur"
else
case "$cur" in
# The mappings below are optional abbreviations for convenience
ls) COMPREPLY="list";; # map ls -> list
sw*) COMPREPLY="switch";;
-*) COMPREPLY=( $(compgen -W "$opts" -- "$cur") );;
*) COMPREPLY=( $(compgen -W "$opts $cmds" -- "$cur") );;
esac
fi;;
esac
}
fi
complete -o default -F _module module
-- no debconf information