summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_gcc2
-rw-r--r--Completion/Unix/Command/_git9
2 files changed, 9 insertions, 2 deletions
diff --git a/Completion/Unix/Command/_gcc b/Completion/Unix/Command/_gcc
index e188c7e9f..28a2ccbda 100644
--- a/Completion/Unix/Command/_gcc
+++ b/Completion/Unix/Command/_gcc
@@ -428,7 +428,7 @@ args+=(
'-Wdisabled-optimization[Warn when an optimization pass is disabled]'
'-Wdiv-by-zero[Warn about compile-time integer division by zero]'
'-Wdouble-promotion[Warn about implicit conversions from "float" to "double"]'
- '-Weffc++[Warn about violations of Effective C++ style rules]'
+ '-Weffc\+\+[Warn about violations of Effective C++ style rules]'
'-Wempty-body[Warn about an empty body in an if or else statement]'
'-Wendif-labels[Warn about stray tokens after #elif and #endif]'
'-Wenum-compare[Warn about comparison of different enum types]'
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)