mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #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
 |