diff options
Diffstat (limited to 'contrib/mc')
-rw-r--r-- | contrib/mc | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/contrib/mc b/contrib/mc new file mode 100644 index 00000000..c834e05e --- /dev/null +++ b/contrib/mc @@ -0,0 +1,50 @@ +# bash completion for mc + +have mc && +_mc() +{ + local cur prev split=false + + COMPREPLY=() + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + + _split_longopt && split=true + + case "$prev" in + -e|--edit|-v|--view|-l|--ftplog|-P|--printwd) + _filedir + return 0 + ;; + -C|--colors|-D|--debuglevel) + # argument required but no completions available + return 0 + ;; + -h|--help|-V|--version) + # all other arguments are noop with these + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a --stickchars -b --nocolor -c \ + --color -C --colors -d --nomouse -e --edit -f \ + --datadir -k --resetsoft -l --ftplog -P --printwd \ + -s --slow -t --termcap -u --nosubshell -U --subshell \ + -v --view -V --version -x --xterm -D --debuglevel -h \ + --help' -- "$cur" ) ) + else + _filedir -d + fi +} && +complete -F _mc $filenames mc + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh |