-
Notifications
You must be signed in to change notification settings - Fork 0
/
.prompt
executable file
·118 lines (98 loc) · 2.72 KB
/
.prompt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/usr/bin/env bash
# LAST_ERROR=$?
# Highlight the user name when logged in as root.
if [[ "${USER}" == "root" ]]; then
userStyle="${fgRed}"
else
userStyle="${fgYellow}"
fi
# Highlight the hostname when connected via SSH.
if [[ "${SSH_TTY}" ]]; then
hostStyle="${fgRed}"
else
hostStyle="${fgAqua}"
fi
PDOT=' \[${fgg08}\]$DOT\[${txReset}\]'
function prompt_gbranch() {
str=$(git_branch)
if [[ $str ]]; then
scol=" ${fgPurple}"
str="$scol$str"
str+="${txReset}"
str+=" ${fgg08}$DOT${txReset}"
echo $str
fi
}
function prompt_gsss() {
str=$(gsss)
if [[ $str ]]; then
scol=" ${fgRed}"
str="$scol$str"
str+="${txReset}"
str+=" ${fgg08}$DOT${txReset}"
echo $str
fi
}
# Set the terminal title and prompt.
# Use \[...\] around the parts of PS1 that have length 0.
PS1='\n'
PS1+='$(hr)'
PS1+='\n'
PS1+=' \[${fgg12}\]\u\[${txReset}\]'
PS1+=$PDOT
PS1+=' \[${fgg12}\]\h\[${txReset}\]'
PS1+=$PDOT
PS1+=' \t'; # time
PS1+='\n'
PS1+=' $(prompt_gbranch)'
PS1+=' $(prompt_gsss)'
PS1+=' \[${fgg24}\]\w\[${txReset}\]'
PS1+='\n'
PS1+=' > ';
export PS1
# if [ $LAST_ERROR -ne 0 ]; then
# PS1+=" ${txBold}${fgRed}$?"
# fi
# PS1+=" \[${txReset}\]\n"
# continuation prompt
PS2=" \[${fgYellow}\]→ \[${txReset}\]"
export PS2
# prompt_git() {
# s=""
# branchName=""
# # Check if the current directory is in a Git repository.
# if [ $(git rev-parse --is-inside-work-tree &>/dev/null; echo "${?}") == '0' ]; then
# # check if the current directory is in .git before running git checks
# if [ "$(git rev-parse --is-inside-git-dir 2> /dev/null)" == 'false' ]; then
# # Ensure the index is up to date.
# git update-index --really-refresh -q &>/dev/null
# # Check for uncommitted changes in the index.
# if ! $(git diff --quiet --ignore-submodules --cached); then
# s+='+'
# fi
# # Check for unstaged changes.
# if ! $(git diff-files --quiet --ignore-submodules --); then
# s+='!'
# fi
# # Check for untracked files.
# if [ -n "$(git ls-files --others --exclude-standard)" ]; then
# s+='?'
# fi
# # Check for stashed files.
# if $(git rev-parse --verify refs/stash &>/dev/null); then
# s+='$'
# fi
# fi
# # Get the short symbolic ref.
# # If HEAD isn’t a symbolic ref, get the short SHA for the latest commit
# # Otherwise, just give up.
# branchName="$(git symbolic-ref --quiet --short HEAD 2> /dev/null || \
# git rev-parse --short HEAD 2> /dev/null || \
# echo '(unknown)')"
# [ -n "${s}" ] && s=" [${s}]"
# printf "\[${fgPurple}\]%s\[${txReset}\] " $branchName
# printf "\[${fgRed}\]%s\[${txReset}\] " $s
# else
# return
# fi
# }