39 lines
1.9 KiB
Bash
Executable File
39 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
R3_INSTALL_PATH=/usr/share/cybafelo/r3/r3-cloud
|
|
R3_SRC_FOLDER="${R3_INSTALL_PATH}/r3-libs/r3-v2/src/r3/"
|
|
R3_V2_FOLDER="${R3_INSTALL_PATH}/r3-libs/r3-v2/"
|
|
|
|
r3_completions() {
|
|
|
|
# TASK=${#COMP_WORDS[1]}
|
|
|
|
if [ "${#COMP_WORDS[@]}" == "2" ]; then
|
|
COMPREPLY=($(compgen -W "build-graph create build-events update-options update-templates update-methods update-token-db" "${COMP_WORDS[1]}"))
|
|
fi
|
|
|
|
if [[ "${#COMP_WORDS[@]}" == "3" && ( "${COMP_WORDS[1]}" == "update-templates" || "${COMP_WORDS[1]}" == "update-options" || "${COMP_WORDS[1]}" == "update-methods" ) ]]; then
|
|
COMPREPLY=($(compgen -W "$(grep "r3 create" "${R3_V2_FOLDER}.r3_history" | sed "s/^.*r3 /r3 /" | sed "s/\s+/ /g" | sort --unique | cut -d' ' -f3 | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}' | sed "s/^/r3/" | sed "s/$/.js/" | perl -pe "s/\n/ /")" "${COMP_WORDS[2]}"))
|
|
fi
|
|
|
|
if [ "${#COMP_WORDS[@]}" == "4" ]; then
|
|
COMPREPLY=($(compgen -W "extends normal system static system-base r3-base" "${COMP_WORDS[3]}"))
|
|
fi
|
|
|
|
if [ "${#COMP_WORDS[@]}" == "5" ] && [ "${COMP_WORDS[3]}" == "extends" ] ; then
|
|
local classes=$(grep "^class" "${R3_INSTALL_PATH}"/r3-libs/r3-v2/src/r3/*.js | perl -pe "s/.*class\s*(\w.*?)\s.*/\1/" | perl -pe 's/\n/ /g')
|
|
COMPREPLY=($(compgen -W "${classes}" "${COMP_WORDS[4]}"))
|
|
fi
|
|
|
|
if [ "${#COMP_WORDS[@]}" == "5" ] && [ "${COMP_WORDS[3]}" == "system" ] ; then
|
|
local classes=$(grep "^class" "${R3_INSTALL_PATH}"/r3-libs/r3-v2/src/r3/r3-system/*.js | perl -pe "s/.*class\s*(\w.*?)\s.*/\1/" | perl -pe 's/\n/ /g')
|
|
COMPREPLY=($(compgen -W "${classes}" "${COMP_WORDS[4]}"))
|
|
fi
|
|
|
|
if [[ "${#COMP_WORDS[@]}" == "5" && ( "${COMP_WORDS[3]}" == "normal" || "${COMP_WORDS[3]}" == "static" ) ]]; then
|
|
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[4]}"))
|
|
fi
|
|
|
|
}
|
|
|
|
complete -F r3_completions r3 |