#compdef nano local curcontext="$curcontext" state line local -i ret=1 _arguments -s -S -C \ '(-)'{-A,--smarthome}'[enable smart home key]' \ '(-B --backup)'{-B,--backup}'[save backups of existing files]' \ '(-C --backupdir)'{-C+,--backupdir=}'[specify directory for saving unique backup files]:directory:_directories' \ '(-D --boldtext)'{-D,--boldtext}'[use bold instead of reverse video text]' \ '(-E --tabstospaces)'{-E,--tabstospaces}'[convert typed tabs to spaces]' \ '(-F --multibuffer)'{-F,--multibuffer}'[read a file into a new buffer by default]' \ '(-G --locking)'{-G,--locking}'[use vim-style lock files]' \ '(-H --historylog)'{-H,--historylog}'[log & read search replace string history]' \ '(-I --ignorercfiles)'{-I,--ignorercfiles}"[don't look at nanorc files]" \ '(-J --guidestripe)'{-J+,--guidestripe=}'[show a guide bar at specified column]:number' \ '(-K --rawsequences)'{-K,--rawsequences}'[fix numeric keypad key confusion problem]' \ '(-L --nonewlines)'{-L,--nonewlines}"[don't add an automatic newline]" \ '(-M --trimblanks)'{-M,--trimblanks}'[trim trailing spaces when hard-wrapping]' \ '(-N --noconvert -u --unix)'{-N,--noconvert}"[don't convert files from DOS/Mac format]" \ '(-O --bookstyle)'{-O,--bookstyle}'[leading whitespace means new paragraph]' \ '(-P --positionlog)'{-P,--positionlog}'[log & read location of cursor position]' \ '(-Q --quotestr)'{-Q+,--quotestr=}'[specify regular expression to match quoted parts of lines]:regex [^([ \t]*([!#%\:;>|}]|//))+]' \ '(-R --restricted)'{-R,--restricted}'[restricted mode]' \ '(-S --softwrap)'{-S,--softwrap}'[display overly long lines on multiple rows]' \ '(-T --tabsize)'{-T+,--tabsize=}'[set width of a tab]:columns [8]' \ '(-U --quickblank -c --constantshow -_ --minibar)'{-U,--quickblank}'[do quick statusbar blanking]' \ '(- *)'{-V,--version}'[print version information and exit]' \ '(-W --wordbounds -X --wordchars)'{-W,--wordbounds}'[detect word boundaries more accurately]' \ '(-X --wordchars -W --wordbounds)'{-X+,--wordchars=}'[specify which other characters are word parts]:string' \ '(-Y --syntax=)'{-Y+,--syntax=}'[syntax definition to use for coloring]:value' \ '(-Z --zap)'{-Z,--zap}'[let backspace and delete erase a marked region]' \ '(-a --atblanks)'{-a,--atblanks}'[when soft-wrapping, do it at whitespace]' \ '(-b --breaklonglines -w --nowrap)'{-b,--breaklonglines}'[automatically hard-wrap overlong lines]' \ '(-c --constantshow -U --quickblank)'{-c,--constantshow}'[show cursor position constantly]' \ '(-d --rebinddelete)'{-d,--rebinddelete}'[fix Backspace/Delete confusion problem]' \ '(-e --emptyline)'{-e,--emptyline}'[keep the line below the title bar empty]' \ '(-f --rcfile)'{-f,--rcfile=}'[Use only specified file for configuring nano]:file:_files' \ '(-g --showcursor)'{-g,--showcursor}'[show cursor in file browser & help text]' \ '(- *)'{-h,--help}'[show help text and exit]' \ '(-i --autoindent)'{-i,--autoindent}'[automatically indent new lines]' \ '(-j --jumpyscrolling)'{-j,--jumpyscrolling}'[scroll by half-screen, not by line]' \ '(-k --cutfromcursor)'{-k,--cutfromcursor}'[cut from cursor to end of line]' \ '(-l --linenumbers)'{-l,--linenumbers}'[show line numbers in front of the text]' \ '(-m --mouse)'{-m,--mouse}'[enable the use of the mouse]' \ '(-n --noread)'{-n,--noread}"[don't read the file (only write it)]" \ '(-o --operatingdir)'{-o+,--operatingdir=}'[set operating directory]:directory:_directories' \ '(-p --preserve)'{-p,--preserve}'[preserve XON (^Q) and XOFF (^S) keys]' \ '(-q --indicator)'{-q,--indicator}'[show a position+portion indicator]' \ '(-r --fill)'{-r+,--fill=}'[set width for hard-wrap and justification]:width [-8]' \ '(-s --speller)'{-s+,--speller=}'[enable alternate speller]:program:_command_names -e' \ '(-t --tempfile)'{-t,--tempfile}'[auto save on exit, do not prompt]' \ '(-u --unix -N --noconvert)'{-u,--unix}'[save a file by default in Unix format]' \ '(-v --view)'{-v,--view}'[view mode (read-only)]' \ '(-w --nowrap -b --breaklonglines)'{-w,--nowrap}"[don't hard-wrap long lines default]" \ '(-x --nohelp)'{-x,--nohelp}"[don't show the two help lines]" \ '(-y --afterends)'{-y,--afterends}'[make Ctrl+Right stop at word ends]' \ '(-z --suspend)'{-z,--suspend}'[enable suspension]' \ '(-% --stateflags)'{-%,--stateflags}'[show some states in the title bar]' \ '(-_ --minibar -U --quickblank)'{-_,--minibar}'[suppress the title bar and show information at the bottom of the screen]' \ '(-! --magic)'{-\!,--magic}'[try libmagic to determine applicable syntax]' \ '(-0 --zero)'{-0,--zero}'[Hide all bars, use whole terminal]' \ '(-t -q)*: :->args' && ret=0 if [[ -n $state ]]; then case $PREFIX in +) _message -e lines "start at a given line" ;; +[crCR]#[/?]) _message -e 'search string' ;; +<->,) _message -e 'column number' ;; *) _files && ret=0 ;; esac fi return ret