zsh-workers
 help / color / mirror / code / Atom feed
c2612ebc2aa7b5ea24f93ce2c18e1e4a36145577 blob 5627 bytes (raw)

  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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
 
#compdef vim gvim gex gview nvim rvim rview rgvim rgview evim eview vimdiff gvimdiff mvim

(( $+functions[_vim_files] )) ||
_vim_files () {
  case $PREFIX in
    (+*) _files -P './' $* && return 0 ;;
    ((scp|http(|s)|(|s)ftp):*) _urls ;;
    (*) _files $* ;;
  esac
  case $PREFIX in
    (+) _message -e 'start at a given line (default: end of file)' ;;
    (+<1->) _message -e 'line number' ;;
  esac
}

local curcontext="$curcontext" state line expl ret=1
typeset -A opt_args

local arguments

arguments=(
  '(   -e -E -s -d -y)-v[vi mode]'
  '(-v    -E    -d -y)-e[ex mode]'
  '(-v -e       -d -y)-E[improved ex mode]'
  '(-v -e -E -s -d   )-y[easy mode]'
  '-m[modifications (writing files) not allowed]'
  '-M[modifications in text not allowed]'
  '-b[binary mode]'
  '-l[lisp mode]'
  '-C[start in compatible mode]'
  '-N[start in incompatible mode]'
  '(--nofork -f)'{--nofork,-f}'[do not detach the GUI version from the shell]'
  '-V-[verbosity level]::verbosity [10]:->verbosity'
  '-D[debugging mode]'
  '-n[no swap file (memory only)]'
  '-nb[start as NetBean server]'
  {-r,-L}'[list swap files and exit or recover from a swap file]::swap file:_vim_files -g "*.sw?(-.)"'
  '(   -H -F)-A[start in Arabic mode]'
  '(-A    -F)-H[start in Hebrew mode]'
  '(-A -H   )-F[start in Farsi mode]'
  '-T[set terminal type]:::_terminals'
  '--not-a-term[skip warning for input/output not being a terminal]'
  '-u[use given vimrc file instead of default .vimrc]::rc file:_files'
  "--noplugin[don't load plugin scripts]"
  '-o-[number of windows to open (default: one for each file)]::window count: '
  '-O-[number of windows to vertically split open (default is one for each file)]::window count: '
  '-p-[number of tabs to open (default: one for each file)]::tab count: '
  '(* -t)-q-[quickfix file]:*:file:_vim_files'
  '*--cmd[execute given command before loading any RC files]:command: '
  '-c[execute given command after loading the first file]:command: '
  '-S[source a session file after loading the first file]:session file:_files'
  '-s[read normal-mode commands from script file]:script file:_files'
  '-w[append all typed commands to given file]:output file:_files'
  '-W[write all typed commands to given file, overwriting existing file]:output file:_files'
  '-x[edit encrypted files]'
  '-X[do not connect to X server]'
  '--remote[edit given files in a vim server if possible]:*:file:_vim_files'
  '--remote-silent[as --remote but without complaining if not possible]:*:file:_vim_files'
  '--remote-wait[as --remote but wait for files to have been edited]:*:file:_vim_files'
  '--remote-wait-silent[as --remote-wait but without complaining if not possible]:*:file:_vim_files'
  '--remote-send[send given keys to vim server if possible]:keys: '
  '--remote-tab[as --remote but open tab page for each file]:*:file:_vim_files'
  '--remote-tab-silent[as --remote-silent but open tab page for each file]:*:file:_vim_files'
  '--remote-tab-wait[as --remote-wait but open tab page for each file]:*:file:_vim_files'
  '--remote-tab-wait-silent[as --remote-wait-silent but open tab page for each file]:*:file:_vim_files'
  '--remote-expr[evaluate given expression in a vim server and print result]:expression: '
  '--literal[do not expand wildcards in arguments (this is useless with ZSH)]'
  '(- *)--serverlist[list available vim servers and exit]'
  '--servername[name of vim server to send to or name of server to become]:server name:->server'
  '--startuptime[write startup timing messages to given file]:log file:_files'
  '--socketid[run GVIM in another window]'
  '-i[use specified viminfo file]:viminfo file [~/.viminfo]:_files'
  '(- *)'{-h,--help}'[print help and exit]'
  '(- *)--version[print version information and exit]'
  '(* -q)-t[edit file where tag is defined]:tag:_complete_tag'
  '(-t -q)*:file:_vim_files'
  '--clean[start with defaults in non-compatible mode]'
)
[[ $service != *g* ]] && arguments+='-g[start with GUI]'
[[ $service != r* ]] && arguments+='-Z[restricted mode]'
[[ $service != *diff ]] && arguments+='(-v -e -E -s -y)-d[diff mode]'
[[ $service != *view ]] && arguments+='-R[readonly mode]'
[[ $service = *g* ]] || (( ${words[(I)-g]} )) && arguments+=(
  '-font:font:_xft_fonts'
  '-geometry:geometry:_x_geometry'
  '(-rv -reverse)'{-rv,-reverse}'[use reverse video]'
  '-display:display:_x_display'
  '--role[set unique role to identify main window]:role'
  '--socketid[open vim inside another GTK widget]:xid'
  '--echo-wid[echo window ID on stdout]'
  '-U[use given gvimrc file instead of default .gvimrc]::rc file:_files'
)

_arguments -C -S $arguments && ret=0

if [[ "$state" = server ]]; then
  local -a servers
  servers=( ${(f)"$(_call_program servers $words[1] --serverlist 2>/dev/null)"} )
  _wanted servers expl server compadd -M 'm:{a-z}={A-Z}' -a servers && ret=0
elif [[ $state = verbosity ]]; then
  _tags numbers files
  while _tags; do
    _requested numbers && _describe -V 'verbosity [10]' "(
      0:don\'t' display any messages'
      1:'display when viminfo file is read or written'
      2:'display sourced files'
      5:'display every searched tag-file'
      8:'display files that trigger autocommands'
      9:'display every triggered autocommand'
      12:'display every executed function'
      13:'report every thrown, caught, finished, or discarded exception'
      14:'display anything pending in a :finally clause'
      15:'display every executed ex-command'
    )" && ret=0
    if _requested files expl 'file for verbose output'; then
      compset -P '[0-9]#'
      _files "$expl[@]" && ret=0
    fi
    (( ret )) || break
  done
fi

return ret
debug log:

solving c2612ebc2 ...
found c2612ebc2 in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).