From 8fd6beed112754931f3d491241cb75d8f6953029 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Fri, 4 Jul 2025 00:47:18 +0200 Subject: [PATCH] parse/constants --- sh/main.sh | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sh/main.sh b/sh/main.sh index 5cb772c..d75695b 100755 --- a/sh/main.sh +++ b/sh/main.sh @@ -46,6 +46,8 @@ rwx_main() { fi # source user root rwx_source "${RWX_SELF_USER}" + # parse code cache + rwx_parse # context / command if [ -n "${RWX_COMMAND_NAME}" ]; then "${RWX_SELF_COMMAND}${RWX_COMMAND_NAME}" "${@}" @@ -201,14 +203,24 @@ rwx_find_shell() { rwx_parse() { local ws="[[:space:]]*" + local start="^${ws}" + local constant="[_A-Z][_0-9A-Z]*" + local setting="=.*" local fn="${ws}(${ws})${ws}{" local id="[_a-zA-Z][_a-z0-9A-Z]*" local line rwx_ifs_set + RWX_CONSTANTS="" + for line in $(echo "${RWX_CODE}" | + grep "${start}${constant}${setting}" | + sed "s|${start}\\(${constant}\\)${setting}|\\1|"); do + RWX_CONSTANTS="${RWX_CONSTANTS}${line} +" + done RWX_FUNCTIONS="" for line in $(echo "${RWX_CODE}" | - grep "^${ws}${id}${fn}" | - sed "s|^${ws}\\(${id}\\)${fn}.*|\\1|"); do + grep "${start}${id}${fn}" | + sed "s|${start}\\(${id}\\)${fn}.*|\\1|"); do RWX_FUNCTIONS="${RWX_FUNCTIONS}${line} " done