#autoload

local expl
local -aU kde_builder_modules

# The output of `kde-builder -M --query module-set` is in the format:
# extra-cmake-modules: frameworks
# Where "extra-cmake-modules" is module name,
# ": " is output separator,
# "frameworks" is module-set name, containing the module

if _cache_invalid kde_builder_modules || ! _retrieve_cache kde_builder_modules ; then
  # strip ":*" suffix (i.e. everything after and including first column).
  # (@) array Expansion Flags are needed because we need to operate on each element separately.
  kde_builder_modules=( "${(@)${(f)"$(
    _call_program kde-builder-modules \
      kde-builder -M --query module-set
    )"}%%:*}" )
  _store_cache kde_builder_modules kde_builder_modules
fi

_wanted modules expl "module" \
  compadd -a kde_builder_modules
