31 lines
796 B
Bash
Executable File
31 lines
796 B
Bash
Executable File
#!/bin/sh
|
|
|
|
CURRENT_DIR=$(pwd)
|
|
GLOBAL_WORKING_DIR=$(realpath ${CURRENT_DIR}/..)
|
|
|
|
# ----------
|
|
|
|
# make sure the current directory is correct
|
|
if [ ! -d ${CURRENT_DIR}/.templates ] ; then
|
|
echo "this script should be called by make: make clangd (one level up)"
|
|
exit 1
|
|
fi
|
|
|
|
# change / to \/ in paths
|
|
CURRENT_DIR_FOR_SED=$(echo ${CURRENT_DIR} | sed 's/\//\\\//g')
|
|
GLOBAL_WORKING_DIR_FOR_SED=$(echo ${GLOBAL_WORKING_DIR} | sed 's/\//\\\//g')
|
|
|
|
|
|
if [ -f "${CURRENT_DIR}/.templates/.clangd" ] ; then
|
|
if [ ! -f "${CURRENT_DIR}/.clangd" ] ; then
|
|
cat "${CURRENT_DIR}/.templates/.clangd" | \
|
|
sed -e "s/%%%CURRENT_DIR%%%/${CURRENT_DIR_FOR_SED}/g" \
|
|
-e "s/%%%GLOBAL_WORKING_DIR%%%/${GLOBAL_WORKING_DIR_FOR_SED}/g" > \
|
|
${CURRENT_DIR}/.clangd
|
|
|
|
echo "added a ${CURRENT_DIR}/.clangd file"
|
|
fi
|
|
fi
|
|
|
|
|