Compare commits
3 commits
62b3a9264b
...
dd90da8a82
Author | SHA1 | Date | |
---|---|---|---|
dd90da8a82 | |||
2480e490be | |||
a7b310b667 |
3 changed files with 65 additions and 42 deletions
|
@ -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 ../..
|
|
||||||
}
|
|
24
sh/main.sh
24
sh/main.sh
|
@ -26,17 +26,6 @@ RWX_SELF_NAME="rwx"
|
||||||
# │ main │ variables │
|
# │ 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
|
# system root directory of the project
|
||||||
RWX_ROOT_SYSTEM="/usr/local/lib/${RWX_SELF_NAME}"
|
RWX_ROOT_SYSTEM="/usr/local/lib/${RWX_SELF_NAME}"
|
||||||
# user root directory of the project
|
# user root directory of the project
|
||||||
|
@ -63,9 +52,18 @@ rwx_main() {
|
||||||
# load code cache
|
# load code cache
|
||||||
rwx_code_load
|
rwx_code_load
|
||||||
# context / command
|
# 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
|
local function
|
||||||
function="$(rwx_code_alias_function "${RWX_COMMAND_NAME}")"
|
# find the matching function
|
||||||
|
function="$(rwx_code_alias_function "${command}")"
|
||||||
if [ -n "${function}" ]; then
|
if [ -n "${function}" ]; then
|
||||||
"${function}" "${@}"
|
"${function}" "${@}"
|
||||||
fi
|
fi
|
||||||
|
|
54
sh/shell.sh
54
sh/shell.sh
|
@ -1,3 +1,7 @@
|
||||||
|
# ╭───────╮
|
||||||
|
# │ shell │
|
||||||
|
# ╰───────╯
|
||||||
|
|
||||||
_rwx_shell_color() {
|
_rwx_shell_color() {
|
||||||
local code="${1}"
|
local code="${1}"
|
||||||
case "${RWX_SHELL}" in
|
case "${RWX_SHELL}" in
|
||||||
|
@ -19,6 +23,11 @@ _rwx_shell_color() {
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ╭───────┬───────────╮
|
||||||
|
# │ shell │ constants │
|
||||||
|
# ╰───────┴───────────╯
|
||||||
|
|
||||||
RWX_COLOR_BROWN="$(_rwx_shell_color 33)"
|
RWX_COLOR_BROWN="$(_rwx_shell_color 33)"
|
||||||
RWX_COLOR_CYAN="$(_rwx_shell_color 36)"
|
RWX_COLOR_CYAN="$(_rwx_shell_color 36)"
|
||||||
RWX_COLOR_DEFAULT="$(_rwx_shell_color)"
|
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_MAGENTA="$(_rwx_shell_color 35)"
|
||||||
RWX_COLOR_RED="$(_rwx_shell_color 32)"
|
RWX_COLOR_RED="$(_rwx_shell_color 32)"
|
||||||
|
|
||||||
|
# ╭───────┬───────────╮
|
||||||
|
# │ shell │ variables │
|
||||||
|
# ╰───────┴───────────╯
|
||||||
|
|
||||||
|
# currently running shell name
|
||||||
|
RWX_SHELL="$(cat "/proc/${$}/comm")"
|
||||||
|
|
||||||
|
# ╭───────┬───────────╮
|
||||||
|
# │ shell │ functions │
|
||||||
|
# ╰───────┴───────────╯
|
||||||
|
|
||||||
rwx_shell_configure() {
|
rwx_shell_configure() {
|
||||||
[ -n "${ENV}" ] || ENV="${RWX_MAIN_PATH}"
|
[ -n "${ENV}" ] || ENV="${RWX_MAIN_PATH}"
|
||||||
export ENV
|
export ENV
|
||||||
|
@ -114,3 +134,37 @@ rwx_shell_prompt() {
|
||||||
# print
|
# print
|
||||||
printf "%b" "${view}"
|
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 ../..
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue