mirror of
git://git.code.sf.net/p/zsh/code
synced 2026-01-06 09:41:07 +01:00
44101: _vim: better support for nvim
This commit is contained in:
parent
f21d54a381
commit
36290f3e8e
2 changed files with 55 additions and 34 deletions
|
|
@ -1,3 +1,7 @@
|
|||
2019-03-08 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
|
||||
|
||||
* 44101: Completion/Unix/Command/_vim: better support for nvim
|
||||
|
||||
2019-03-06 dana <dana@dana.is>
|
||||
|
||||
* unposted: Completion/Zsh/Command/_zftp: Use 'post' pattern
|
||||
|
|
|
|||
|
|
@ -19,69 +19,86 @@ 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]'
|
||||
'--ttyfail[exit if input or output is not a terminal]'
|
||||
'-u[use given vimrc file instead of default .vimrc]:config:->config'
|
||||
"--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'
|
||||
'(* -t)-q+[quickfix file]::file:_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[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'
|
||||
'(* -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]'
|
||||
if [[ $service = nvim ]]; then
|
||||
arguments+=(
|
||||
'(-e -E -es -Es -s -d)-e[ex mode, read stdin as ex command]'
|
||||
'(-e -E -es -Es -s -d)-E[ex mode, read stdin as text]'
|
||||
'(-e -E -es -Es -s -d)-es[silent mode, read stdin as ex command]'
|
||||
'(-e -E -es -Es -s -d)-Es[silent mode, read stdin as text]'
|
||||
'-i[use the specified shada file]:shada file:_files'
|
||||
'(- *)-v[print version information and exit]'
|
||||
'(- *)--api-info[print msgpack-encoded api-metadata and exit]'
|
||||
'--headless[do not start user interface]'
|
||||
'--embed[use standard input and output as a msgpack-rpc channel]'
|
||||
'--listen[start RPC server on the specified socket or named pipe]:address'
|
||||
)
|
||||
else
|
||||
arguments+=(
|
||||
'(-v -E -d -y)-e[ex mode]'
|
||||
'(-v -e -d -y)-E[improved ex mode]'
|
||||
'( -e -E -s -d -y)-v[vi mode]'
|
||||
'(-v -e -E -s -d )-y[easy mode]'
|
||||
'-C[start in compatible mode]'
|
||||
'-N[start in incompatible mode]'
|
||||
'-nb[start as NetBean server]'
|
||||
'-T[set terminal type]:::_terminals'
|
||||
'--not-a-term[skip warning for input/output not being a terminal]'
|
||||
'--ttyfail[exit if input or output is not a terminal]'
|
||||
'-X[do not connect to X server]'
|
||||
'-x[edit encrypted files]'
|
||||
'--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'
|
||||
'--socketid[run GVIM in another window]'
|
||||
'-i[use specified viminfo file]:viminfo file [~/.viminfo]:_files'
|
||||
'--clean[start with defaults in non-compatible mode]'
|
||||
)
|
||||
fi
|
||||
[[ $service != *g* && $service != nvim ]] && arguments+='-g[start with GUI]'
|
||||
[[ $service != r* ]] && arguments+='-Z[restricted mode]'
|
||||
[[ $service != *diff ]] && arguments+='(-v -e -E -s -y)-d[diff mode]'
|
||||
[[ $service != *diff ]] && arguments+='(-v -e -E -es -Es -s -y)-d[diff mode]'
|
||||
[[ $service != *view ]] && arguments+='-R[readonly mode]'
|
||||
[[ $service = *g* ]] || (( ${words[(I)-g]} )) && arguments+=(
|
||||
'(--nofork -f)'{--nofork,-f}'[do not detach the GUI version from the shell]'
|
||||
'-font:font:_xft_fonts'
|
||||
'-geometry:geometry:_x_geometry'
|
||||
'(-rv -reverse)'{-rv,-reverse}'[use reverse video]'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue