zsh-workers
 help / color / mirror / code / Atom feed
9404bfe64348e0e742cd00c5f9c814d8dab4e6e5 blob 1114 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
#autoload

_python_module_caching_policy () {
  local -a newer
  # rebuild if cache does not exist or is more than a week old
  newer=( "$1"(Nmw-1) )
  return $#newer
}

_python_modules () {
  local update_policy python expl

  case $words[1] in
    (python*) python=$words[1] ;;
    (pydoc*)  python=${words[1]/#pydoc/python} ;;
    (*)       python="python" ;;
  esac
  local cache_id=${${python//[^[:alnum:]]/_}#_}_modules
  local array_name=_cache_${cache_id}

  zstyle -s ":completion:${curcontext}:modules" cache-policy update_policy
  [[ -z "$update_policy" ]] && \
    zstyle ":completion:${curcontext}:modules" \
      cache-policy _python_module_caching_policy

  if [[ ${(P)+array_name} -eq 0 ]] && { _cache_invalid $cache_id ||
      ! _retrieve_cache $cache_id }
  then
    local script='import pkgutil
for importer, name, ispkg in pkgutil.iter_modules(): print(name)'

    typeset -agU $array_name
    set -A $array_name $(_call_program modules $python -c ${(q)script})

    _store_cache $cache_id $array_name
  fi

  _wanted modules expl module compadd "$@" -a - $array_name
}

_python_modules "$@"
debug log:

solving 9404bfe ...
found 9404bfe in https://inbox.vuxu.org/zsh-workers/6472.1481623850@hydra.kiddle.eu/
found e82f8ef in https://git.vuxu.org/mirror/zsh/
preparing index
index prepared:
100644 e82f8efbf1d3e52f09de64deb18e8b3cfc2f6fce	Completion/Unix/Type/_python_modules

applying [1/1] https://inbox.vuxu.org/zsh-workers/6472.1481623850@hydra.kiddle.eu/
diff --git a/Completion/Unix/Type/_python_modules b/Completion/Unix/Type/_python_modules
index e82f8ef..9404bfe 100644

Checking patch Completion/Unix/Type/_python_modules...
Applied patch Completion/Unix/Type/_python_modules cleanly.

index at:
100644 9404bfe64348e0e742cd00c5f9c814d8dab4e6e5	Completion/Unix/Type/_python_modules

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).