diff options
Diffstat (limited to 'completions/postcat')
-rw-r--r-- | completions/postcat | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/completions/postcat b/completions/postcat new file mode 100644 index 0000000..a58b0e5 --- /dev/null +++ b/completions/postcat @@ -0,0 +1,39 @@ +# postcat(1) completion -*- shell-script -*- + +_postcat() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -c) + _filedir -d + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_usage "$1")' -- "$cur")) + return + fi + + local idx qfile=0 + for idx in "${words[@]}"; do + [[ $idx == -q ]] && qfile=1 && break + done + if ((qfile == 1)); then + local len=${#cur} pval + for pval in $(mailq 2>/dev/null | + command sed -e '1d; $d; /^[^0-9A-Z]/d; /^$/d; s/[* !].*$//'); do + if [[ $cur == "${pval:0:len}" ]]; then + COMPREPLY+=($pval) + fi + done + return + fi + + _filedir +} && + complete -F _postcat postcat + +# ex: filetype=sh |