diff --git a/sh/code.awk b/sh/code.awk index 26f3cfc..dd4423b 100644 --- a/sh/code.awk +++ b/sh/code.awk @@ -5,10 +5,6 @@ function append(line) { doc = doc line } -function eval(alias, target) { - print alias "() { " target " \"${@}\"; }" -} - function output(name, type) { print "↙ " type print name @@ -24,14 +20,13 @@ function reset() { BEGIN { RE_ANY = "(.*)" - RE_BEGIN = "^" RE_CONST = "([_A-Z][_0-9A-Z]*)" RE_SET = "=.*" RE_SPACE = "[[:space:]]" + RE_SPACES = RE_SPACE "*" RE_VAR = "([_a-z][_0-9a-z]*)" - RE_SPACES = RE_SPACE "*" - + RE_BEGIN = "^" RE_END = RE_SPACES "$" RE_FUNC = RE_SPACES "\\(" RE_SPACES "\\)" RE_SPACES "{" @@ -84,7 +79,7 @@ BEGIN { } else if (match($0, RE_FUNCTION, m)) { split(doc, array, "\n") for (item in array) { - eval(array[item], m[1]) + print array[item] " " m[1] } reset() } else { diff --git a/sh/code.sh b/sh/code.sh index 3c033ea..d046dbb 100644 --- a/sh/code.sh +++ b/sh/code.sh @@ -103,6 +103,21 @@ rwx_code_aliases() { echo "${_rwx_code_aliases}" } +# find alias function +rwx_code_alias_function() { + local target="${1}" + local line name + while IFS= read -r line; do + name="$(echo "${line}" | awk "{print \$1}")" + if [ "${name}" = "${target}" ]; then + echo "${line}" | + awk "{print \$2}" + fi + done <