mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-09-28 15:01:21 +02:00
replace path' with more general
urls' style (13814)
This commit is contained in:
parent
9e2dea1145
commit
6a62ae3564
@ -1,5 +1,8 @@
|
||||
2001-03-28 Sven Wischnowsky <wischnow@zsh.org>
|
||||
|
||||
* 13814: Completion/User/_urls, Doc/Zsh/compsys.yo: replace
|
||||
`path' with more general `urls' style
|
||||
|
||||
* 13813: Completion/Core/_multi_parts: make sure _multi_parts
|
||||
doesn't add the empty string as a possible completion
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
#
|
||||
# Configuration styles used:
|
||||
#
|
||||
# path
|
||||
# urls
|
||||
# The path to a directory containing a URL database, such as:
|
||||
#
|
||||
# % cd ~/.zsh/urls
|
||||
@ -29,6 +29,9 @@
|
||||
# % cat bookmark/zsh/meta
|
||||
# http://www.zsh.org/
|
||||
#
|
||||
# Alternatively it may contain the path to a normal file and the URLs will
|
||||
# be taken from that. Or the style may contain the URLs as its values.
|
||||
#
|
||||
# local
|
||||
# Specify a local web server as an array with three elements:
|
||||
# <hostname> <doc root> <user area>
|
||||
@ -39,9 +42,7 @@
|
||||
# zstyle ':completion:*:urls' local www /usr/local/apache/htdocs public_html
|
||||
|
||||
local ipre scheme host user uhosts ret=1 expl match glob suf
|
||||
local urls_path localhttp
|
||||
zstyle -s ":completion:${curcontext}:urls" path urls_path ||
|
||||
urls_path="${ZDOTDIR:-$HOME}/.zsh/urls"
|
||||
local localhttp
|
||||
zstyle -a ":completion:${curcontext}:urls" local localhttp
|
||||
local localhttp_servername="$localhttp[1]"
|
||||
local localhttp_documentroot="$localhttp[2]"
|
||||
@ -52,6 +53,16 @@ if [[ "$1" = -f ]]; then
|
||||
_wanted -C -f files expl file _files "$@" && return 0
|
||||
fi
|
||||
|
||||
zstyle -a ":completion:${curcontext}:urls" urls urls
|
||||
|
||||
if [[ $#urls -gt 1 || ( $#urls -eq 1 && ! -d $urls[1] ) ]]; then
|
||||
[[ $#urls -eq 1 && -f $urls[1] ]] && urls=( $(< $urls[1]) )
|
||||
_wanted urls expl 'urls' compadd -a urls && return 0
|
||||
urls=()
|
||||
fi
|
||||
|
||||
urls="$urls[1]"
|
||||
|
||||
glob=(-g '*(^/)')
|
||||
zparseopts -D -K -E 'g:=glob'
|
||||
|
||||
@ -62,7 +73,7 @@ if ! compset -P '(#b)([-+.a-z0-9]#):'; then
|
||||
while _tags; do
|
||||
while _next_label prefixes expl 'URL prefix' -S '' "$@"; do
|
||||
compset -S '[^:/]*' && compstate[to_end]=''
|
||||
[[ -d $urls_path/bookmark ]] &&
|
||||
[[ -d $urls/bookmark ]] &&
|
||||
compadd "$expl[@]" bookmark: && ret=0
|
||||
compadd "$expl[@]" file: ftp:// gopher:// http:// && ret=0
|
||||
done
|
||||
@ -97,18 +108,18 @@ case "$scheme" in
|
||||
fi
|
||||
;;
|
||||
bookmark)
|
||||
if [[ -f "$urls_path/$scheme/${(Q)PREFIX}${(Q)SUFFIX}" &&
|
||||
-s "$urls_path/$scheme/${(Q)PREFIX}${(Q)SUFFIX}" ]]; then
|
||||
if [[ -f "$urls/$scheme/${(Q)PREFIX}${(Q)SUFFIX}" &&
|
||||
-s "$urls/$scheme/${(Q)PREFIX}${(Q)SUFFIX}" ]]; then
|
||||
_wanted -C bookmark bookmarks expl bookmarks \
|
||||
compadd "$@" -U - \
|
||||
"$ipre$(<"$urls_path/$scheme/${(Q)PREFIX}${(Q)SUFFIX}")" && ret=0
|
||||
"$ipre$(<"$urls/$scheme/${(Q)PREFIX}${(Q)SUFFIX}")" && ret=0
|
||||
else
|
||||
_tags -C bookmark files
|
||||
while _tags; do
|
||||
while _next_label files expl 'bookmark'; do
|
||||
_path_files -W "$urls_path/$scheme" "$expl[@]" -S '' "${glob[@]}" &&
|
||||
_path_files -W "$urls/$scheme" "$expl[@]" -S '' "${glob[@]}" &&
|
||||
ret=0
|
||||
_path_files -W "$urls_path/$scheme" -S/ -r '/' "$expl[@]" -/ && ret=0
|
||||
_path_files -W "$urls/$scheme" -S/ -r '/' "$expl[@]" -/ && ret=0
|
||||
done
|
||||
(( ret )) || return 0
|
||||
done
|
||||
@ -119,7 +130,7 @@ esac
|
||||
|
||||
# Complete hosts
|
||||
if ! compset -P '(#b)([^:/]#)([:/])'; then
|
||||
uhosts=($urls_path/$scheme/$PREFIX*$SUFFIX(/:t))
|
||||
uhosts=($urls/$scheme/$PREFIX*$SUFFIX(/:t))
|
||||
|
||||
_tags hosts
|
||||
while _tags; do
|
||||
@ -167,8 +178,8 @@ 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 "${glob[@]}" && ret=0
|
||||
_path_files -S/ -r '/' "$expl[@]" -W $urls_path/$scheme/$host -/ && ret=0
|
||||
_path_files "$expl[@]" "$@" -W $urls/$scheme/$host "${glob[@]}" && ret=0
|
||||
_path_files -S/ -r '/' "$expl[@]" -W $urls/$scheme/$host -/ && ret=0
|
||||
done
|
||||
(( ret )) || return 0
|
||||
done
|
||||
|
@ -810,7 +810,7 @@ for types of whatever (e.g. address types for the tt(xhost) command)
|
||||
)
|
||||
kindex(urls, completion tag)
|
||||
item(tt(urls))(
|
||||
used to look up the tt(path) and tt(local) styles when completing URLs
|
||||
used to look up the tt(urls) and tt(local) styles when completing URLs
|
||||
)
|
||||
kindex(users, completion tag)
|
||||
item(tt(users))(
|
||||
@ -1808,18 +1808,8 @@ to be completed for `dpkg --status'.
|
||||
)
|
||||
kindex(path, completion style)
|
||||
item(tt(path))(
|
||||
This is used together with the the tt(urls) tag by completion
|
||||
functions that generate URLs as possible matches. It should be set to
|
||||
the path of a directory containing sub-directories named after the
|
||||
retrieval methods which occur as the first part of a URL, i.e.
|
||||
`tt(http)', `tt(ftp)', `tt(bookmark)', and so on. These
|
||||
sub-directories should contain files and other sub-directories whose
|
||||
pathnames are possible completions after the initial `tt(http://)',
|
||||
`tt(ftp://)', etc. See the description in the file tt(_urls) in the
|
||||
tt(User) sub-directory of the completion system for more information.
|
||||
|
||||
The function that completes color names also uses this style with the
|
||||
tt(colors) tag. Here, the value should be the pathname of a file
|
||||
The function that completes color names uses this style with the
|
||||
tt(colors) tag. The value should be the pathname of a file
|
||||
containing color names in the format of an X11 tt(rgb.txt) file. If
|
||||
the style is not set but this file is found in one of various standard
|
||||
locations it will be used as the default.
|
||||
@ -2118,6 +2108,26 @@ sensible default behavior that causes arguments (whether normal command
|
||||
arguments or arguments of options) to be completed before option names for
|
||||
most commands.
|
||||
)
|
||||
kindex(urls, completion style)
|
||||
item(tt(urls))(
|
||||
This is used together with the the tt(urls) tag by completion
|
||||
functions that generate URLs as possible matches. If the value
|
||||
consists of more than one string or if the only string does not name a
|
||||
file or directory, the strings are used as the URLs to complete.
|
||||
|
||||
If the value contains only one string and that is the name of a normal
|
||||
file, the URLs are taken from that file (where the URLs may be
|
||||
separated by white space or newlines).
|
||||
|
||||
Finally, if the only string in the value names a directory, that
|
||||
should contain sub-directories named after the
|
||||
retrieval methods which occur as the first part of a URL, i.e.
|
||||
`tt(http)', `tt(ftp)', `tt(bookmark)', and so on. These
|
||||
sub-directories should contain files and other sub-directories whose
|
||||
pathnames are possible completions after the initial `tt(http://)',
|
||||
`tt(ftp://)', etc. See the description in the file tt(_urls) in the
|
||||
tt(User) sub-directory of the completion system for more information.
|
||||
)
|
||||
kindex(use-cache, completion style)
|
||||
item(tt(use-cache))(
|
||||
If this is set, the completion caching layer is activated for any completions
|
||||
|
Loading…
Reference in New Issue
Block a user