zsh-workers
 help / color / mirror / code / Atom feed
From: "Richard Hartmann" <richih.mailinglist@gmail.com>
To: "Zsh Workers" <zsh-workers@sunsite.dk>
Subject: [Patch] _vim update
Date: Sat, 27 Dec 2008 21:31:03 +0100	[thread overview]
Message-ID: <2d460de70812271231u79290d55j9571a3a6a002bfd5@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 354 bytes --]

Hi all,

attached patch should be pretty obvious. The only caveat is
that --socketid and --echo-wid depend on the GUI version.
Making them depend on the -g option is trivial, but that's
not enough as the g* aliases of Vim will enable the GUI,
as well. Thus, I decided to not make them depend on
anything. If anyone has a better suggestion.. :)


Richard

[-- Attachment #2: _vim --]
[-- Type: application/octet-stream, Size: 4296 bytes --]

#compdef vim exim gvim gex gview rvim rview rgvim rgview evim eview vimdiff gvimdiff

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

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    -y)-d[diff mode]'
  '(-v -e -E -s -d   )-y[easy mode]'
  '-R[readonly mode]'
  '-Z[restricted mode]'
  '-m[modifications (writing files) not allowed]'
  '-M[modifications in text not allowed]'
  '-b[binary mode]'
  '-g[start with GUI]'
  '-l[lisp mode]'
  '-C[start in compatible mode]'
  '-N[start in incompatibile 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"))'
  '-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   )-H[start in Farsi mode]'
  '-T[set terminal type]:::_terminals'
  '-u[use given vimrc file instead of default .vimrc]::rc file:_files'
  '-U[use given gvimrc file instead of default .gvimrc]::rc file:_files'
  '--noplugin[do not 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: '
  '-q-[quickfix file]:*:file:_vim_files'
  '*--cmd[execute given command before loading any RC files]:command: '
  '-c[executed 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-expr[evaluate given expression in a vim server and print result]:expression: '
  '--echo-wid[echo window ID on STDOUT, GUI version only]'
  '--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: '
  '--socketid[run GVIM in another window]'
  '-i[use given viminfo file instead of default .viminfo]:viminfo file:_files'
  '(- *)'{-h,--help}'[print help and exit]'
  '(- *)--version[print version information and exit]'
  '(*)-t[edit file where tag is defined]:tag:_complete_tag'
  '(-t)*:file:_vim_files'
)

_arguments -S $arguments

             reply	other threads:[~2008-12-27 20:31 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-27 20:31 Richard Hartmann [this message]
2008-12-29  0:54 ` Clint Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2d460de70812271231u79290d55j9571a3a6a002bfd5@mail.gmail.com \
    --to=richih.mailinglist@gmail.com \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).