about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2000-05-02 10:30:41 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2000-05-02 10:30:41 +0000
commit997d40c05d608fd849bb0f4377f31218dc266b02 (patch)
treec7c222feed8b09bf976fd3d50b7209dc3b2898f7 /Completion
parent304d5f9b3974f33c566b8e57bc1b79a99e9955d9 (diff)
downloadzsh-997d40c05d608fd849bb0f4377f31218dc266b02.tar.gz
zsh-997d40c05d608fd849bb0f4377f31218dc266b02.tar.xz
zsh-997d40c05d608fd849bb0f4377f31218dc266b02.zip
add -x option to compadd to display message unconditionally
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Core/_message26
1 files changed, 15 insertions, 11 deletions
diff --git a/Completion/Core/_message b/Completion/Core/_message
index 0837cdf2f..8e1d23679 100644
--- a/Completion/Core/_message
+++ b/Completion/Core/_message
@@ -1,19 +1,23 @@
 #autoload
 
-local format
+local format raw
 
-format="$compconfig[message_format]"
-[[ -z "$format" ]] && "$compconfig[description_format]"
+_tags messages || return 1
 
-if [[ -n "$format" ]]; then
+if [[ "$1" = -r ]]; then
+  raw=yes
+  shift
+  format="$1"
+else
+  zstyle -s ":completion:${curcontext}:messages" format format ||
+      zstyle -s ":completion:${curcontext}:descriptions" format format
+fi
+
+if [[ -n "$format$raw" ]]; then
+  [[ -z "$raw" ]] && zformat -f format "$format" "d:$1" "${(@)argv[2,-1]}"
+  compadd -x "$format"
   if [[ $compstate[nmatches] -eq 0 ]]; then
-    compstate[list]=list
+    compstate[list]='list force'
     compstate[insert]=''
-    compadd -UX "${format//\\%d/$1}" -n ''
-  else
-    compadd -X "${format//\\%d/$1}" -n ''
   fi
-  compstate[force_list]=yes
-else
-  compadd -n ''
 fi