From 4a63a1793af5f3046af6a77db8aeeece523ebc61 Mon Sep 17 00:00:00 2001 From: Fabian Klötzl Date: Thu, 13 Jul 2017 11:19:14 +0200 Subject: 41414: fix for commas used in exclusion lists also missing escape for _gcc and --no-index option for git diff --- Completion/Unix/Command/_git | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'Completion/Unix/Command/_git') diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index dcf1f639c..aacd3bfd7 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -756,7 +756,8 @@ _git-diff () { $diff_options \ '(--exit-code)--quiet[disable all output]' \ $diff_stage_options \ - '(--cached --staged)'{--cached,--staged}'[show diff between index and named commit]' \ + '(--cached --staged)--no-index[show diff between two paths on the filesystem]' \ + '(--cached --staged --no-index)'{--cached,--staged}'[show diff between index and named commit]' \ '(-)--[start file arguments]' \ '*:: :->from-to-file' && ret=0 @@ -774,6 +775,12 @@ _git-diff () { return ret fi + # If "--no-index" was given, only file paths need to be completed. + if [[ -n ${opt_args[(I)--no-index]} ]]; then + _alternative 'files::_files' && ret=0 + return ret + fi + # Otherwise, more complex conditions need to be checked. case $CURRENT in (1) -- cgit v1.2.3