From f6f13a86e319f7e87a2b19eba4cd543bdbb78bb8 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Fri, 4 Jul 2025 08:43:18 +0200 Subject: [PATCH 1/3] sed/constants --- sh/main.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sh/main.sh b/sh/main.sh index 321d1dc..08ca33a 100755 --- a/sh/main.sh +++ b/sh/main.sh @@ -171,6 +171,11 @@ RWX_REGEX_BEGIN="^${RWX_REGEX_SPACES}" RWX_REGEX_OPEN="\ ${RWX_REGEX_SPACES}(${RWX_REGEX_SPACES})${RWX_REGEX_SPACES}{.*" +RWX_REGEX_TARGET_CONSTANT="\ +${RWX_REGEX_BEGIN}\\(${RWX_REGEX_CONSTANT}\\)${RWX_REGEX_SET}" +RWX_REGEX_TARGET_FUNCTION="\ +${RWX_REGEX_BEGIN}\\(${RWX_REGEX_FUNCTION}\\)${RWX_REGEX_OPEN}" + rwx_parse_code() { # parse constants RWX_CONSTANTS="$(rwx_parse_constants)" @@ -180,12 +185,12 @@ rwx_parse_code() { rwx_parse_constants() { printf "%s\n" "${RWX_CODE}" | grep "${RWX_REGEX_BEGIN}${RWX_REGEX_CONSTANT}${RWX_REGEX_SET}" | - sed "s|${RWX_REGEX_BEGIN}\\(${RWX_REGEX_CONSTANT}\\)${RWX_REGEX_SET}|\\1|" + sed "s|${RWX_REGEX_TARGET_CONSTANT}|\\1|" } rwx_parse_functions() { printf "%s\n" "${RWX_CODE}" | grep "${RWX_REGEX_BEGIN}${RWX_REGEX_FUNCTION}${RWX_REGEX_OPEN}" | - sed "s|${RWX_REGEX_BEGIN}\\(${RWX_REGEX_FUNCTION}\\)${RWX_REGEX_OPEN}|\\1|" + sed "s|${RWX_REGEX_TARGET_FUNCTION}|\\1|" } # ╭──────┬─────╮ From 667489462d8ec2651015dac8d7a863fbe3479941 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Fri, 4 Jul 2025 08:47:30 +0200 Subject: [PATCH 2/3] fix --- sh/self.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sh/self.sh b/sh/self.sh index 4118d64..6dfa160 100644 --- a/sh/self.sh +++ b/sh/self.sh @@ -12,7 +12,7 @@ rwx_doc() { doc="" module="$(echo "${line}" | sed "s|#↓ \\(.*\\)|\\1|")" ;; - "#"*) + *"#"*) [ -n "${doc}" ] && doc="${doc} " doc="${doc}${line}" From 20ad290b1bed0a7813c7e39a5cd5a7ecdc06aff3 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Fri, 4 Jul 2025 09:07:36 +0200 Subject: [PATCH 3/3] targets/doc --- sh/main.sh | 2 ++ sh/self.sh | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/sh/main.sh b/sh/main.sh index 08ca33a..ff4c103 100755 --- a/sh/main.sh +++ b/sh/main.sh @@ -173,6 +173,8 @@ ${RWX_REGEX_SPACES}(${RWX_REGEX_SPACES})${RWX_REGEX_SPACES}{.*" RWX_REGEX_TARGET_CONSTANT="\ ${RWX_REGEX_BEGIN}\\(${RWX_REGEX_CONSTANT}\\)${RWX_REGEX_SET}" +RWX_REGEX_TARGET_DOC="\ +${RWX_REGEX_BEGIN}# \\(.*\\)${RWX_REGEX_SPACES}\$" RWX_REGEX_TARGET_FUNCTION="\ ${RWX_REGEX_BEGIN}\\(${RWX_REGEX_FUNCTION}\\)${RWX_REGEX_OPEN}" diff --git a/sh/self.sh b/sh/self.sh index 6dfa160..c214105 100644 --- a/sh/self.sh +++ b/sh/self.sh @@ -15,10 +15,10 @@ rwx_doc() { *"#"*) [ -n "${doc}" ] && doc="${doc} " - doc="${doc}${line}" + doc="${doc}$(echo "${line}" | sed "s|${RWX_REGEX_TARGET_DOC}|\\1|")" ;; *"="*) - constant="$(echo "${line}" | sed "s|^\\(.*\\)=.*|\\1|")" + constant="$(echo "${line}" | sed "s|${RWX_REGEX_TARGET_CONSTANT}|\\1|")" if [ "${constant}" = "${name}" ]; then echo "${doc}" return @@ -27,7 +27,7 @@ rwx_doc() { fi ;; *"("*")"*"{"*) - func="$(echo "${line}" | sed "s|^\\(.*\\)() {.*|\\1|")" + func="$(echo "${line}" | sed "s|${RWX_REGEX_TARGET_FUNCTION}|\\1|")" if [ "${func}" = "${name}" ]; then echo "${doc}" return