Fix things for bash.
This commit is contained in:
parent
c4f9df8968
commit
6ff0d0bf10
@ -7,41 +7,69 @@ Blue='\e[0;34m' # Blue
|
|||||||
Purple='\e[0;35m' # Purple
|
Purple='\e[0;35m' # Purple
|
||||||
Cyan='\e[0;36m' # Cyan
|
Cyan='\e[0;36m' # Cyan
|
||||||
White='\e[0;37m' # White
|
White='\e[0;37m' # White
|
||||||
|
BoldYellow='\e[1;33m' # Yellow
|
||||||
|
|
||||||
|
|
||||||
function current_directory() {
|
function current_directory() {
|
||||||
local PWD=$(pwd)
|
pwd | sed "s:$HOME:~:"
|
||||||
echo "${PWD/#$HOME/~}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function current_directory() {
|
|
||||||
local PWD=$(pwd)
|
|
||||||
echo "${PWD/#$HOME/~}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function git_prompt_info() {
|
function git_prompt_info() {
|
||||||
if test -z $(git branch-or-sha);
|
if test -z $(git branch-or-sha);
|
||||||
then
|
then
|
||||||
echo ""
|
echo ""
|
||||||
else
|
else
|
||||||
echo " on $(git branch-or-sha)$(git_status_character)"
|
echo " $(separator "on") $(git branch-or-sha)$(git_status_character)"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function git_status_character() {
|
function git_status_character() {
|
||||||
if git dirty;
|
if git dirty;
|
||||||
then
|
then
|
||||||
echo "✘"
|
print_with_color "✘" "$Red"
|
||||||
else
|
else
|
||||||
echo "✔"
|
print_with_color "✔" "$Green"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function sandbox_prompt() {
|
function sandbox_prompt() {
|
||||||
if [ ! -z $(sandbox_prompt_info) ];
|
if [ ! -z "$(sandbox_prompt_info)" ];
|
||||||
then
|
then
|
||||||
echo " with $(colored_sandbox_string)"
|
echo " $(separator "with") $(colored_sandbox_string)%{$reset_color%}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
PS1="╭─% ${Green}\u ${White}at ${Blue}\h ${White}in \$(current_directory)\$(git_prompt_info)\$(sandbox_prompt)
|
function command_line_character() {
|
||||||
╰─± "
|
if ! test -z $(git branch-or-sha);
|
||||||
|
then
|
||||||
|
echo "±"
|
||||||
|
else
|
||||||
|
echo "○"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function prompt_basic_colors() {
|
||||||
|
export USERNAME_COLOR="$Green"
|
||||||
|
export SEPARATOR_COLOR="$Black"
|
||||||
|
export HOSTNAME_COLOR="$Blue"
|
||||||
|
export CURRENT_DIRECTORY_COLOR="$BoldYellow"
|
||||||
|
}
|
||||||
|
|
||||||
|
function print_with_color() {
|
||||||
|
echo "$2$1\e[0m"
|
||||||
|
}
|
||||||
|
|
||||||
|
function separator() {
|
||||||
|
print_with_color "$1" "$SEPARATOR_COLOR"
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt_basic_colors
|
||||||
|
function set_bash_prompt() {
|
||||||
|
PS1="╭─$(print_with_color "$(whoami)" "$USERNAME_COLOR") $(separator "at") $(print_with_color "`hostname -s`" "$HOSTNAME_COLOR") $(separator "in") $(print_with_color "`current_directory`" "$CURRENT_DIRECTORY_COLOR")$(git_prompt_info)$(sandbox_prompt)
|
||||||
|
╰─$(command_line_character) "
|
||||||
|
}
|
||||||
|
|
||||||
|
export PROMPT_COMMAND=set_bash_prompt
|
||||||
|
|
||||||
|
PS2='(%_) '
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
for filename in ~/.lib/shellrc/*; do
|
for filename in ~/.lib/shellrc/*; do
|
||||||
source $filename
|
source $filename
|
||||||
done
|
done
|
||||||
|
# Source everything twice just in case there were things that depended
|
||||||
|
# on each other.
|
||||||
|
for filename in ~/.lib/shellrc/*; do
|
||||||
|
source $filename
|
||||||
|
done
|
||||||
|
|
||||||
|
@ -105,7 +105,8 @@ function git_root() {
|
|||||||
function git_diff_replacing() {
|
function git_diff_replacing() {
|
||||||
local original_sha='HEAD~1'
|
local original_sha='HEAD~1'
|
||||||
local new_sha='HEAD'
|
local new_sha='HEAD'
|
||||||
while getopts "do:n:" OPTCHAR; do;
|
while getopts "do:n:" OPTCHAR;
|
||||||
|
do
|
||||||
case $OPTCHAR in
|
case $OPTCHAR in
|
||||||
o)
|
o)
|
||||||
original_sha="$OPTARG"
|
original_sha="$OPTARG"
|
||||||
@ -129,7 +130,8 @@ function git_diff_replacing() {
|
|||||||
function git_reset_author() {
|
function git_reset_author() {
|
||||||
local should_update_command=''
|
local should_update_command=''
|
||||||
local update_command=''
|
local update_command=''
|
||||||
while getopts "a:e:A:E:h" OPTCHAR; do;
|
while getopts "a:e:A:E:h" OPTCHAR;
|
||||||
|
do
|
||||||
case $OPTCHAR in
|
case $OPTCHAR in
|
||||||
a)
|
a)
|
||||||
new_author="$OPTARG";
|
new_author="$OPTARG";
|
||||||
|
Loading…
Reference in New Issue
Block a user