From 3a7f9acd625d69d48cc8a8a8b04dcd7ba9b78037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=ADa=20Andrea=20Illanes=20Albornoz?= Date: Mon, 20 Mar 2023 09:47:46 +0100 Subject: Implements --theme in {build,pkgtool}.sh. --- subr.ex/ex_init.subr | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'subr.ex') diff --git a/subr.ex/ex_init.subr b/subr.ex/ex_init.subr index 3fb6ccec..fcabce07 100644 --- a/subr.ex/ex_init.subr +++ b/subr.ex/ex_init.subr @@ -115,7 +115,7 @@ ex_init_getopts() { while [ "${#}" -gt 0 ]; do case "${1}" in --*) - "${_eig_fn}" longopt "${_eig_rstatus}" "${1}"; + "${_eig_fn}" longopt "${_eig_rstatus}" "${1}" ${2:-}; _eig_fn_rc="${?}"; case "${_eig_fn_rc}" in @@ -407,4 +407,27 @@ ex_init_prereqs() { return "${_eip_rc}"; }; +# +# ex_init_theme() - initialise theme +# @_rstatus: reference to out variable of status string on failure +# @_name_base: base name for theme file(s) +# @_theme: theme name +# +# Return: zero (0) on success, non-zero (>0) on failure +# +ex_init_theme() { + local _eit_rstatus="${1#\$}" _eit_name_base="${2}" _eit_theme="${3}" \ + _eit_rc=0 _eit_theme_fname=""; + + _eit_theme_fname="etc/${_eit_name_base}${_eit_theme:+.${_eit_theme}}.theme"; + if ! [ -e "${_eit_theme_fname}" ]; then + _eit_rc=1; + exp_setrstatus "${_eit_rstatus}" 'failed to source \`'"${_eit_theme_fname}"''\''.'; + else + . "${_eit_theme_fname}"; + fi; + + return "${_eit_rc}"; +}; + # vim:filetype=sh textwidth=0 -- cgit v1.2.3