summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Doc/Zsh/contrib.yo10
-rw-r--r--Functions/MIME/zsh-mime-setup8
3 files changed, 20 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c20d1859..a75d568f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-23 Peter Stephenson <pws@csr.com>
+
+ * 25236: Doc/Zsh/contrib.yo, Functions/MIME/zsh-mime-setup:
+ zsh-mime-setup -l can take suffix arguments.
+
2008-06-21 Peter Stephenson <p.w.stephenson@ntlworld.com>
* 25231: Completion/Unix/Type/_path_files: fix approximation
diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo
index 042a5bd9c..645894692 100644
--- a/Doc/Zsh/contrib.yo
+++ b/Doc/Zsh/contrib.yo
@@ -1504,7 +1504,7 @@ command to an appropriate viewer.
startitem()
findex(zsh-mime-setup)
findex(zsh-mime-handler)
-xitem(tt(zsh-mime-setup [-flv]))
+xitem(tt(zsh-mime-setup) [ tt(-fv) ] [ tt(-l) [ var(suffix ...) ] ])
item(tt(zsh-mime-handler))(
These two functions use the files tt(~/.mime.types) and tt(/etc/mime.types),
which associate types and extensions, as well as tt(~/.mailcap) and
@@ -1525,8 +1525,14 @@ Repeated calls to tt(zsh-mime-setup) do not override the existing
mapping between suffixes and executable files unless the option tt(-f)
is given. Note, however, that this does not override existing suffix
aliases assigned to handlers other than tt(zsh-mime-handler).
+
Calling tt(zsh-mime-setup) with the option tt(-l) lists the existing
-mappings without altering them. Calling tt(zsh-mime-setup) with the option
+mappings without altering them. Suffixes to list (which may contain
+pattern characters that should be quoted from immediate interpretation
+on the command line) may be given as additional arguments, otherwise
+all suffixes are listed.
+
+Calling tt(zsh-mime-setup) with the option
tt(-v) causes verbose output to be shown during the setup operation.
The system respects the tt(mailcap) flags tt(needsterminal) and
diff --git a/Functions/MIME/zsh-mime-setup b/Functions/MIME/zsh-mime-setup
index 9a3e69610..0e3a29e56 100644
--- a/Functions/MIME/zsh-mime-setup
+++ b/Functions/MIME/zsh-mime-setup
@@ -37,7 +37,13 @@ if [[ -n $o_list ]]; then
# so we don't need to search styles for suffixes that aren't
# handled. Yet.
local list_word
- for suffix in ${(ko)zsh_mime_handlers}; do
+ local -a handlers
+ if (( $# )); then
+ handlers=(${(k)zsh_mime_handlers[(I)${(j.|.)*}]})
+ else
+ handlers=(${(k)zsh_mime_handlers})
+ fi
+ for suffix in ${(o)handlers}; do
zstyle -s ":mime:.$suffix:" handler list_word ||
list_word=${zsh_mime_handlers[$suffix]}
print ${(r.10.)suffix}$list_word