27 lines
684 B
Bash
Executable File
27 lines
684 B
Bash
Executable File
#!/bin/bash
|
|
|
|
BASE_PATH="/home/anaber/prj/trenton"
|
|
DB_NAME="compile_commands.json"
|
|
|
|
function do_update {
|
|
DB_SRC="$1"
|
|
ln -sf "${DB_SRC}" "${BASE_PATH}"/"${DB_NAME}"
|
|
}
|
|
|
|
# Get a list of valid compile command databases in the repo
|
|
mapfile -t DB_LIST < <( find "${BASE_PATH}" -mindepth 2 -type f -name "${DB_NAME}" )
|
|
idx=0
|
|
for DB_ELEM in ${DB_LIST[@]}; do
|
|
echo "${idx}: ${DB_ELEM}"
|
|
idx=$((idx+1))
|
|
done
|
|
|
|
# Parse and validate the user selection
|
|
read -p "Select an option to update: " SELECTION
|
|
NUM_ELEM=${#DB_LIST[@]}
|
|
MAX_ELEM=$((NUM_ELEM-1))
|
|
case "${SELECTION}" in
|
|
''|*[!0-${MAX_ELEM}]*) echo "Operation cancelled" ;;
|
|
*) do_update "${DB_LIST[${SELECTION}]}" ;;
|
|
esac
|