diff options
Diffstat (limited to 'bash-completion/logger')
-rw-r--r-- | bash-completion/logger | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/bash-completion/logger b/bash-completion/logger new file mode 100644 index 0000000..7fb9565 --- /dev/null +++ b/bash-completion/logger @@ -0,0 +1,78 @@ +_logger_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-f'|'--file'|'--journald') + local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 + ;; + '-n'|'--server') + COMPREPLY=( $(compgen -A hostname -- $cur) ) + return 0 + ;; + '-P'|'--port') + COMPREPLY=( $(compgen -W "$(awk '$1 ~ /^syslog$/ {split($2, a, "/"); print a[1]}' /etc/services)" -- $cur) ) + return 0 + ;; + '-p'|'--priority') + COMPREPLY=( $(compgen -W "{auth,authpriv,cron,daemon,ftp,lpr,mail,news,security}.{alert,crit,debug,emerg,err,error}" -- $cur) ) + return 0 + ;; + '-t'|'--tag') + COMPREPLY=( $(compgen -W "tag" -- $cur) ) + return 0 + ;; + '-u'|'--socket') + COMPREPLY=( $(compgen -W "$(awk '$NF ~ /^\// {print $NF}' /proc/net/unix)" -- $cur) ) + return 0 + ;; + '--socket-errors') + COMPREPLY=( $(compgen -W "on off auto" -- $cur) ) + return 0 + ;; + '--msgid') + COMPREPLY=( $(compgen -W "msgid" -- $cur) ) + return 0 + ;; + '-h'|'--help'|'-V'|'--version') + return 0 + ;; + esac + case $cur in + -*) + OPTS=" + --file + --help + --id + --journald + --msgid + --no-act + --octet-count + --port + --prio-prefix + --priority + --rfc3164 + --rfc5424 + --server + --size + --skip-empty + --socket + --socket-errors + --stderr + --tag + --tcp + --udp + --version + " + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + return 0 +} +complete -F _logger_module logger |