command function
This commit is contained in:
parent
ffdfe0fc90
commit
278dd75556
2 changed files with 22 additions and 11 deletions
15
sh/code.awk
15
sh/code.awk
|
@ -102,6 +102,21 @@ BEGIN {
|
|||
} else {
|
||||
reset()
|
||||
}
|
||||
} else if (action == "command function") {
|
||||
if (match($0, RE_COMMAND, m)) {
|
||||
append(m[1])
|
||||
} else if (match($0, RE_FUNCTION, m)) {
|
||||
split(doc, array, "\n")
|
||||
for (item in array) {
|
||||
if (item == target) {
|
||||
print m[1]
|
||||
exit
|
||||
}
|
||||
}
|
||||
reset()
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
} else if (action == "doc") {
|
||||
# doc
|
||||
if (match($0, RE_SHEBANG, m)) {
|
||||
|
|
18
sh/code.sh
18
sh/code.sh
|
@ -105,17 +105,13 @@ rwx_code_aliases() {
|
|||
|
||||
# find command function
|
||||
rwx_code_command_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 <<EOF
|
||||
${_rwx_code_commands_functions}
|
||||
EOF
|
||||
local name="${1}"
|
||||
[ -n "${name}" ] || return
|
||||
rwx_code |
|
||||
awk \
|
||||
--assign action="command function" \
|
||||
--assign target="${name}" \
|
||||
"${_rwx_code_awk}"
|
||||
}
|
||||
|
||||
# show the cached aliases and functions
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue