#compdef mise
# @generated by usage-cli from usage spec
local curcontext="$curcontext"

# caching config
_usage_mise_cache_policy() {
  if [[ -z "${lifetime}" ]]; then
    lifetime=$((60*60*4)) # 4 hours
  fi
  local -a oldp
  oldp=( "$1"(Nms+${lifetime}) )
  (( $#oldp ))
}

_mise() {
  typeset -A opt_args
  local curcontext="$curcontext" cache_policy

  if ! type -p usage &> /dev/null; then
      echo >&2
      echo "Error: usage CLI not found. This is required for completions to work in mise." >&2
      echo "See https://usage.jdx.dev for more information." >&2
      return 1
  fi

  local spec_file="${TMPDIR:-/tmp}/usage__usage_spec_mise_2026_5_12.spec"
  if [[ ! -f "$spec_file" ]]; then
    mise usage >| "$spec_file"
  fi
  local -a completions=()
  while IFS= read -r line; do
    completions+=("$line")
  done < <(command usage complete-word --shell zsh -f "$spec_file" -- "${words[@]}")
  _describe 'completions' completions -S ''
  return 0
}

if [ "$funcstack[1]" = "_mise" ]; then
    _mise "$@"
else
    compdef _mise mise
fi

# vim: noet ci pi sts=0 sw=4 ts=4
