Use own cache policy
This checks modification dates of the repository database and completion cache and refreshes the latter if it is older than the database.
This commit is contained in:
parent
d8a2e94fa0
commit
f2cff3dbf3
13
src/_port
13
src/_port
|
@ -70,6 +70,12 @@ _port() {
|
|||
'*:extra:->extra' \
|
||||
&& return 0
|
||||
|
||||
local cache_policy
|
||||
zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
|
||||
if [[ -z "$cache_policy" ]]; then
|
||||
zstyle ":completion:${curcontext}:" cache-policy _port_caching_policy
|
||||
fi
|
||||
|
||||
case "$state" in
|
||||
extra)
|
||||
case "$words[2]" in
|
||||
|
@ -133,4 +139,11 @@ _port_select() {
|
|||
fi
|
||||
}
|
||||
|
||||
_port_caching_policy() {
|
||||
local reg_time comp_time
|
||||
reg_time=$(stat -c '%Z' $port_prefix/var/macports/registry/registry.db)
|
||||
comp_time=$(stat -c '%Z' $1)
|
||||
return $(( reg_time < comp_time ))
|
||||
}
|
||||
|
||||
_port "$@"
|
||||
|
|
Loading…
Reference in New Issue