From f47c4f5ee1e03780cdffb694d8df8c2af23974a5 Mon Sep 17 00:00:00 2001 From: "Theunis J. Botha" Date: Mon, 11 Oct 2021 07:13:19 +0200 Subject: [PATCH] runtime classes for components --- r3-completion.bash | 4 ++++ r3-libs/r3-v2 | 2 +- r3.sh | 9 +++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/r3-completion.bash b/r3-completion.bash index 5047d00..35ad2fc 100755 --- a/r3-completion.bash +++ b/r3-completion.bash @@ -67,6 +67,10 @@ r3_completions() { COMPREPLY=($(compgen -W "$(find "${R3_SRC_FOLDER}" -ls | grep drw | sed "s/.*src\/r3/./" | sed "s/$/\//" | sed "s/\/\//\//g" | perl -pe 's/\n/ /g')" "${COMP_WORDS[5]}")) fi + if [[ "${#COMP_WORDS[@]}" == "7" && ( "${COMP_WORDS[3]}" =~ ^.*component_extends$ ) ]]; then + COMPREPLY=($(compgen -W "$(cat "${R3_SRC_FOLDER}"r3-runtime/* | grep "extends Runtime\b" | cut -d " " -f 2 | perl -pe 's/\n/ /g')" "${COMP_WORDS[6]}")) + fi + } complete -F r3_completions r3 \ No newline at end of file diff --git a/r3-libs/r3-v2 b/r3-libs/r3-v2 index dc929bf..9b9691a 160000 --- a/r3-libs/r3-v2 +++ b/r3-libs/r3-v2 @@ -1 +1 @@ -Subproject commit dc929bfc2a1dffcf4f6bb45df734ad8468c3601a +Subproject commit 9b9691a248e7809ee933c7e0286b2745a1839e9e diff --git a/r3.sh b/r3.sh index 7829207..3b0904c 100755 --- a/r3.sh +++ b/r3.sh @@ -135,6 +135,12 @@ then EXTEND_CLASS_FILE_NAME="$(echo "r3${EXTEND_CLASS}" | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}' | sed 's/r3\-r3\-/r3-/' | sed 's/r3\-r3/r3/').js" fi + if [[ "${ARG2}" = "component_extends" ]]; + then + RUNTIME_CLASS="${ARG5}" + RUNTIME_CLASS_FILE_NAME="$(echo "r3${RUNTIME_CLASS}" | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}' | sed 's/r3\-r3\-/r3-/' | sed 's/r3\-r3/r3/').js" + fi + if [[ "${ARG2}" =~ ^.*base$ ]] || [ "${ARG2}" = "static" ]; then @@ -183,6 +189,9 @@ then perl -p -i -e 's/^const Utils.*\n$//' "${R3_FOLDER}${FILE_NAME}" fi + perl -p -i -e "s/\bRUNTIME_CLASS\b/${RUNTIME_CLASS}/" "${R3_FOLDER}${FILE_NAME}" + perl -p -i -e "s/\bRUNTIME_CLASS_FILE_NAME\b/${RUNTIME_CLASS_FILE_NAME}/" "${R3_FOLDER}${FILE_NAME}" + INCLUDE_PATH=$(echo "${INCLUDE_PATH}" | sed -E 's/([+,/,@])/\\\1/g') sed -i "s/CLASS_NAME/${CLASS_NAME}/g" "${R3_FOLDER}${FILE_NAME}"