From ab7ec8d9851fea8230e1ccfba284c5bfaf457d88 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Sun, 3 May 2015 16:53:47 +0200 Subject: 35011: update completions for some common Unix commands, in particular improving FreeBSD support --- Completion/Unix/Command/_nl | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Completion/Unix/Command/_nl (limited to 'Completion/Unix/Command/_nl') diff --git a/Completion/Unix/Command/_nl b/Completion/Unix/Command/_nl new file mode 100644 index 000000000..b3876dc65 --- /dev/null +++ b/Completion/Unix/Command/_nl @@ -0,0 +1,40 @@ +#compdef nl gnl + +local curcontext="$curcontext" state line args ret=1 + +args=( + '(-b --body-numbering)'{-b+,--body-numbering=}'[specify style for body lines]:style:->styles' + '(-d --section-delimiter)'{-d+,--section-delimiter=}'[separate logical pages with specified delimiter]:delimiter' + '(-f --footer-numbering)'{-f+,--footer-numbering=}'[specify style for footer lines]:style:->styles' + '(-h --header-numbering)'{-h+,--header-numbering=}'[specify style for header lines]:style:->styles' + '(-i --line-increment)'{-i+,--line-increment=}'[line number increment at each line]:increment' + '(-l --join-blank-lines)'{-l+,--join-blank-lines=}'[count consecutive empty lines as one]:number' + '(-n --number-format)'{-n+,--number-format=}'[specify format for line numbers]:format:((ln\:left\ justified rn\:right\ justified rz\:right\ justified\ with\ leading\ zeroes))' + '(-p --no-renumber)'{-p,--no-renumber}"[don't reset line numbers at logical pages]" + '(-s --number-separator)'{-s+,--number-separator=}'[add specified string after line numbers]:string' + '(-v --starting-line-number)'{-v+,--starting-line-number=}'[specify first line number on each logical page]:initial number' + '(-w --number-width)'{-w+,--number-width=}'[specify number of columns for line numbers]:columns' +) + +if _pick_variant gnu=GNU unix --version; then + args+=( + '(- *)--help[display help information]' + '(- *)--version[display version information]' + ) +else + args=( ${(R)args:#(|\*)(|\(*\))--*} ) # remove long options +fi + +_arguments -C -s $args '*:file:_files' && ret=0 + +if [[ -n $state ]]; then + if compset -P p; then + _message -e regex 'regular expression' + else + _describe -t styles style '( p:number\ only\ lines\ matching\ regex )' -S '' -- '( + a:number\ all\ lines + t:number\ only\ non-empty\ lines + n:no\ line\ numbering + )' + fi +fi || return ret -- cgit 1.4.1