diff --git a/sh/alias/batcat.sh b/sh/alias/batcat.sh index c573adb..99d8373 100644 --- a/sh/alias/batcat.sh +++ b/sh/alias/batcat.sh @@ -1,4 +1,4 @@ -#= b +b() { a__bat "${@}"; } a__bat() { batcat \ "${@}" diff --git a/sh/alias/gpg.sh b/sh/alias/gpg.sh new file mode 100644 index 0000000..eb19651 --- /dev/null +++ b/sh/alias/gpg.sh @@ -0,0 +1,12 @@ +# turn gpg agent off +gak() { a__gpg_agent_kill "${@}"; } +a__gpg_agent_kill() { + gpgconf \ + --kill "gpg-agent" +} + +# bind gpg agent to current tty +gau() { a__gpg_agent_update "${@}"; } +a__gpg_agent_update() { + rwx_gpg_agent_update +} diff --git a/sh/gpg.sh b/sh/gpg.sh index e1bf31c..b5ce07b 100644 --- a/sh/gpg.sh +++ b/sh/gpg.sh @@ -1,14 +1,4 @@ -# functions to handle gpg - -# turn gpg agent off -#= gak -rwx_gpg_agent_kill() { - gpgconf \ - --kill "gpg-agent" -} - # bind gpg agent to current tty -#= gau rwx_gpg_agent_update() { gpg-connect-agent \ updatestartuptty \ diff --git a/sh/main.awk b/sh/main.awk index b8a8f59..2dca2cb 100644 --- a/sh/main.awk +++ b/sh/main.awk @@ -6,16 +6,13 @@ function append(line) { } function output(name, type) { - print "↙ " type - print name + print name " ← " type print doc exit } function reset() { - if (f == "") { - doc = "" - } + doc = "" } BEGIN { @@ -33,14 +30,13 @@ BEGIN { 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_SPACES "#" RE_SPACE RE_ANY RE_END + RE_DOC = RE_BEGIN "#" RE_SPACE RE_ANY RE_END RE_FUNCTION = RE_BEGIN RE_VAR RE_FUNC RE_END RE_MODULE = RE_BEGIN "#." RE_SPACES RE_ANY RE_END RE_SHEBANG = RE_BEGIN "#!" RE_SPACES RE_ANY RE_END RE_VARIABLE = RE_BEGIN RE_VAR RE_SET RE_END alias = 0 - f = "" reset() module = 0 } @@ -52,7 +48,7 @@ BEGIN { } else if (match($0, RE_FUNCTION, m)) { n = split(doc, array, "\n") for (i = 1; i<= n; i++) { - print array[i] " " m[1] + print array[i] " = " m[1] } reset() } else { @@ -63,11 +59,7 @@ BEGIN { if (match($0, RE_SHEBANG, m)) { append("! " m[1]) } else if (match($0, RE_DOC, m)) { - if (f) { - append($0) - } else { - append(m[1]) - } + append(m[1]) } else if (match($0, RE_ALIAS, m)) { append("= " m[1]) if (m[1] == target) { @@ -93,15 +85,12 @@ BEGIN { module = 1 } } else if (match($0, RE_FUNCTION, m)) { - f = m[1] - } else if (match($0, RE_CLOSE, m)) { if (alias) { print "= " target - output(f, "function") - } else if (f == target) { - output(f, "function") + output(m[1], "function") + } else if (m[1] == target) { + output(target, "function") } else { - f = "" reset() } } else { diff --git a/sh/main.sh b/sh/main.sh index 838b028..d26159a 100755 --- a/sh/main.sh +++ b/sh/main.sh @@ -94,11 +94,11 @@ rwx_source() { [ -d "${root}" ] || return 1 local file="${2}" - local count module modules + local count module count=0 __rwx_log "" \ ". ${root}" - modules="$(rwx_find_shell "${root}" "${file}")" + local modules="$(rwx_find_shell "${root}" "${file}")" while IFS= read -r module; do count=$((count + 1)) __rwx_log "$(printf "%02d" "${count}") ${module%.sh}" @@ -172,32 +172,24 @@ RWX_REGEX_CONSTANT="[_A-Z][_0-9A-Z]*" RWX_REGEX_FUNCTION="[_A-Za-z][_0-9A-Za-z]*" RWX_REGEX_SET="=.*" RWX_REGEX_SPACES="[[:space:]]*" -RWX_REGEX_VARIABLE="[_a-z][_0-9a-z]*" -RWX_REGEX_BEGIN="^" +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_SPACES}\$" +${RWX_REGEX_BEGIN}# \\(.*\\)${RWX_REGEX_SPACES}\$" RWX_REGEX_TARGET_FUNCTION="\ ${RWX_REGEX_BEGIN}\\(${RWX_REGEX_FUNCTION}\\)${RWX_REGEX_OPEN}" -RWX_REGEX_TARGET_VARIABLE="\ -${RWX_REGEX_BEGIN}\\(${RWX_REGEX_VARIABLE}\\)${RWX_REGEX_SET}" - -# cache for code variables -_rwx_code_variables="" rwx_parse_code() { # parse aliases - local line text + local line RWX_ALIASES="$(rwx_parse_aliases)" while IFS= read -r line; do - text="$(echo "${line}" | sed "s| |() { |")" - text="${text} \"\${@}\"; }" - eval "${text}" + eval "${line/ = /() { } \"\${@}\"; }" done <"/dev/null" else rwx_tmux_list @@ -27,9 +27,7 @@ rwx_tmux_kill() { # list #= tml rwx_tmux_list() { - local user_id - user_id="$(id --user)" - ls "/tmp/tmux-${user_id}" + ls "/tmp/tmux-$(id --user)" } # ╭──────┬───────╮