From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15069 invoked by alias); 3 May 2018 10:28:07 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 42746 Received: (qmail 13373 invoked by uid 1010); 3 May 2018 10:28:07 -0000 X-Qmail-Scanner-Diagnostics: from hahler.de by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(188.40.33.212):SA:0(-1.6/5.0):. Processed in 1.252403 secs); 03 May 2018 10:28:07 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,SPF_PASS,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: daniel@hahler.de X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=thequod.de; h= x-mailer:message-id:date:date:subject:subject:from:from:received :received:received; s=postfix2; t=1525343280; bh=A84PXts0/TGQVUA 6j6qjRP+Qo6mwyIDgZZQaOJdEuuM=; b=L3kC8cGqVY9pjJJodzVuZXNnV+8k4P/ oPHP6laSLVAeLtAlVfu18p5mVGEWP0sBRDwo18pILRtyKGhsH850P9NcpS1qrbqo OwyoWrXte06+pBbQjlJjTlsUfq8rT2S68QLXgvfat5olSvUl0A6ciW0NSoXREETQ dX8POZJrGkkg= From: Daniel Hahler To: zsh-workers@zsh.org Subject: [PATCH] [RFC] _vim: handle special values for -u/-U Date: Thu, 3 May 2018 12:27:58 +0200 Message-Id: <20180503102758.30478-1-genml+zsh-workers@thequod.de> X-Mailer: git-send-email 2.17.0 From: Daniel Hahler This is based on state=verbosity from the same file, please review. --- Completion/Unix/Command/_vim | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/Completion/Unix/Command/_vim b/Completion/Unix/Command/_vim index 042974338..e1db47761 100644 --- a/Completion/Unix/Command/_vim +++ b/Completion/Unix/Command/_vim @@ -41,7 +41,7 @@ arguments=( '-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]::rc file:_files' + '-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: ' @@ -90,7 +90,7 @@ arguments=( '--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' + '-U[use given gvimrc file instead of default .gvimrc]:gui config:->configgui' ) _arguments -C -S $arguments && ret=0 @@ -120,6 +120,23 @@ elif [[ $state = verbosity ]]; then fi (( ret )) || break done +elif [[ "$state" = config* ]]; then + _tags special files + local names=( + "NONE:'skip initialization from files and environment variables'" + "NORC:'same as NONE, but load plugins'" + ) + # gvim only supports -U NONE to skip GUI initialization. + [[ $state != configgui || $service != *g* ]] && names+=( + "DEFAULTS:'same as NONE, but loads defaults.vim'" + ) + while _tags; do + _requested special && _describe -V 'special' "(${(F)names})" && ret=0 + if _requested files expl 'rc file'; then + _files "$expl[@]" && ret=0 + fi + (( ret )) || break + done fi return ret -- 2.17.0