diff --git a/sh/main.awk b/sh/main.awk index 998644d..2dca2cb 100644 --- a/sh/main.awk +++ b/sh/main.awk @@ -5,8 +5,8 @@ function append(line) { doc = doc line } -function output(name) { - print name +function output(name, type) { + print name " ← " type print doc exit } @@ -28,6 +28,7 @@ BEGIN { RE_FUNC = RE_SPACES "\\(" RE_SPACES "\\)" RE_SPACES "{" RE_ALIAS = RE_BEGIN "#=" RE_SPACES RE_VAR RE_END + RE_CLOSE = RE_BEGIN "}" RE_SPACES RE_END RE_CONSTANT = RE_BEGIN RE_CONST RE_SET RE_END RE_DOC = RE_BEGIN "#" RE_SPACE RE_ANY RE_END RE_FUNCTION = RE_BEGIN RE_VAR RE_FUNC RE_END @@ -56,26 +57,24 @@ BEGIN { } else if (action == "doc") { # doc if (match($0, RE_SHEBANG, m)) { - append("shebang: " m[1]) + append("! " m[1]) } else if (match($0, RE_DOC, m)) { append(m[1]) } else if (match($0, RE_ALIAS, m)) { - append("alias: " m[1]) + append("= " m[1]) if (m[1] == target) { alias = 1 } # set } else if (match($0, RE_CONSTANT, m)) { if (m[1] == target) { - printf "constant: " - output(m[1]) + output(m[1], "constant") } else { reset() } } else if (match($0, RE_VARIABLE, m)) { if (m[1] == target) { - printf "variable: " - output(m[1]) + output(m[1], "variable") } else { reset() } @@ -87,19 +86,16 @@ BEGIN { } } else if (match($0, RE_FUNCTION, m)) { if (alias) { - print "alias: " target - printf "function: " - output(m[1]) + print "= " target + output(m[1], "function") } else if (m[1] == target) { - printf "function: " - output(target) + output(target, "function") } else { reset() } } else { if (module) { - printf "module: " - output(target) + output(target, "module") } else { reset() }