Compare commits
7 commits
0e9108999d
...
333da5fb6a
Author | SHA1 | Date | |
---|---|---|---|
333da5fb6a | |||
1e40941856 | |||
c131df87e5 | |||
225dd1380b | |||
1de1cad1b3 | |||
1bf5581936 | |||
189b4f521d |
5 changed files with 31 additions and 32 deletions
|
@ -6,16 +6,15 @@
|
|||
# │ code │ variables │
|
||||
# ╰──────┴───────────╯
|
||||
|
||||
# TODO variablize
|
||||
# path to the entrypoint main file of the project
|
||||
RWX_MAIN_PATH="${RWX_ROOT_SYSTEM}/${RWX_MAIN_NAME}.${RWX_MAIN_EXTENSION}"
|
||||
rwx_code_main="${rwx_main_root}/${RWX_MAIN_MODULE}.${RWX_MAIN_EXTENSION}"
|
||||
# user root directory of the project
|
||||
RWX_SELF_USER="${HOME}/${RWX_SELF_NAME}"
|
||||
rwx_code_root="${HOME}/${RWX_MAIN_NAME}"
|
||||
|
||||
# cache of all sourced code modules
|
||||
_rwx_code=""
|
||||
# cache for the parsing awk script
|
||||
_rwx_code_awk="$(cat "${RWX_ROOT_SYSTEM}/core/code.awk")"
|
||||
_rwx_code_awk="$(cat "${rwx_main_root}/core/code.awk")"
|
||||
# cache for code aliases
|
||||
_rwx_code_aliases=""
|
||||
# cache for code aliases functions
|
||||
|
@ -55,16 +54,16 @@ rwx_code_install() {
|
|||
local command file name root
|
||||
# code
|
||||
if [ -n "${target}" ]; then
|
||||
root="${target}${RWX_ROOT_SYSTEM}"
|
||||
root="${target}${rwx_main_root}"
|
||||
rwx_remove "${root}"
|
||||
cp --recursive "${RWX_ROOT_SYSTEM}" "${root}"
|
||||
cp --recursive "${rwx_main_root}" "${root}"
|
||||
fi
|
||||
# commands
|
||||
root="${target}/usr/local/bin"
|
||||
name="${RWX_SELF_NAME}.${RWX_MAIN_EXTENSION}"
|
||||
name="${RWX_MAIN_NAME}.${RWX_MAIN_EXTENSION}"
|
||||
file="${root}/${name}"
|
||||
rwx_remove "${file}"
|
||||
rwx_link "${file}" "${RWX_MAIN_PATH}"
|
||||
rwx_link "${file}" "${rwx_code_main}"
|
||||
while IFS= read -r command; do
|
||||
file="${root}/${command}"
|
||||
rwx_remove "${file}"
|
||||
|
@ -73,15 +72,15 @@ rwx_code_install() {
|
|||
${_rwx_code_commands}
|
||||
EOF
|
||||
# sh
|
||||
file="${target}/etc/profile.d/${RWX_SELF_NAME}.${RWX_MAIN_EXTENSION}"
|
||||
file="${target}/etc/profile.d/${RWX_MAIN_NAME}.${RWX_MAIN_EXTENSION}"
|
||||
rwx_remove "${file}"
|
||||
rwx_file_write "${file}" "\
|
||||
export ENV=\"${RWX_MAIN_PATH}\"
|
||||
export ENV=\"${rwx_code_main}\"
|
||||
"
|
||||
# bash
|
||||
file="${target}/etc/bash.bashrc"
|
||||
rwx_remove "${file}"
|
||||
rwx_link "${file}" "${RWX_MAIN_PATH}"
|
||||
rwx_link "${file}" "${rwx_code_main}"
|
||||
}
|
||||
|
||||
# ╭──────┬───────╮
|
||||
|
@ -164,10 +163,10 @@ rwx_code_variables() {
|
|||
rwx_code_check() {
|
||||
# check format
|
||||
rwx_log
|
||||
rwx_shfmt "${RWX_ROOT_SYSTEM}"
|
||||
rwx_shfmt "${rwx_main_root}"
|
||||
# check syntax
|
||||
rwx_log
|
||||
rwx_shellcheck "${RWX_ROOT_SYSTEM}"
|
||||
rwx_shellcheck "${rwx_main_root}"
|
||||
}
|
||||
|
||||
# fetch matching doc for given name
|
||||
|
@ -228,10 +227,10 @@ rwx_code_main() {
|
|||
local modules_main="${1}"
|
||||
local module modules_user
|
||||
# find & source modules
|
||||
modules_user="$(rwx_main_find "${RWX_SELF_USER}")"
|
||||
modules_user="$(rwx_main_find "${rwx_code_root}")"
|
||||
while IFS= read -r module; do
|
||||
# shellcheck disable=SC1090
|
||||
. "${RWX_SELF_USER}/${module}.${RWX_MAIN_EXTENSION}"
|
||||
. "${rwx_code_root}/${module}.${RWX_MAIN_EXTENSION}"
|
||||
done <<EOF
|
||||
${modules_user}
|
||||
EOF
|
||||
|
@ -239,7 +238,7 @@ EOF
|
|||
while IFS= read -r module; do
|
||||
# cache main module
|
||||
_rwx_code="${_rwx_code}#. ${module}
|
||||
$(cat "${RWX_ROOT_SYSTEM}/${module}.${RWX_MAIN_EXTENSION}")
|
||||
$(cat "${rwx_main_root}/${module}.${RWX_MAIN_EXTENSION}")
|
||||
"
|
||||
done <<EOF
|
||||
${modules_main}
|
||||
|
@ -248,7 +247,7 @@ EOF
|
|||
while IFS= read -r module; do
|
||||
# cache module
|
||||
_rwx_code="${_rwx_code}#. ${module}
|
||||
$(cat "${RWX_SELF_USER}/${module}.${RWX_MAIN_EXTENSION}")
|
||||
$(cat "${rwx_code_root}/${module}.${RWX_MAIN_EXTENSION}")
|
||||
"
|
||||
done <<EOF
|
||||
${modules_user}
|
||||
|
|
20
sh/main.sh
20
sh/main.sh
|
@ -8,21 +8,21 @@
|
|||
# │ main │ constants │
|
||||
# ╰──────┴───────────╯
|
||||
|
||||
# parent directory for the project
|
||||
RWX_MAIN_PARENT="/usr/local/lib"
|
||||
# name of the project itself
|
||||
RWX_MAIN_NAME="rwx"
|
||||
# name of the entrypoint module
|
||||
RWX_MAIN_MODULE="main"
|
||||
# extension of shell modules
|
||||
RWX_MAIN_EXTENSION="sh"
|
||||
|
||||
# name of the entrypoint module
|
||||
RWX_MAIN_NAME="main"
|
||||
# name of the project itself
|
||||
RWX_SELF_NAME="rwx"
|
||||
|
||||
# ╭──────┬───────────╮
|
||||
# │ main │ variables │
|
||||
# ╰──────┴───────────╯
|
||||
|
||||
# TODO variablize
|
||||
# system root directory of the project
|
||||
RWX_ROOT_SYSTEM="/usr/local/lib/${RWX_SELF_NAME}"
|
||||
rwx_main_root="${RWX_MAIN_PARENT}/${RWX_MAIN_NAME}"
|
||||
|
||||
# ╭──────┬──────╮
|
||||
# │ main │ find │
|
||||
|
@ -78,11 +78,11 @@ _rwx_main_log() {
|
|||
rwx_main_main() {
|
||||
local module modules
|
||||
# find & source modules
|
||||
modules="$(rwx_main_find "${RWX_ROOT_SYSTEM}")"
|
||||
modules="$(rwx_main_find "${rwx_main_root}")"
|
||||
while IFS= read -r module; do
|
||||
if [ "${module}" != "${RWX_MAIN_NAME}" ]; then
|
||||
if [ "${module}" != "${RWX_MAIN_MODULE}" ]; then
|
||||
# shellcheck disable=SC1090
|
||||
. "${RWX_ROOT_SYSTEM}/${module}.${RWX_MAIN_EXTENSION}"
|
||||
. "${rwx_main_root}/${module}.${RWX_MAIN_EXTENSION}"
|
||||
fi
|
||||
done <<EOF
|
||||
${modules}
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
rwx_self_subset() {
|
||||
local argument file root
|
||||
for argument in "${@}"; do
|
||||
root="${RWX_ROOT_SYSTEM}/${argument}"
|
||||
root="${rwx_main_root}/${argument}"
|
||||
file="${argument}.${RWX_MAIN_EXTENSION}"
|
||||
if [ -d "${root}" ]; then
|
||||
local file
|
||||
for file in $(rwx_main_find "${root}"); do
|
||||
echo "${argument}/${file}.${RWX_MAIN_EXTENSION}"
|
||||
done
|
||||
elif [ -f "${RWX_ROOT_SYSTEM}/${file}" ]; then
|
||||
elif [ -f "${rwx_main_root}/${file}" ]; then
|
||||
echo "${file}"
|
||||
fi
|
||||
done
|
||||
|
@ -38,7 +38,7 @@ rwx_self_write() {
|
|||
files="$(rwx_self_subset "${@}")"
|
||||
while IFS= read -r file; do
|
||||
text="${text}
|
||||
$(cat "${RWX_ROOT_SYSTEM}/${file}")
|
||||
$(cat "${rwx_main_root}/${file}")
|
||||
"
|
||||
done <<EOF
|
||||
${files}
|
||||
|
|
|
@ -43,7 +43,7 @@ RWX_COLOR_RED="$(_rwx_shell_color 32)"
|
|||
# ╰───────┴───────────╯
|
||||
|
||||
rwx_shell_configure() {
|
||||
[ -n "${ENV}" ] || ENV="${RWX_MAIN_PATH}"
|
||||
[ -n "${ENV}" ] || ENV="${rwx_code_main}"
|
||||
export ENV
|
||||
# prompt
|
||||
PS1="\$(rwx_shell_prompt \${?})"
|
||||
|
|
|
@ -41,7 +41,7 @@ rwx_test_doc() {
|
|||
"main" \
|
||||
"alias/git" \
|
||||
\
|
||||
"RWX_MAIN_NAME" \
|
||||
"RWX_MAIN_MODULE" \
|
||||
\
|
||||
"_rwx_code" \
|
||||
\
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue