blob: 7844f37e4b6e4e3a7f5e0a9cb1970360cecfddf4 [file] [log] [blame]
Robert R Evans76ed68d2010-10-02 12:29:17 -07001#!/bin/bash
Robert R Evans9c7cd9a2010-10-02 11:55:34 -07002# Initialize Bash It
3
4# Reload Library
5alias reload='source ~/.bash_profile'
6
John Schulze3194232011-10-28 19:22:20 -04007# Only set $BASH_IT if it's not already set
Travis Swicegoodb59ee652011-10-29 18:56:36 -05008if [ -z "$BASH_IT" ];
9then
10 # Setting $BASH to maintain backwards compatibility
11 # TODO: warn users that they should upgrade their .bash_profile
12 export BASH_IT=$BASH
13 export BASH=`bash -c 'echo $BASH'`
14fi
15
16# For backwards compatibility, look in old BASH_THEME location
17if [ -z "$BASH_IT_THEME" ];
18then
19 # TODO: warn users that they should upgrade their .bash_profile
20 export BASH_IT_THEME="$BASH_THEME";
21 unset $BASH_THEME;
22fi
Robert R Evans9c7cd9a2010-10-02 11:55:34 -070023
Travis Swicegoodb6d444d2011-10-29 18:55:20 -050024# Load colors first so they can be use in base theme
25source "${BASH_IT}/themes/colors.theme.bash"
26source "${BASH_IT}/themes/base.theme.bash"
27
28# library
29LIB="${BASH_IT}/lib/*.bash"
30for config_file in $LIB
31do
32 source $config_file
33done
34
Travis Swicegoodd7cfa8b2011-06-21 09:31:26 -050035# Load enabled aliases, completion, plugins
36for file_type in "aliases" "completion" "plugins"
Robert R Evans9c7cd9a2010-10-02 11:55:34 -070037do
John Schulz323ce202011-09-20 11:07:48 -040038 if [ ! -d "${BASH_IT}/${file_type}/enabled" ]
Travis Swicegoodd7cfa8b2011-06-21 09:31:26 -050039 then
John Schulz323ce202011-09-20 11:07:48 -040040 continue
Travis Swicegoodd7cfa8b2011-06-21 09:31:26 -050041 fi
John Schulz323ce202011-09-20 11:07:48 -040042 FILES="${BASH_IT}/${file_type}/enabled/*.bash"
Travis Swicegoodd7cfa8b2011-06-21 09:31:26 -050043 for config_file in $FILES
44 do
Jon Schewe7d18ccc2011-10-09 20:44:29 -050045 if [ -e "${config_file}" ]; then
46 source $config_file
47 fi
Travis Swicegoodd7cfa8b2011-06-21 09:31:26 -050048 done
Robert R Evans9c7cd9a2010-10-02 11:55:34 -070049done
50
Travis Swicegoodd7cfa8b2011-06-21 09:31:26 -050051# Load any custom aliases that the user has added
John Schulz323ce202011-09-20 11:07:48 -040052if [ -e "${BASH_IT}/aliases/custom.aliases.bash" ]
Mark Szymanski78270b32011-06-17 11:22:39 -050053then
John Schulz323ce202011-09-20 11:07:48 -040054 source "${BASH_IT}/aliases/custom.aliases.bash"
Mark Szymanski78270b32011-06-17 11:22:39 -050055fi
Mark Szymanski50179fd2011-06-13 22:05:45 -050056
Robert R Evans9c7cd9a2010-10-02 11:55:34 -070057# Custom
John Schulz323ce202011-09-20 11:07:48 -040058CUSTOM="${BASH_IT}/custom/*.bash"
Robert R Evans9c7cd9a2010-10-02 11:55:34 -070059for config_file in $CUSTOM
60do
Jon Schewe7d18ccc2011-10-09 20:44:29 -050061 if [ -e "${config_file}" ]; then
62 source $config_file
63 fi
Robert R Evansa7d1ee02010-10-02 15:04:24 -070064done
65
Robert R Evans2010f012010-10-10 09:24:19 -070066unset config_file
John Schulz6e7f4232010-11-11 11:57:47 -050067if [[ $PROMPT ]]; then
68 export PS1=$PROMPT
69fi
Robert R Evansc9da0862010-10-06 17:27:55 -070070
71# Adding Support for other OSes
72PREVIEW="less"
73[ -s /usr/bin/gloobus-preview ] && PREVIEW="gloobus-preview"
74[ -s /Applications/Preview.app ] && PREVIEW="/Applications/Preview.app"
75
Mark Szymanski9ad79642011-06-24 17:49:19 -050076# Load all the Jekyll stuff
77
78if [ -e $HOME/.jekyllconfig ]
79then
80 . $HOME/.jekyllconfig
81fi
82
Robert R Evansc9da0862010-10-06 17:27:55 -070083
Robert R Evansa7d1ee02010-10-02 15:04:24 -070084#
85# Custom Help
86
87function bash-it() {
88 echo "Welcome to Bash It!"
89 echo
90 echo "Here is a list of commands you can use to get help screens for specific pieces of Bash it:"
91 echo
92 echo " rails-help This will list out all the aliases you can use with rails."
93 echo " git-help This will list out all the aliases you can use with git."
Mark Szymanskie6fb7032010-10-31 15:32:22 -050094 echo " todo-help This will list out all the aliases you can use with todo.txt-cli"
Mark Szymanskib7a0cb62011-06-05 20:45:53 -050095 echo " brew-help This will list out all the aliases you can use with Homebrew"
Robert R Evans5e0e86f2010-10-02 15:29:23 -070096 echo " aliases-help Generic list of aliases."
Florian Baumannbd224852010-11-08 21:52:49 +010097 echo " plugins-help This will list out all the plugins and functions you can use with bash-it"
Robert R Evansa7d1ee02010-10-02 15:04:24 -070098 echo
Mark Szymanskie6fb7032010-10-31 15:32:22 -050099}