#!/bin/bash cd $(dirname $0) # COLORS source ./asides/color.sh KEY_PHRASE="#hugogogo#" HERE=$(pwd) D_CONFIG_FILES="config_files" # create those folders if necessary : mkdir -p ~/.vim/templates mkdir -p ~/.vim/swapfiles # receive 1 argument : absolute path to config file function save_bak { local file_to="$1" local file_name="$(basename $1)" local path_file_to="$(dirname $1)" number=0 while [ -f $file_to.hubak$number ] do ((number+=1)) done echo -en $YELLOW"in " echo -en $CYAN"\"$path_file_to/\"" echo -en $YELLOW", saving " echo -en $CYAN"\"$file_name\"" echo -en $YELLOW" as " echo -en $CYAN"\"$file_name.hubak$number\""$ENDCO"\n" mv $file_to $file_to.hubak$number } # receive 1 argument : absolute path to config file function install { local file_to="$1" local file_name="$(basename $1)" local path_file_to="$(dirname $1)" local create_sym=1 if [ -h $file_to ] && [ ! -e $file_to ] then echo -en $B_RED"$file_to is a broken symlink"$ENDCO"\n" save_bak $file_to elif [ -e $file_to ] then if [ ! "$(realpath "$file_to")" = "$HERE/config_files/$file_name" ] then echo -en $YELLOW"$file_to exist but is not the right file"$ENDCO"\n" save_bak $file_to else create_sym=0 echo -en $YELLOW"$file_to is already the right file"$ENDCO"\n" fi else echo -en $YELLOW"$file_to doesn't exist"$ENDCO"\n" fi if [ $create_sym -eq 1 ] then echo -en $YELLOW"create symlink of " echo -en $CYAN"\"$file_name\"" echo -en $YELLOW" in " echo -en $CYAN"\"$path_file_to\""$ENDCO"\n" ln -s $HERE/$D_CONFIG_FILES/$file_name $file_to fi } # argument : directory where the config file should go install "$HOME/.screenrc" install "$HOME/.vimrc" install "$HOME/.zshrc" install "$HOME/.vim/templates/skeleton_colors.h" install "$HOME/.vim/templates/skeleton_tests.hpp" install "$HOME/.vim/templates/skeleton.cpp" install "$HOME/.vim/templates/skeleton.hpp" install "$HOME/.vim/templates/skeleton_main.cpp" install "$HOME/.vim/templates/skeleton_makefile"