diff --git a/sh/main.sh b/sh/main.sh index ff4c103..321d1dc 100755 --- a/sh/main.sh +++ b/sh/main.sh @@ -171,13 +171,6 @@ 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_DOC="\ -${RWX_REGEX_BEGIN}# \\(.*\\)${RWX_REGEX_SPACES}\$" -RWX_REGEX_TARGET_FUNCTION="\ -${RWX_REGEX_BEGIN}\\(${RWX_REGEX_FUNCTION}\\)${RWX_REGEX_OPEN}" - rwx_parse_code() { # parse constants RWX_CONSTANTS="$(rwx_parse_constants)" @@ -187,12 +180,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_TARGET_CONSTANT}|\\1|" + sed "s|${RWX_REGEX_BEGIN}\\(${RWX_REGEX_CONSTANT}\\)${RWX_REGEX_SET}|\\1|" } rwx_parse_functions() { printf "%s\n" "${RWX_CODE}" | grep "${RWX_REGEX_BEGIN}${RWX_REGEX_FUNCTION}${RWX_REGEX_OPEN}" | - sed "s|${RWX_REGEX_TARGET_FUNCTION}|\\1|" + sed "s|${RWX_REGEX_BEGIN}\\(${RWX_REGEX_FUNCTION}\\)${RWX_REGEX_OPEN}|\\1|" } # ╭──────┬─────╮ diff --git a/sh/self.sh b/sh/self.sh index c214105..4118d64 100644 --- a/sh/self.sh +++ b/sh/self.sh @@ -12,13 +12,13 @@ rwx_doc() { doc="" module="$(echo "${line}" | sed "s|#↓ \\(.*\\)|\\1|")" ;; - *"#"*) + "#"*) [ -n "${doc}" ] && doc="${doc} " - doc="${doc}$(echo "${line}" | sed "s|${RWX_REGEX_TARGET_DOC}|\\1|")" + doc="${doc}${line}" ;; *"="*) - constant="$(echo "${line}" | sed "s|${RWX_REGEX_TARGET_CONSTANT}|\\1|")" + constant="$(echo "${line}" | sed "s|^\\(.*\\)=.*|\\1|")" if [ "${constant}" = "${name}" ]; then echo "${doc}" return @@ -27,7 +27,7 @@ rwx_doc() { fi ;; *"("*")"*"{"*) - func="$(echo "${line}" | sed "s|${RWX_REGEX_TARGET_FUNCTION}|\\1|")" + func="$(echo "${line}" | sed "s|^\\(.*\\)() {.*|\\1|")" if [ "${func}" = "${name}" ]; then echo "${doc}" return