zsh: stop forcing unit file cache rebuilds

Rebuilding whenever the cached parameter is not set forces each new
shell to rebuild the cache, which often defeates the purpose of caching
in the first place.
This commit is contained in:
Ronan Pigott 2023-07-17 16:06:59 -07:00
parent 087f777a1c
commit 8a8caeccb2

View file

@ -161,8 +161,7 @@ __systemctl()
(( $+functions[_systemctl_all_units] )) || (( $+functions[_systemctl_all_units] )) ||
_systemctl_all_units() _systemctl_all_units()
{ {
if ( [[ ${+_sys_all_units} -eq 0 ]] || _cache_invalid SYS_ALL_UNITS$_sys_service_mgr ) || if _cache_invalid SYS_ALL_UNITS$_sys_service_mgr || ! _retrieve_cache SYS_ALL_UNITS$_sys_service_mgr;
! _retrieve_cache SYS_ALL_UNITS$_sys_service_mgr;
then then
_sys_all_units=( ${${(f)"$(__systemctl list-units --all)"}%% *} ) _sys_all_units=( ${${(f)"$(__systemctl list-units --all)"}%% *} )
_store_cache SYS_ALL_UNITS$_sys_service_mgr _sys_all_units _store_cache SYS_ALL_UNITS$_sys_service_mgr _sys_all_units
@ -175,8 +174,7 @@ __systemctl()
{ {
local -a all_unit_files; local -a all_unit_files;
local -a really_all_units; local -a really_all_units;
if ( [[ ${+_sys_really_all_units} -eq 0 ]] || _cache_invalid SYS_REALLY_ALL_UNITS$_sys_service_mgr ) || if _cache_invalid SYS_REALLY_ALL_UNITS$_sys_service_mgr || ! _retrieve_cache SYS_REALLY_ALL_UNITS$_sys_service_mgr;
! _retrieve_cache SYS_REALLY_ALL_UNITS$_sys_service_mgr;
then then
all_unit_files=( ${${(f)"$(__systemctl list-unit-files)"}%% *} ) all_unit_files=( ${${(f)"$(__systemctl list-unit-files)"}%% *} )
_systemctl_all_units _systemctl_all_units