Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Completion functions for Mac OS X
- X-seq: zsh-users 8380
- From: Motoi Washida <a66@xxxxxxxxxxxxx>
- To: zsh-users@xxxxxxxxxx
- Subject: Re: Completion functions for Mac OS X
- Date: Mon, 17 Jan 2005 01:08:20 +0900
- Cc: lists <lists@xxxxxxxxxxxxxxxx>
- In-reply-to: <D010BCC1-6716-11D9-9019-000A95D2C79E@xxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- References: <ED23CF10-DBCD-11D8-BFB6-000D93502E64@xxxxxxxxxxxxx> <5F375244-DBDD-11D8-8A54-000D93502E64@xxxxxxxxxxxxx> <D010BCC1-6716-11D9-9019-000A95D2C79E@xxxxxxxxxxxxxxxx>
Hi Ryan,
On 2005/01/16, at 1:59, lists wrote:
defaults read /Applications/TextEdit.app/Contents/Info
will normally display the contents of
/Applications/TextEdit.app/Contents/Info.plist
Heh. I didn't know that. Is this a hidden feature? I can't find any
documents about that.
If I use the _defaults completion, this doesn't work (and neither does
TAB completion: 'defaults read /App<TAB>'). Could _defaults be
modified to allow for viewing of xml files which aren't registered as
a defaults domain? I'd love to help but haven't been able to get the
hang of writing completions yet.
Here is a patch to complete plist files.
--
Motoi Washida
Index: Completion/Darwin/Command/_defaults
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Darwin/Command/_defaults,v
retrieving revision 1.1
diff -d -u -r1.1 _defaults
--- Completion/Darwin/Command/_defaults 23 Jul 2004 13:38:12 -0000 1.1
+++ Completion/Darwin/Command/_defaults 16 Jan 2005 15:43:35 -0000
@@ -1,12 +1,16 @@
#compdef defaults
_defaults_domains(){
- local str="$(_call_program domains defaults domains 2>/dev/null)"
- local expl
- local -a list
- list=( ${(s/, /)str} -g -globalDomain )
- _wanted domains expl 'defaults database domain' \
- compadd -M 'r:|.=* r:|=*' -a list
+ if [[ "`eval echo $PREFIX`" != [/~]* ]]; then
+ local str="$(_call_program domains defaults domains 2>/dev/null)"
+ local expl
+ local -a list
+ list=( ${(s/, /)str} -g -globalDomain )
+ _wanted domains expl 'defaults database domain' \
+ compadd -M 'r:|.=* r:|=*' -a list
+ else
+ _files -g '*.plist(e:"reply=\${REPLY%.plist}":)'
+ fi
}
_defaults_keys(){
Messages sorted by:
Reverse Date,
Date,
Thread,
Author