aboutsummaryrefslogtreecommitdiffstats
path: root/src/_nano
blob: 45e2f5411bf089468633caf421a8b4a6b51749fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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 "$@"