Skip to content

Commit 262e55e

Browse files
committed
theme/bobby: SC2154
Handle all unbound parameters, even colors!
1 parent 6db5f38 commit 262e55e

File tree

2 files changed

+34
-36
lines changed

2 files changed

+34
-36
lines changed
Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
11
# shellcheck shell=bash
22
# shellcheck disable=SC2034 # Expected behavior for themes.
3-
# shellcheck disable=SC2154 #TODO: fix these all.
43

5-
SCM_THEME_PROMPT_DIRTY=" ${red}"
6-
SCM_THEME_PROMPT_CLEAN=" ${bold_green}"
4+
SCM_THEME_PROMPT_DIRTY=" ${red?}"
5+
SCM_THEME_PROMPT_CLEAN=" ${bold_green?}"
76
SCM_THEME_PROMPT_PREFIX=" |"
8-
SCM_THEME_PROMPT_SUFFIX="${green}|"
7+
SCM_THEME_PROMPT_SUFFIX="${green?}|"
98

10-
GIT_THEME_PROMPT_DIRTY=" ${red}"
11-
GIT_THEME_PROMPT_CLEAN=" ${bold_green}"
12-
GIT_THEME_PROMPT_PREFIX=" ${green}|"
13-
GIT_THEME_PROMPT_SUFFIX="${green}|"
9+
GIT_THEME_PROMPT_DIRTY=" ${red?}"
10+
GIT_THEME_PROMPT_CLEAN=" ${bold_green?}"
11+
GIT_THEME_PROMPT_PREFIX=" ${green?}|"
12+
GIT_THEME_PROMPT_SUFFIX="${green?}|"
1413

1514
CONDAENV_THEME_PROMPT_SUFFIX="|"
1615

1716
function prompt_command() {
18-
PS1="\n${yellow}$(python_version_prompt) " # Name of virtual env followed by python version
19-
PS1+="${purple}\h "
20-
PS1+="${reset_color}in "
21-
PS1+="${green}\w\n"
22-
PS1+="${bold_cyan}$(scm_char)"
23-
PS1+="${green}$(scm_prompt_info) "
24-
PS1+="${green}${reset_color} "
17+
PS1="\n${yellow?}$(python_version_prompt) " # Name of virtual env followed by python version
18+
PS1+="${purple?}\h "
19+
PS1+="${reset_color?}in "
20+
PS1+="${green?}\w\n"
21+
PS1+="${bold_cyan?}$(scm_char)"
22+
PS1+="${green?}$(scm_prompt_info) "
23+
PS1+="${green?}${reset_color?} "
2524
}
2625

2726
safe_append_prompt_command prompt_command

themes/bobby/bobby.theme.bash

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,40 @@
11
# shellcheck shell=bash
22
# shellcheck disable=SC2034 # Expected behavior for themes.
3-
# shellcheck disable=SC2154 #TODO: fix these all.
43

5-
SCM_THEME_PROMPT_DIRTY=" ${red}"
6-
SCM_THEME_PROMPT_CLEAN=" ${bold_green}"
7-
SCM_THEME_PROMPT_PREFIX=" ${green}|"
8-
SCM_THEME_PROMPT_SUFFIX="${green}|"
4+
SCM_THEME_PROMPT_DIRTY=" ${red?}"
5+
SCM_THEME_PROMPT_CLEAN=" ${bold_green?}"
6+
SCM_THEME_PROMPT_PREFIX=" ${green?}|"
7+
SCM_THEME_PROMPT_SUFFIX="${green?}|"
98

10-
GIT_THEME_PROMPT_DIRTY=" ${red}"
11-
GIT_THEME_PROMPT_CLEAN=" ${bold_green}"
12-
GIT_THEME_PROMPT_PREFIX=" ${green}|"
13-
GIT_THEME_PROMPT_SUFFIX="${green}|"
9+
GIT_THEME_PROMPT_DIRTY=" ${red?}"
10+
GIT_THEME_PROMPT_CLEAN=" ${bold_green?}"
11+
GIT_THEME_PROMPT_PREFIX=" ${green?}|"
12+
GIT_THEME_PROMPT_SUFFIX="${green?}|"
1413

1514
RVM_THEME_PROMPT_PREFIX="|"
1615
RVM_THEME_PROMPT_SUFFIX="|"
1716

18-
__bobby_clock() {
17+
function __bobby_clock() {
1918
printf '%s' "$(clock_prompt) "
2019

21-
if [ "${THEME_SHOW_CLOCK_CHAR}" == "true" ]; then
20+
if [[ "${THEME_SHOW_CLOCK_CHAR:-}" == "true" ]]; then
2221
printf '%s' "$(clock_char) "
2322
fi
2423
}
2524

2625
function prompt_command() {
2726
PS1="\n$(battery_char) $(__bobby_clock)"
28-
PS1+="${yellow}$(ruby_version_prompt) "
29-
PS1+="${purple}\h "
30-
PS1+="${reset_color}in "
31-
PS1+="${green}\w\n"
32-
PS1+="${bold_cyan}$(scm_prompt_char_info) "
33-
PS1+="${green}${reset_color} "
27+
PS1+="${yellow?}$(ruby_version_prompt) "
28+
PS1+="${purple?}\h "
29+
PS1+="${reset_color?}in "
30+
PS1+="${green?}\w\n"
31+
PS1+="${bold_cyan?}$(scm_prompt_char_info) "
32+
PS1+="${green?}${reset_color?} "
3433
}
3534

36-
THEME_SHOW_CLOCK_CHAR=${THEME_SHOW_CLOCK_CHAR:-"true"}
37-
THEME_CLOCK_CHAR_COLOR=${THEME_CLOCK_CHAR_COLOR:-"$red"}
38-
THEME_CLOCK_COLOR=${THEME_CLOCK_COLOR:-"$bold_cyan"}
39-
THEME_CLOCK_FORMAT=${THEME_CLOCK_FORMAT:-"%Y-%m-%d %H:%M:%S"}
35+
: "${THEME_SHOW_CLOCK_CHAR:="true"}"
36+
: "${THEME_CLOCK_CHAR_COLOR:=${red?}}"
37+
: "${THEME_CLOCK_COLOR:=${bold_cyan?}}"
38+
: "${THEME_CLOCK_FORMAT:="%Y-%m-%d %H:%M:%S"}"
4039

4140
safe_append_prompt_command prompt_command

0 commit comments

Comments
 (0)