about summary refs log tree commit diff
path: root/Completion/Unix/Command/_vim
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2016-09-13 17:47:35 +0200
committerOliver Kiddle <opk@zsh.org>2016-09-13 17:47:35 +0200
commitca53a3a464bf395cdb0641c350d43e4bfa50e631 (patch)
treebf7f86aacaa592e6e08b8fba8e12ae2db240faf4 /Completion/Unix/Command/_vim
parentc5a3b170d431e10a4f82e91ce9e6347163393695 (diff)
downloadzsh-ca53a3a464bf395cdb0641c350d43e4bfa50e631.tar.gz
zsh-ca53a3a464bf395cdb0641c350d43e4bfa50e631.tar.xz
zsh-ca53a3a464bf395cdb0641c350d43e4bfa50e631.zip
39307: update options up to vim 8
Diffstat (limited to 'Completion/Unix/Command/_vim')
-rw-r--r--Completion/Unix/Command/_vim45
1 files changed, 29 insertions, 16 deletions
diff --git a/Completion/Unix/Command/_vim b/Completion/Unix/Command/_vim
index dbc946cb1..9fd2d63e8 100644
--- a/Completion/Unix/Command/_vim
+++ b/Completion/Unix/Command/_vim
@@ -13,7 +13,7 @@ _vim_files () {
   esac
 }
 
-local curcontext="$curcontext" state line expl
+local curcontext="$curcontext" state line expl ret=1
 typeset -A opt_args
 
 local arguments
@@ -30,16 +30,7 @@ arguments=(
   '-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:((0\:"do not 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 (default)"
-                                    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"))'
+  '-V-[verbosity level]::verbosity [10]:->verbosity'
   '-D[debugging mode]'
   '-n[no swap file (memory only)]'
   '-nb[start as NetBean server]'
@@ -48,8 +39,9 @@ arguments=(
   '(-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[do not load plugin scripts]'
+  "--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: '
@@ -77,7 +69,7 @@ arguments=(
   '--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 given viminfo file instead of default .viminfo]:viminfo file:_files'
+  '-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'
@@ -98,12 +90,33 @@ arguments=(
   '-U[use given gvimrc file instead of default .gvimrc]::rc file:_files'
 )
 
-_arguments -C -S $arguments && return
+_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 && return
+  _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 '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 1
+return ret