diff --git a/sh/alias/shell.sh b/sh/alias/shell.sh deleted file mode 100644 index d6f5801..0000000 --- a/sh/alias/shell.sh +++ /dev/null @@ -1,29 +0,0 @@ -# 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 d96d776..16ce907 100755 --- a/sh/main.sh +++ b/sh/main.sh @@ -26,17 +26,6 @@ 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 @@ -63,9 +52,18 @@ rwx_main() { # load code cache rwx_code_load # context / command - if [ -n "${RWX_COMMAND_NAME}" ]; then + 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 local function - function="$(rwx_code_alias_function "${RWX_COMMAND_NAME}")" + # find the matching function + function="$(rwx_code_alias_function "${command}")" if [ -n "${function}" ]; then "${function}" "${@}" fi diff --git a/sh/shell.sh b/sh/shell.sh index 7e56658..8400fd2 100644 --- a/sh/shell.sh +++ b/sh/shell.sh @@ -1,3 +1,7 @@ +# ╭───────╮ +# │ shell │ +# ╰───────╯ + _rwx_shell_color() { local code="${1}" case "${RWX_SHELL}" in @@ -19,6 +23,11 @@ _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)" @@ -26,6 +35,17 @@ 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 @@ -114,3 +134,37 @@ 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 ../.. +}