+_coresched_module()
+{
+ compopt -o nosort
+
+ COMPREPLY=()
+
+ # If the previous argument equals the program name
+ if [[ "$1" == "$3" ]]; then
+ COMPREPLY=( $(compgen -W "get new copy --help --version" -- "$2") )
+ return 0
+ fi
+
+ case $3 in
+ "-s"|"--source"|"-d"|"--dest")
+ local pids sorted_pids
+ pids=$(cd /proc && echo [0-9]*)
+ sorted_pids=$(echo "${pids[@]}" | tr ' ' '\n' | sort -nr | tr '\n' ' ')
+ COMPREPLY=( $(compgen -W "$sorted_pids" -- "$2") )
+ return 0
+ ;;
+ "-t"|"--dest-type")
+ COMPREPLY=( $(compgen -W "pid tgid pgid" -- "$2") )
+ return 0
+ ;;
+ "--")
+ COMPREPLY=( $(compgen -c "$2") )
+ return 0
+ ;;
+ esac
+
+ local function="${COMP_WORDS[1]}"
+ case $function in
+ 'get')
+ COMPREPLY=( $(compgen -W "--source" -- "$2") )
+ return 0
+ ;;
+ 'new')
+ COMPREPLY=( $(compgen -W "--dest -- --dest-type --verbose" -- "$2") )
+ return 0
+ ;;
+ 'copy')
+ COMPREPLY=( $(compgen -W "--source --dest -- --dest-type --verbose" -- "$2") )
+ return 0
+ ;;
+ '-h'|'--help'|'-V'|'--version')
+ return 0
+ ;;
+ esac
+ return 0
+}
+complete -F _coresched_module coresched