#autoload

local expl
local -aU kde_builder_module_sets

# 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_modulesets || ! _retrieve_cache kde_builder_modulesets ; then
  # strip "*: " prefix (i.e. everything before column and including the column and space after it).
  # (@) array Expansion Flags are needed because we need to operate on each element separately.
  kde_builder_module_sets=( "${(@)${(f)"$(
    _call_program kde-builder-module-sets \
      kde-builder -M --query module-set
    )"}#*: }" )
  _store_cache kde_builder_module_sets kde_builder_module_sets
fi

_wanted module_sets expl "module-set" \
  compadd -a kde_builder_module_set
