diff --git a/sh/core/code.sh b/sh/core/code.sh index a4a5eb0..39675ca 100644 --- a/sh/core/code.sh +++ b/sh/core/code.sh @@ -223,6 +223,9 @@ rwx_code_parse() { # ╰──────┴──────╯ rwx_code_main() { + local code="${1}" + shift + _rwx_code="${code}" # source user root rwx_main_source "${RWX_SELF_USER}" # load code cache diff --git a/sh/main.sh b/sh/main.sh index 401fccd..288b2f8 100755 --- a/sh/main.sh +++ b/sh/main.sh @@ -79,17 +79,15 @@ _rwx_main_log() { # source code from root path rwx_main_source() { local root="${1}" + local main="${2}" [ -d "${root}" ] || return 1 - local count module modules - count=0 - _rwx_main_log "" \ - ". ${root}" + local module modules + # cache main + [ -n "${main}" ] && rwx_main_cache "${root}" "${main}" modules="$(rwx_main_find "${root}")" while IFS= read -r module; do - if [ "${module}" != "${RWX_MAIN_NAME}" ]; then - count=$((count + 1)) - _rwx_main_log "$(printf "%02d" "${count}") ${module}" + if [ "${module}" != "${main}" ]; then # shellcheck disable=SC1090 . "${root}/${module}.${RWX_MAIN_EXTENSION}" # cache code @@ -127,15 +125,15 @@ ${text} # run initial steps #< core/code rwx_main_main() { - # cache main - rwx_main_cache "${RWX_ROOT_SYSTEM}" "${RWX_MAIN_NAME}" + local code # source system root - if ! rwx_main_source "${RWX_ROOT_SYSTEM}"; then + if ! rwx_main_source "${RWX_ROOT_SYSTEM}" "${RWX_MAIN_NAME}"; then _rwx_main_log "Not a directory: ${RWX_ROOT_SYSTEM}" return 1 fi + code="${_rwx_code}" # run code main function - rwx_code_main "${@}" + rwx_code_main "${code}" "${@}" } # run main function