Add completion for nano editor!

This commit is contained in:
Shivamgupta1234 2019-05-31 08:14:42 +05:30 committed by GitHub
parent cf565254e2
commit d06d3f75a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 99 additions and 0 deletions

99
src/_nano Normal file
View File

@ -0,0 +1,99 @@
#compdef nano
# ----------------------------------------------------------
# Copyright (c) 2019 Github zsh-users - http://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the zsh-users nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Author
# ------
# Shivam Gupta <shivam98.tkg@gmail.com>
# -------------------------------------------------
# Description
# ------------
# Completion function for nano editor(https://www.nano-editor.org/)!
# -----------------------------------------------------------
(( $+functions[_nano_files] )) ||
_nano_files () {
case $PREFIX in
(*) _files $* ;;
esac
}
_nano() {
integer ret=1
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -s -C \
'(-)'{-A,--smarthome}'[Enable smart home key]'\
{-B,--backup}'[Save backups of existing files]'\
{-C+,--backupdir=}'[Directory for saving unique backup files]:dir:_dirs'\
{-D,--boldtext}'[Use bold instead of reverse video text]'\
{-E,--tabstospaces}'[Convert typed tabs to spaces]'\
{-F,--multibuffer}'[Read a file into a new buffer by default]'\
{-G,--locking}'[Use vim-style lock files]'\
{-H,--historylog}'[Log & read search replace string history]'\
{-I,--ignorercfiles}'[Do not look at nanorc files]'\
{-J+,--guidestripe=}'[Show a guiding bar at this column]:number'\
{-K,--rawsequences}'[Fix numeric keypad key confusion problem]'\
{-L,--nonewlines}'[Do not add an automatic newline]'\
{-M,--trimblanks}'[Trim tail spaces when hard-wrapping]'\
{-N,--noconvert}'[Do not convert files from DOS/Mac format]'\
{-P,--positionlog}'[Log & read location of cursor position]'\
{-Q+,--quotestr=}'[Regular expression to match quoting]:str'\
{-R,--restricted}'[Restricted mode]'\
{-T+,--tabsize=}'[Set width of a tab to cols columns]:init'\
{-U,--quickblank}'[Do quick statusbar blanking]'\
'(- *)'{-V,--version}'[Print version information and exit]'\
{-W,--wordbounds}'[Detect word boundaries more accurately]'\
{-X+,--wordchars=}'[Which other characters are word parts]:str'\
{-Y+,--syntax=}'[Syntax definition to use for coloring]'\
{-Z,--zap}'[Let Bsp and Del erase a marked region]'\
{-a,--atblanks}'[When soft-wrapping, do it at whitespace]'\
{-b,--breaklonglines}'[Automatically hard-wrap overlong lines]'\
{-c,--constantshow}'[Constantly show cursor position]'\
{-d,--rebinddelete}'[Fix Backspace/Delete confusion problem]'\
{-e,--emptyline}'[Keep the line below the title bar empty]'\
{-g,--showcursor}'[Show cursor in file browser & help text]'\
'(- *)'{-h,--help}'[Show help text and exit]'\
{-i,--autoindent}'[Automatically indent new lines]'\
{-j,--jumpyscrolling}'[Scroll per half-screen, not per line]'\
{-k,--cutfromcursor}'[Cut from cursor to end of line]'\
{-l,--linenumbers}'[Show line numbers in front of the text]'\
{-m,--mouse}'[Enable the use of the mouse]'\
{-n,--noread}'[Do not read the file (only write it)]'\
{-o+,--operatingdir=}'[Set operating directory]:dir:_dirs'\
{-p,--preserve}'[Preserve XON (^Q) and XOFF (^S) keys]'\
{-r+,--fill=}'[Set width for hard-wrap and justify]:init'\
{-s+,--speller=}'[Enable alternate speller]:prog'\
{-t,--tempfile}'[Auto save on exit, do not prompt]'\
{-w,--nowrap}'[Do not hard-wrap long lines default]'\
{-x,--nohelp}'[Do not show the two help lines]'\
{-y,--afterends}'[Make Ctrl+Right stop at word ends]'\
{-z,--suspend}'[Enable suspension]'\
{-$,--softwrap}'[Enable soft line wrapping]'\
'(-t -q)*:file:_nano_files'
_arguments $arguments && ret=0
return ret
}
_nano "$@"