Files
bash-it/install.sh
Chris Causer 980bd9ea78 Remove buggy line in install.sh causing "all" option to break
When selecting all, I get the following in my plugins/enabled directory

$ cd ~/.bash_it/plugins/enabled && ls -l
<snip fileinfo>          * -> ~/.bash_it/plugins/[^_]available/*

In other words, the regexp is not being expanded, and I don't think bash
has ever had this capability (I am running 4.2.24) . Looking at the commit
24431627ab24c1c97bf3fb5796037e198f465e25, this line was added so as to disable
some plugins starting with a "_". In this circumstance, this line is
wrong anyway as it skips the directory "_available", rather than
available/_whatever.

This commit aims to fix this to the installer's intended purpose.
It also does a sanity check that no file exists already in enabled and
skips otherwise. ln -s does the right thing however more human error
message might be more desirable.
2012-07-31 11:09:10 +01:00

99 lines
2.3 KiB
Bash
Executable File

#!/usr/bin/env bash
BASH_IT="$HOME/.bash_it"
cp $HOME/.bash_profile $HOME/.bash_profile.bak
echo "Your original .bash_profile has been backed up to .bash_profile.bak"
cp $HOME/.bash_it/template/bash_profile.template.bash $HOME/.bash_profile
echo "Copied the template .bash_profile into ~/.bash_profile, edit this file to customize bash-it"
while true
do
read -p "Do you use Jekyll? (If you don't know what Jekyll is, answer 'n') [Y/N] " RESP
case $RESP
in
[yY])
cp $HOME/.bash_it/template/jekyllconfig.template.bash $HOME/.jekyllconfig
echo "Copied the template .jekyllconfig into your home directory. Edit this file to customize bash-it for using the Jekyll plugins"
break
;;
[nN])
break
;;
*)
echo "Please enter Y or N"
esac
done
function load_all() {
file_type=$1
[ ! -d "$BASH_IT/$file_type/enabled" ] && mkdir "$BASH_IT/${file_type}/enabled"
for src in $BASH_IT/${file_type}/available/*; do
filename="$(basename ${src})"
[ ${filename:0:1} = "_" ] && continue
dest="${BASH_IT}/${file_type}/enabled/${filename}"
if [ ! -e "${dest}" ]; then
ln -s "${src}" "${dest}"
else
echo "File ${dest} exists, skipping"
fi
done
}
function load_some() {
file_type=$1
for path in `ls $BASH_IT/${file_type}/available/[^_]*`
do
if [ ! -d "$BASH_IT/$file_type/enabled" ]
then
mkdir "$BASH_IT/$file_type/enabled"
fi
file_name=$(basename "$path")
while true
do
read -p "Would you like to enable the ${file_name%%.*} $file_type? [Y/N] " RESP
case $RESP in
[yY])
ln -s "$path" "$BASH_IT/$file_type/enabled"
break
;;
[nN])
break
;;
*)
echo "Please choose y or n."
;;
esac
done
done
}
for type in "aliases" "plugins" "completion"
do
while true
do
read -p "Would you like to enable all, some, or no $type? Some of these may make bash slower to start up (especially completion). (all/some/none) " RESP
case $RESP
in
some)
load_some $type
break
;;
all)
load_all $type
break
;;
none)
break
;;
*)
echo "Unknown choice. Please enter some, all, or none"
continue
;;
esac
done
done