mirror of
https://github.com/zsh-users/zsh-completions.git
synced 2026-09-17 16:00:19 +00:00
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:
@@ -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 "$@"
|
||||
|
||||
Reference in New Issue
Block a user