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

Re: _urls -f



Tanaka Akira wrote:

>   Oliver Kiddle <okiddle@xxxxxxxxxxx> writes:
> > I don't like the behaviour of _urls -f in that it completes files before
> > urls without letting you define a style to complete both together or
> > urls first.
> 
> Agreed.  I think it was my fault.

Good, I'll apply that then. Here's the patch to make the same change
for netscape, links, lynx and w3m.

For netscape, a tag-order of urls before files doesn't seem to work
entirely so I think I'm still misunderstanding the tags stuff there
somewhere.

Oliver

Index: Completion/Unix/Command/_links
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_links,v
retrieving revision 1.1
diff -u -r1.1 _links
--- Completion/Unix/Command/_links	2001/08/22 21:37:00	1.1
+++ Completion/Unix/Command/_links	2001/12/12 11:22:08
@@ -24,8 +24,6 @@
        '-help' \
        ':url:->html' && return 0
 
-case "$state" in
-html)
-  _files -g '*.html' || _urls
-  ;;
-esac
+if [[ "$state" = html ]]; then
+  _alternative 'files:file:_files "*.html"' 'urls:url:_urls'
+fi
Index: Completion/Unix/Command/_lynx
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_lynx,v
retrieving revision 1.1
diff -u -r1.1 _lynx
--- Completion/Unix/Command/_lynx	2001/04/02 11:56:16	1.1
+++ Completion/Unix/Command/_lynx	2001/12/12 11:22:08
@@ -107,6 +107,6 @@
     outside_telnet print shell suspend telnet_port useragent
   ;;
 html)
-  _files -g '*.html' || _urls
+  _alternative 'files:file:_files "*.html"' 'urls:url:_urls'
   ;;
 esac
Index: Completion/Unix/Command/_w3m
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_w3m,v
retrieving revision 1.2
diff -u -r1.2 _w3m
--- Completion/Unix/Command/_w3m	2001/05/03 13:05:49	1.2
+++ Completion/Unix/Command/_w3m	2001/12/12 11:22:09
@@ -42,7 +42,7 @@
 	   compadd $_w3mhistory
 	fi
 
-	_urls || _files -g '*.html'
+	_alternative 'files:file:_files "*.html"' 'urls:url:_urls'
 	;;
 
 esac
Index: Completion/X/Command/_netscape
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/X/Command/_netscape,v
retrieving revision 1.1
diff -u -r1.1 _netscape
--- Completion/X/Command/_netscape	2001/04/02 12:14:25	1.1
+++ Completion/X/Command/_netscape	2001/12/12 11:22:09
@@ -24,9 +24,6 @@
   -{component-bar,composer,edit,messenger,mail,discussions,news} \
   '*:location:->urls' && ret=0
 
-[[ "$state" = "urls" ]] &&
-  _files "$@" && return 0
-
 # Handle netscape remote commands
 if [[ "$state" = "remote" ]]; then  
   local -a remote_commands
@@ -69,24 +66,31 @@
 fi
 
 if [[ "$state" = "urls" ]]; then
-  # Complete netscape urls
-  if compset -P about: ; then
-    _wanted values expl 'about what' \
-        compadd "$@" authors blank cache document fonts global hype image-cache \
-            license logo memory-cache mozilla plugins && ret=0
-  elif compset -P news: ; then
-    _newsgroups "$@" && ret=0
-  else
-    _tags prefixes
-    while _tags; do
-      while _next_label prefixes expl 'URL prefix' "$@"; do
-        _urls "$expl[@]" && ret=0
-	compset -S '[^:]*'
-        compadd -S '' "$expl[@]" about: news: mocha: javascript: && ret=0
-      done
-      (( ret )) || return 0
-    done
-  fi
+  _tags files urls
+  while _tags; do
+    _requested files expl 'file' _files "$@" && ret=0
+    if _requested urls; then
+      # Complete netscape urls
+      if compset -P about: ; then
+	_wanted values expl 'about what' \
+            compadd "$@" authors blank cache document fonts global hype \
+	    	image-cache license logo memory-cache mozilla plugins && ret=0
+      elif compset -P news: ; then
+	_newsgroups "$@" && ret=0
+      else
+	_tags prefixes
+	while _tags; do
+	  while _next_label prefixes expl 'URL prefix' "$@"; do
+            _urls "$expl[@]" && ret=0
+	    compset -S '[^:]*'
+            compadd -S '' "$expl[@]" about: news: mocha: javascript: && ret=0
+	  done
+	  (( ret )) || return 0
+	done
+      fi
+    fi
+    (( ret )) || return 0
+  done
 fi
 
 return ret

_____________________________________________________________________
This message has been checked for all known viruses by the 
MessageLabs Virus Scanning Service. For further information visit
http://www.messagelabs.com/stats.asp



Messages sorted by: Reverse Date, Date, Thread, Author