Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Completion functions for Mac OS X



Hi Motoi,
Thanks so much for the quick fix! I wanted to test on a few different systems before replying.

On Jan 16, 2005, at 10:08 AM, Motoi Washida 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.

Hmm, I'm not sure where I got the idea of using defaults(1) to read xml files. I don't know if this is openly documented anywhere.

Here is a patch to complete plist files.

It seems to work great on OS 10.3.7 with zsh 4.2.3. It doesn't work on the same machine with zsh 4.1.1 (which comes with OS 10.3), but that's probably ok since one wouldn't get the Darwin completions unless they installed zsh 4.2.3 anyway. How does one get this patch submitted? Through PWS?

Thanks,
Ryan


--
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