1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-22 16:20:23 +02:00

accept -g option in _urls and use _urls in _rpm (11756)

This commit is contained in:
Oliver Kiddle 2000-06-05 23:20:48 +00:00
parent 4e9967dcca
commit 0d0a134822
3 changed files with 19 additions and 11 deletions

View file

@ -1,5 +1,8 @@
2000-06-05 Oliver Kiddle <opk@zsh.org>
* 11756: Completion/User/_urls, Completion/Linux/_rpm: accept -g
option in _urls and use _urls in _rpm
* 11755: test/comptest: fix wording in error messages
2000-06-05 Peter Stephenson <pws@pwstephenson.fsnet.co.uk>

View file

@ -211,12 +211,14 @@ while [[ -n "$state" ]]; do
_files -g \*.spec && ret=0
;;
package_file)
if compset -P '(f|ht)tp://'; then
_hosts -S/ && ret=0
_wanted files expl 'RPM package file' \
_files -g '*.(#i)rpm' && ret=0
if [[ -prefix 1 (f|ht)tp:// ]]; then
_wanted urls expl 'URL of RPM package file' \
_urls -f -g '*.(#i)rpm' "${expl[@]}" && ret=0
else
_alternative \
'files:RPM package file:_files -g \*.\(\#i\)rpm' \
'prefixes:URL prefix:compadd ftp:// http://' && ret=0
_wanted urls expl 'URL of RPM package file' \
compadd -S '' "${expl[@]}" ftp:// http:// && ret=0
fi
;;
package_src)

View file

@ -38,7 +38,7 @@
# E.g.:
# zstyle ':completion:*:urls' local www /usr/local/apache/htdocs public_html
local ipre scheme host user uhosts ret=1 expl match
local ipre scheme host user uhosts ret=1 expl match glob
local urls_path localhttp
zstyle -s ":completion:${curcontext}:urls" path urls_path ||
urls_path="${ZDOTDIR:-$HOME}/.zsh/urls"
@ -52,6 +52,9 @@ if [[ "$1" = -f ]]; then
_wanted -C -f files expl file _files "$@" && return 0
fi
zparseopts -D -E 'g:=glob'
(( $#glob )) || glob=( -g '*(^/)' )
ipre="$IPREFIX"
if ! compset -P '(#b)([-+.a-z0-9]#):'; then
@ -82,7 +85,7 @@ case "$scheme" in
while _tags; do
while _next_label files expl 'local file'; do
if [[ -prefix / ]]; then
_path_files "$expl[@]" -S '' -g '*(^/)' && ret=0
_path_files "$expl[@]" -S '' "${glob[@]}" && ret=0
_path_files "$expl[@]" -S/ -r '/' -/ && ret=0
elif [[ -z "$PREFIX" ]]; then
compadd -S '/' -r '/' "$expl[@]" "$@" - "${PWD%/}" && ret=0
@ -103,7 +106,7 @@ case "$scheme" in
_tags -C bookmark files
while _tags; do
while _next_label files expl 'bookmark'; do
_path_files -W "$urls_path/$scheme" "$expl[@]" -S '' -g '*(^/)' &&
_path_files -W "$urls_path/$scheme" "$expl[@]" -S '' "${glob[@]}" &&
ret=0
_path_files -W "$urls_path/$scheme" -S/ -r '/' "$expl[@]" -/ && ret=0
done
@ -145,7 +148,7 @@ if [[ "$localhttp_servername" = "$host" ]]; then
user="$match[1]"
while _tags; do
while _next_label files expl 'local file'; do
_path_files "$expl[@]" "$@" -W ~$user/$localhttp_userdir -g '*(^/)' && ret=0
_path_files "$expl[@]" "$@" -W ~$user/$localhttp_userdir "${glob[@]}" && ret=0
_path_files -S/ -r '/' "$expl[@]" -W ~$user/$localhttp_userdir-/ && ret=0
done
(( ret )) || return 0
@ -153,7 +156,7 @@ if [[ "$localhttp_servername" = "$host" ]]; then
else
while _tags; do
while _next_label files expl 'local file'; do
_path_files "$expl[@]" "$@" -W $localhttp_documentroot -g '*(^/)' && ret=0
_path_files "$expl[@]" "$@" -W $localhttp_documentroot "${glob[@]}" && ret=0
_path_files -S/ -r '/' "$expl[@]" -W $localhttp_documentroot -/ && ret=0
done
(( ret )) || return 0
@ -162,7 +165,7 @@ if [[ "$localhttp_servername" = "$host" ]]; then
else
while _tags; do
while _next_label files expl 'local file'; do
_path_files "$expl[@]" "$@" -W $urls_path/$scheme/$host -g '*(^/)' && ret=0
_path_files "$expl[@]" "$@" -W $urls_path/$scheme/$host "${glob[@]}" && ret=0
_path_files -S/ -r '/' "$expl[@]" -W $urls_path/$scheme/$host -/ && ret=0
done
(( ret )) || return 0