This commit is contained in:
parent
30aead95e0
commit
1467c1158a
3 changed files with 72 additions and 43 deletions
100
sh/main.awk
100
sh/main.awk
|
@ -41,54 +41,68 @@ BEGIN {
|
|||
}
|
||||
|
||||
{
|
||||
# doc
|
||||
if (match($0, RE_SHEBANG, m)) {
|
||||
append("shebang: " m[1])
|
||||
} else if (match($0, RE_DOC, m)) {
|
||||
append(m[1])
|
||||
} else if (match($0, RE_ALIAS, m)) {
|
||||
append("alias: " 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])
|
||||
if (action == "alias") {
|
||||
if (match($0, RE_ALIAS, m)) {
|
||||
append(m[1])
|
||||
} else if (match($0, RE_FUNCTION, m)) {
|
||||
n = split(doc, array, "\n")
|
||||
for (i = 1; i<= n; i++) {
|
||||
print array[i] "() { " m[1] " \"${@}\" ; }"
|
||||
}
|
||||
reset()
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
} else if (match($0, RE_VARIABLE, m)) {
|
||||
if (m[1] == target) {
|
||||
printf "variable: "
|
||||
output(m[1])
|
||||
} else {
|
||||
} else if (action == "doc") {
|
||||
# doc
|
||||
if (match($0, RE_SHEBANG, m)) {
|
||||
append("shebang: " m[1])
|
||||
} else if (match($0, RE_DOC, m)) {
|
||||
append(m[1])
|
||||
} else if (match($0, RE_ALIAS, m)) {
|
||||
append("alias: " 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])
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
} else if (match($0, RE_VARIABLE, m)) {
|
||||
if (m[1] == target) {
|
||||
printf "variable: "
|
||||
output(m[1])
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
# others
|
||||
} else if (match($0, RE_MODULE, m)) {
|
||||
reset()
|
||||
}
|
||||
# others
|
||||
} else if (match($0, RE_MODULE, m)) {
|
||||
reset()
|
||||
if (m[1] == target) {
|
||||
module = 1
|
||||
}
|
||||
} else if (match($0, RE_FUNCTION, m)) {
|
||||
if (alias) {
|
||||
print "alias: " target
|
||||
printf "function: "
|
||||
output(m[1])
|
||||
} else if (m[1] == target) {
|
||||
printf "function: "
|
||||
output(target)
|
||||
if (m[1] == target) {
|
||||
module = 1
|
||||
}
|
||||
} else if (match($0, RE_FUNCTION, m)) {
|
||||
if (alias) {
|
||||
print "alias: " target
|
||||
printf "function: "
|
||||
output(m[1])
|
||||
} else if (m[1] == target) {
|
||||
printf "function: "
|
||||
output(target)
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
} else {
|
||||
if (module) {
|
||||
printf "module: "
|
||||
output(target)
|
||||
} else {
|
||||
reset()
|
||||
if (module) {
|
||||
printf "module: "
|
||||
output(target)
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue