From 0bc58b66a4850cdb8458a86c3d9a2fc81de82aa3 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 11:14:42 +0200 Subject: Adding upstream version 1:2.11. Signed-off-by: Daniel Baumann --- completions/chronyc | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 completions/chronyc (limited to 'completions/chronyc') diff --git a/completions/chronyc b/completions/chronyc new file mode 100644 index 0000000..e6bb8e9 --- /dev/null +++ b/completions/chronyc @@ -0,0 +1,61 @@ +# chronyc(1) completion -*- shell-script -*- + +_chronyc_command_args() +{ + local -a args + args=($(compgen -W "$($1 help 2>/dev/null | + awk '/^'$prev'\s[^ []/ { gsub("\\|", " ", $2); print $2 }')")) + case $args in + \) _known_hosts_real -- "$cur" ;; + \<*) ;; + *) COMPREPLY+=($(compgen -W '${args[@]}' -- "$cur")) ;; + esac +} + +_chronyc() +{ + local cur prev words cword + _init_completion || return + + case $prev in + --help | -*p) + return + ;; + -*h) + _known_hosts_real -- "$cur" + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_usage "$1") -6' -- "$cur")) + return + fi + + local i args + args=0 + for ((i = 1; i < cword; i++)); do + [[ ${words[i]} != -* && ${words[i - 1]} != @(-p|-h) ]] && ((args++)) + done + + case $args in + 0) + COMPREPLY=($(compgen -W "$($1 help 2>/dev/null | + awk '!/(^ |: *$)/ { sub("\\|", " ", $1); print $1 }')" \ + -- "$cur")) + ;; + 1) + _chronyc_command_args "$1" + if [[ ! ${COMPREPLY-} && $prev == sources?(tats) ]]; then + # [-v] not handled by _chronyc_command_args yet + COMPREPLY=($(compgen -W '-v' -- "$cur")) + fi + ;; + 2) + [[ $prev == @(peer|server) ]] && _known_hosts_real -- "$cur" + ;; + esac +} && + complete -F _chronyc chronyc + +# ex: filetype=sh -- cgit v1.2.3