about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_sh17
-rw-r--r--Completion/Unix/Command/_zsh8
3 files changed, 14 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index 964e340f0..05c163014 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-09-28  Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
+
+	* 36631: Completion/Unix/Command/_sh,
+	Completion/Unix/Command/_zsh: separate _zsh from _sh	
+
 2015-09-26  Barton E. Schaefer  <schaefer@zsh.org>
 
 	* 36641: Src/Modules/complist.c: fix multibyte handling in
diff --git a/Completion/Unix/Command/_sh b/Completion/Unix/Command/_sh
index 1b5112212..2afb46621 100644
--- a/Completion/Unix/Command/_sh
+++ b/Completion/Unix/Command/_sh
@@ -1,13 +1,4 @@
-#compdef sh ksh bash zsh csh tcsh rc
-
-if [[ $service == zsh ]]; then
-  # try a bit harder
-  if [[ ${words[CURRENT-1]} == -o ]]; then
-    _options
-    # no other possibilities
-    return
-  fi
-fi
+#compdef sh ksh bash csh tcsh rc
 
 if (( CURRENT == ${words[(i)-c]} + 1 )); then
   _cmdstring
@@ -21,9 +12,3 @@ else
   fi
   _default
 fi
-
-local ret=$?
-
-[[ $service == zsh ]] && _arguments -S -s -- && ret=0
-
-return ret
diff --git a/Completion/Unix/Command/_zsh b/Completion/Unix/Command/_zsh
new file mode 100644
index 000000000..3b6d7ad4f
--- /dev/null
+++ b/Completion/Unix/Command/_zsh
@@ -0,0 +1,8 @@
+#compdef zsh
+
+_arguments -S -s : \
+  '*-o+[set named option]:option:_options' \
+  '*+o+[unset named option]:option:_options' \
+  '(1 -)-c[run a command]:command:_cmdstring' \
+  '(-)1:script file:_files' \
+  '*:command arguments' --