_zimfw_list_unuseds() { local -i i=1 local zinstalled=(${ZIM_HOME}/modules/*(N/)) local -r zdirs=(${(v)_zdirs}) # Search into subdirectories while (( i <= ${#zinstalled} )); do if (( ${zdirs[(I)${zinstalled[i]}/*]} )); then zinstalled+=(${zinstalled[i]}/*(N/)) zinstalled[i]=() else (( i++ )) fi done # Unused = all installed dirs not in zdirs _zunused_dirs=(${zinstalled:|zdirs}) local zunused for zunused (${_zunused_dirs}) _zimfw_print -PR "%B${zunused:t}:%b ${zunused}${1}" }