diff --git a/sh/alias/shell.sh b/sh/alias/shell.sh new file mode 100644 index 0000000..d6f5801 --- /dev/null +++ b/sh/alias/shell.sh @@ -0,0 +1,29 @@ +# shorten alias +a() { + alias \ + "${@}" +} + +# swap directory (current ↔ previous) +sd() { + cd \ + - || + return +} + +# exit terminal +x() { + exit \ + "${@}" +} + +[ "${RWX_SHELL}" = "bash" ] || return + +# shellcheck disable=SC3033 +..() { + cd .. +} +# shellcheck disable=SC3033 +...() { + cd ../.. +} diff --git a/sh/main.sh b/sh/main.sh index 16ce907..d96d776 100755 --- a/sh/main.sh +++ b/sh/main.sh @@ -26,6 +26,17 @@ RWX_SELF_NAME="rwx" # │ main │ variables │ # ╰──────┴───────────╯ +RWX_COMMAND_ARGUMENT="${0}" +# currently running shell name +RWX_SHELL="$(cat "/proc/${$}/comm")" + +# command name used to run +# (stripped from hyphen interactive flag) +RWX_COMMAND_NAME="$(basename "${RWX_COMMAND_ARGUMENT}" | sed "s|^-||")" +case "${RWX_COMMAND_NAME}" in +"bash" | "dash" | "sh") unset RWX_COMMAND_NAME ;; +*) ;; +esac # system root directory of the project RWX_ROOT_SYSTEM="/usr/local/lib/${RWX_SELF_NAME}" # user root directory of the project @@ -52,18 +63,9 @@ rwx_main() { # load code cache rwx_code_load # context / command - local command - # command name used to run - # (stripped from hyphen interactive flag) - command="$(basename "${0}" | sed "s|^-||")" - case "${command}" in - "bash" | "dash" | "sh") unset command ;; - *) ;; - esac - if [ -n "${command}" ]; then + if [ -n "${RWX_COMMAND_NAME}" ]; then local function - # find the matching function - function="$(rwx_code_alias_function "${command}")" + function="$(rwx_code_alias_function "${RWX_COMMAND_NAME}")" if [ -n "${function}" ]; then "${function}" "${@}" fi diff --git a/sh/shell.sh b/sh/shell.sh index 8400fd2..7e56658 100644 --- a/sh/shell.sh +++ b/sh/shell.sh @@ -1,7 +1,3 @@ -# ╭───────╮ -# │ shell │ -# ╰───────╯ - _rwx_shell_color() { local code="${1}" case "${RWX_SHELL}" in @@ -23,11 +19,6 @@ _rwx_shell_color() { ;; esac } - -# ╭───────┬───────────╮ -# │ shell │ constants │ -# ╰───────┴───────────╯ - RWX_COLOR_BROWN="$(_rwx_shell_color 33)" RWX_COLOR_CYAN="$(_rwx_shell_color 36)" RWX_COLOR_DEFAULT="$(_rwx_shell_color)" @@ -35,17 +26,6 @@ RWX_COLOR_GREEN="$(_rwx_shell_color 31)" RWX_COLOR_MAGENTA="$(_rwx_shell_color 35)" RWX_COLOR_RED="$(_rwx_shell_color 32)" -# ╭───────┬───────────╮ -# │ shell │ variables │ -# ╰───────┴───────────╯ - -# currently running shell name -RWX_SHELL="$(cat "/proc/${$}/comm")" - -# ╭───────┬───────────╮ -# │ shell │ functions │ -# ╰───────┴───────────╯ - rwx_shell_configure() { [ -n "${ENV}" ] || ENV="${RWX_MAIN_PATH}" export ENV @@ -134,37 +114,3 @@ rwx_shell_prompt() { # print printf "%b" "${view}" } - -# ╭───────┬───────────╮ -# │ shell │ shortcuts │ -# ╰───────┴───────────╯ - -# shorten alias -a() { - alias \ - "${@}" -} - -# swap directory (current ↔ previous) -sd() { - cd \ - - || - return -} - -# exit terminal -x() { - exit \ - "${@}" -} - -[ "${RWX_SHELL}" = "bash" ] || return - -# shellcheck disable=SC3033 -..() { - cd .. -} -# shellcheck disable=SC3033 -...() { - cd ../.. -}