1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-23 21:35:11 +03:00

shell-completions: systemd-analyze set-log-level

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2013-08-22 23:25:28 -04:00
parent bd6d296339
commit fe05567c31
2 changed files with 27 additions and 1 deletions

View File

@ -34,6 +34,7 @@ _systemd_analyze() {
[NO_OPTION]='time blame plot'
[CRITICAL_CHAIN]='critical-chain'
[DOT]='dot'
[LOG_LEVEL]='set-log-level'
)
_init_completion || return
@ -68,6 +69,14 @@ _systemd_analyze() {
if [[ $cur = -* ]]; then
comps='--help --version --system --user --from-pattern --to-pattern --order --require'
fi
elif __contains_word "$verb" ${VERBS[LOG_LEVEL]}; then
if [[ $cur = -* ]]; then
comps='--help --version --system --user'
else
comps='debug info notice warning err crit alert emerg'
fi
fi
COMPREPLY=( $(compgen -W '$comps' -- "$cur") )

View File

@ -1,5 +1,11 @@
#compdef systemd-analyze
_systemd_analyze_set-log-level() {
local -a _levels
_levels=(debug info notice warning err crit alert emerg)
_describe -t level 'logging level' _levels || compadd "$@"
}
_systemd_analyze_command(){
local -a _systemd_analyze_cmds
# Descriptions taken from systemd-analyze --help.
@ -9,12 +15,23 @@ _systemd_analyze_command(){
'critical-chain:Print a tree of the time critical chain of units'
'plot:Output SVG graphic showing service initialization'
'dot:Dump dependency graph (in dot(1) format)'
'set-log-level:Set systemd log threshold'
)
if (( CURRENT == 1 )); then
_describe "options" _systemd_analyze_cmds
else
_message "no more options"
local curcontext="$curcontext"
cmd="${${_systemd_analyze_cmds[(r)$words[1]:*]%%:*}}"
if (( $#cmd )); then
if (( $+functions[_systemd_analyze_$cmd] )) && (( CURRENT == 2 )); then
_systemd_analyze_$cmd
else
_message "no more options"
fi
else
_message "unknown systemd-analyze command: $words[1]"
fi
fi
}