From 32ac8c5bcb9e9a21d60313d28c494bebca39a89c Mon Sep 17 00:00:00 2001 From: dana Date: Sat, 2 Jun 2018 18:07:35 -0500 Subject: 42919: new shuf and uptime completions --- Completion/Unix/Command/_shuf | 28 ++++++++++++++++++++++++++++ Completion/Unix/Command/_uptime | 26 ++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 Completion/Unix/Command/_shuf create mode 100644 Completion/Unix/Command/_uptime diff --git a/Completion/Unix/Command/_shuf b/Completion/Unix/Command/_shuf new file mode 100644 index 000000000..83f42e6d3 --- /dev/null +++ b/Completion/Unix/Command/_shuf @@ -0,0 +1,28 @@ +#compdef shuf gshuf + +local ret=1 +local -a context line state state_descr +local -A opt_args + +_arguments -s -S : \ + '(: -)--help[display help information]' \ + '(: -)--version[display version information]' \ + '(-n --head-count)'{-n+,--head-count=}'[limit output to specified number of lines]:output line limit' \ + '(-o --output)'{-o+,--output=}'[write result to specified file]:output file:_files' \ + '--random-source=[use specified file as source of random bytes]: :_files' \ + '(-r --repeat)'{-r,--repeat}'[allow output lines to repeat]' \ + '(-z --zero-terminated)'{-z,--zero-terminated}'[use NUL as line delimiter]' \ + '(-i --input-range)*: :->operands' \ + + '(excl)' \ + {-e,--echo}'[treat operands as input lines]' \ + '(:)'{-i+,--input-range=}'[treat specified numbers as input lines]:number range (x-y)' \ +&& ret=0 + +[[ $state == operands ]] && +if [[ -n ${opt_args[(i)excl-(-e|--echo)]} ]]; then + _message 'input line' && ret=0 +else + _files && ret=0 +fi + +return ret diff --git a/Completion/Unix/Command/_uptime b/Completion/Unix/Command/_uptime new file mode 100644 index 000000000..58b4d991b --- /dev/null +++ b/Completion/Unix/Command/_uptime @@ -0,0 +1,26 @@ +#compdef uptime guptime + +local variant + +_pick_variant -r variant procps=procps gnu='Free Soft' unix --version + +case $variant in + procps) + _arguments -s -S : \ + '(: -)'{-h,--help}'[display help information]' \ + '(: -)'{-V,--version}'[display version information]' \ + + '(excl)' \ + {-p,--pretty}'[display uptime in pretty format]' \ + {-s,--since}'[display date/time of system boot]' + return + ;; + gnu) + _arguments -S : \ + '(: -)--help[display help information]' \ + '(: -)--version[display version information]' \ + '1:utmp/wtmp file:_files' + return + ;; + # *BSD, Darwin, Solaris, BusyBox + *) _message 'no more arguments'; return 1 ;; +esac -- cgit 1.4.1