summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Ritter <dritter03@googlemail.com>2018-08-07 22:36:49 +0300
committerDominik Ritter <dritter03@googlemail.com>2018-08-07 22:36:49 +0300
commit0acede2fdc32bd39d7d53e0d9927a3856cfe4527 (patch)
tree04df551e72e248764a5ed245ba705a128eab334d
parenteadbd09368f011d29893ea05c3bec7a1d2fbfebc (diff)
Make colors a global array
That way it must not be defined in every function call.
-rwxr-xr-xfunctions/colors.zsh532
1 files changed, 267 insertions, 265 deletions
diff --git a/functions/colors.zsh b/functions/colors.zsh
index 1788bbfc..17caa201 100755
--- a/functions/colors.zsh
+++ b/functions/colors.zsh
@@ -6,6 +6,270 @@
# https://github.com/bhilburn/powerlevel9k
################################################################
+typeset -gAh __P9K_COLORS
+# https://jonasjacek.github.io/colors/
+# use color names by default to allow dark/light themes to adjust colors based on names
+__P9K_COLORS=(
+ black 000
+ maroon 001
+ green 002
+ olive 003
+ navy 004
+ purple 005
+ teal 006
+ silver 007
+ grey 008
+ red 009
+ lime 010
+ yellow 011
+ blue 012
+ fuchsia 013
+ magenta 013
+ aqua 014
+ cyan 014
+ white 015
+ grey0 016
+ navyblue 017
+ darkblue 018
+ blue3 019
+ blue3 020
+ blue1 021
+ darkgreen 022
+ deepskyblue4 023
+ deepskyblue4 024
+ deepskyblue4 025
+ dodgerblue3 026
+ dodgerblue2 027
+ green4 028
+ springgreen4 029
+ turquoise4 030
+ deepskyblue3 031
+ deepskyblue3 032
+ dodgerblue1 033
+ green3 034
+ springgreen3 035
+ darkcyan 036
+ lightseagreen 037
+ deepskyblue2 038
+ deepskyblue1 039
+ green3 040
+ springgreen3 041
+ springgreen2 042
+ cyan3 043
+ darkturquoise 044
+ turquoise2 045
+ green1 046
+ springgreen2 047
+ springgreen1 048
+ mediumspringgreen 049
+ cyan2 050
+ cyan1 051
+ darkred 052
+ deeppink4 053
+ purple4 054
+ purple4 055
+ purple3 056
+ blueviolet 057
+ orange4 058
+ grey37 059
+ mediumpurple4 060
+ slateblue3 061
+ slateblue3 062
+ royalblue1 063
+ chartreuse4 064
+ darkseagreen4 065
+ paleturquoise4 066
+ steelblue 067
+ steelblue3 068
+ cornflowerblue 069
+ chartreuse3 070
+ darkseagreen4 071
+ cadetblue 072
+ cadetblue 073
+ skyblue3 074
+ steelblue1 075
+ chartreuse3 076
+ palegreen3 077
+ seagreen3 078
+ aquamarine3 079
+ mediumturquoise 080
+ steelblue1 081
+ chartreuse2 082
+ seagreen2 083
+ seagreen1 084
+ seagreen1 085
+ aquamarine1 086
+ darkslategray2 087
+ darkred 088
+ deeppink4 089
+ darkmagenta 090
+ darkmagenta 091
+ darkviolet 092
+ purple 093
+ orange4 094
+ lightpink4 095
+ plum4 096
+ mediumpurple3 097
+ mediumpurple3 098
+ slateblue1 099
+ yellow4 100
+ wheat4 101
+ grey53 102
+ lightslategrey 103
+ mediumpurple 104
+ lightslateblue 105
+ yellow4 106
+ darkolivegreen3 107
+ darkseagreen 108
+ lightskyblue3 109
+ lightskyblue3 110
+ skyblue2 111
+ chartreuse2 112
+ darkolivegreen3 113
+ palegreen3 114
+ darkseagreen3 115
+ darkslategray3 116
+ skyblue1 117
+ chartreuse1 118
+ lightgreen 119
+ lightgreen 120
+ palegreen1 121
+ aquamarine1 122
+ darkslategray1 123
+ red3 124
+ deeppink4 125
+ mediumvioletred 126
+ magenta3 127
+ darkviolet 128
+ purple 129
+ darkorange3 130
+ indianred 131
+ hotpink3 132
+ mediumorchid3 133
+ mediumorchid 134
+ mediumpurple2 135
+ darkgoldenrod 136
+ lightsalmon3 137
+ rosybrown 138
+ grey63 139
+ mediumpurple2 140
+ mediumpurple1 141
+ gold3 142
+ darkkhaki 143
+ navajowhite3 144
+ grey69 145
+ lightsteelblue3 146
+ lightsteelblue 147
+ yellow3 148
+ darkolivegreen3 149
+ darkseagreen3 150
+ darkseagreen2 151
+ lightcyan3 152
+ lightskyblue1 153
+ greenyellow 154
+ darkolivegreen2 155
+ palegreen1 156
+ darkseagreen2 157
+ darkseagreen1 158
+ paleturquoise1 159
+ red3 160
+ deeppink3 161
+ deeppink3 162
+ magenta3 163
+ magenta3 164
+ magenta2 165
+ darkorange3 166
+ indianred 167
+ hotpink3 168
+ hotpink2 169
+ orchid 170
+ mediumorchid1 171
+ orange3 172
+ lightsalmon3 173
+ lightpink3 174
+ pink3 175
+ plum3 176
+ violet 177
+ gold3 178
+ lightgoldenrod3 179
+ tan 180
+ mistyrose3 181
+ thistle3 182
+ plum2 183
+ yellow3 184
+ khaki3 185
+ lightgoldenrod2 186
+ lightyellow3 187
+ grey84 188
+ lightsteelblue1 189
+ yellow2 190
+ darkolivegreen1 191
+ darkolivegreen1 192
+ darkseagreen1 193
+ honeydew2 194
+ lightcyan1 195
+ red1 196
+ deeppink2 197
+ deeppink1 198
+ deeppink1 199
+ magenta2 200
+ magenta1 201
+ orangered1 202
+ indianred1 203
+ indianred1 204
+ hotpink 205
+ hotpink 206
+ mediumorchid1 207
+ darkorange 208
+ salmon1 209
+ lightcoral 210
+ palevioletred1 211
+ orchid2 212
+ orchid1 213
+ orange1 214
+ sandybrown 215
+ lightsalmon1 216
+ lightpink1 217
+ pink1 218
+ plum1 219
+ gold1 220
+ lightgoldenrod2 221
+ lightgoldenrod2 222
+ navajowhite1 223
+ mistyrose1 224
+ thistle1 225
+ yellow1 226
+ lightgoldenrod1 227
+ khaki1 228
+ wheat1 229
+ cornsilk1 230
+ grey100 231
+ grey3 232
+ grey7 233
+ grey11 234
+ grey15 235
+ grey19 236
+ grey23 237
+ grey27 238
+ grey30 239
+ grey35 240
+ grey39 241
+ grey42 242
+ grey46 243
+ grey50 244
+ grey54 245
+ grey58 246
+ grey62 247
+ grey66 248
+ grey70 249
+ grey74 250
+ grey78 251
+ grey82 252
+ grey85 253
+ grey89 254
+ grey93 255
+)
+
function termColors() {
if [[ $POWERLEVEL9K_IGNORE_TERM_COLORS == true ]]; then
return
@@ -68,277 +332,15 @@ function getColorCode() {
echo -n "$1"
fi
else
- typeset -A codes
- # https://jonasjacek.github.io/colors/
- # use color names by default to allow dark/light themes to adjust colors based on names
- codes[black]=000
- codes[maroon]=001
- codes[green]=002
- codes[olive]=003
- codes[navy]=004
- codes[purple]=005
- codes[teal]=006
- codes[silver]=007
- codes[grey]=008
- codes[red]=009
- codes[lime]=010
- codes[yellow]=011
- codes[blue]=012
- codes[fuchsia]=013
- codes[magenta]=013
- codes[aqua]=014
- codes[cyan]=014
- codes[white]=015
- codes[grey0]=016
- codes[navyblue]=017
- codes[darkblue]=018
- codes[blue3]=019
- codes[blue3]=020
- codes[blue1]=021
- codes[darkgreen]=022
- codes[deepskyblue4]=023
- codes[deepskyblue4]=024
- codes[deepskyblue4]=025
- codes[dodgerblue3]=026
- codes[dodgerblue2]=027
- codes[green4]=028
- codes[springgreen4]=029
- codes[turquoise4]=030
- codes[deepskyblue3]=031
- codes[deepskyblue3]=032
- codes[dodgerblue1]=033
- codes[green3]=034
- codes[springgreen3]=035
- codes[darkcyan]=036
- codes[lightseagreen]=037
- codes[deepskyblue2]=038
- codes[deepskyblue1]=039
- codes[green3]=040
- codes[springgreen3]=041
- codes[springgreen2]=042
- codes[cyan3]=043
- codes[darkturquoise]=044
- codes[turquoise2]=045
- codes[green1]=046
- codes[springgreen2]=047
- codes[springgreen1]=048
- codes[mediumspringgreen]=049
- codes[cyan2]=050
- codes[cyan1]=051
- codes[darkred]=052
- codes[deeppink4]=053
- codes[purple4]=054
- codes[purple4]=055
- codes[purple3]=056
- codes[blueviolet]=057
- codes[orange4]=058
- codes[grey37]=059
- codes[mediumpurple4]=060
- codes[slateblue3]=061
- codes[slateblue3]=062
- codes[royalblue1]=063
- codes[chartreuse4]=064
- codes[darkseagreen4]=065
- codes[paleturquoise4]=066
- codes[steelblue]=067
- codes[steelblue3]=068
- codes[cornflowerblue]=069
- codes[chartreuse3]=070
- codes[darkseagreen4]=071
- codes[cadetblue]=072
- codes[cadetblue]=073
- codes[skyblue3]=074
- codes[steelblue1]=075
- codes[chartreuse3]=076
- codes[palegreen3]=077
- codes[seagreen3]=078
- codes[aquamarine3]=079
- codes[mediumturquoise]=080
- codes[steelblue1]=081
- codes[chartreuse2]=082
- codes[seagreen2]=083
- codes[seagreen1]=084
- codes[seagreen1]=085
- codes[aquamarine1]=086
- codes[darkslategray2]=087
- codes[darkred]=088
- codes[deeppink4]=089
- codes[darkmagenta]=090
- codes[darkmagenta]=091
- codes[darkviolet]=092
- codes[purple]=093
- codes[orange4]=094
- codes[lightpink4]=095
- codes[plum4]=096
- codes[mediumpurple3]=097
- codes[mediumpurple3]=098
- codes[slateblue1]=099
- codes[yellow4]=100
- codes[wheat4]=101
- codes[grey53]=102
- codes[lightslategrey]=103
- codes[mediumpurple]=104
- codes[lightslateblue]=105
- codes[yellow4]=106
- codes[darkolivegreen3]=107
- codes[darkseagreen]=108
- codes[lightskyblue3]=109
- codes[lightskyblue3]=110
- codes[skyblue2]=111
- codes[chartreuse2]=112
- codes[darkolivegreen3]=113
- codes[palegreen3]=114
- codes[darkseagreen3]=115
- codes[darkslategray3]=116
- codes[skyblue1]=117
- codes[chartreuse1]=118
- codes[lightgreen]=119
- codes[lightgreen]=120
- codes[palegreen1]=121
- codes[aquamarine1]=122
- codes[darkslategray1]=123
- codes[red3]=124
- codes[deeppink4]=125
- codes[mediumvioletred]=126
- codes[magenta3]=127
- codes[darkviolet]=128
- codes[purple]=129
- codes[darkorange3]=130
- codes[indianred]=131
- codes[hotpink3]=132
- codes[mediumorchid3]=133
- codes[mediumorchid]=134
- codes[mediumpurple2]=135
- codes[darkgoldenrod]=136
- codes[lightsalmon3]=137
- codes[rosybrown]=138
- codes[grey63]=139
- codes[mediumpurple2]=140
- codes[mediumpurple1]=141
- codes[gold3]=142
- codes[darkkhaki]=143
- codes[navajowhite3]=144
- codes[grey69]=145
- codes[lightsteelblue3]=146
- codes[lightsteelblue]=147
- codes[yellow3]=148
- codes[darkolivegreen3]=149
- codes[darkseagreen3]=150
- codes[darkseagreen2]=151
- codes[lightcyan3]=152
- codes[lightskyblue1]=153
- codes[greenyellow]=154
- codes[darkolivegreen2]=155
- codes[palegreen1]=156
- codes[darkseagreen2]=157
- codes[darkseagreen1]=158
- codes[paleturquoise1]=159
- codes[red3]=160
- codes[deeppink3]=161
- codes[deeppink3]=162
- codes[magenta3]=163
- codes[magenta3]=164
- codes[magenta2]=165
- codes[darkorange3]=166
- codes[indianred]=167
- codes[hotpink3]=168
- codes[hotpink2]=169
- codes[orchid]=170
- codes[mediumorchid1]=171
- codes[orange3]=172
- codes[lightsalmon3]=173
- codes[lightpink3]=174
- codes[pink3]=175
- codes[plum3]=176
- codes[violet]=177
- codes[gold3]=178
- codes[lightgoldenrod3]=179
- codes[tan]=180
- codes[mistyrose3]=181
- codes[thistle3]=182
- codes[plum2]=183
- codes[yellow3]=184
- codes[khaki3]=185
- codes[lightgoldenrod2]=186
- codes[lightyellow3]=187
- codes[grey84]=188
- codes[lightsteelblue1]=189
- codes[yellow2]=190
- codes[darkolivegreen1]=191
- codes[darkolivegreen1]=192
- codes[darkseagreen1]=193
- codes[honeydew2]=194
- codes[lightcyan1]=195
- codes[red1]=196
- codes[deeppink2]=197
- codes[deeppink1]=198
- codes[deeppink1]=199
- codes[magenta2]=200
- codes[magenta1]=201
- codes[orangered1]=202
- codes[indianred1]=203
- codes[indianred1]=204
- codes[hotpink]=205
- codes[hotpink]=206
- codes[mediumorchid1]=207
- codes[darkorange]=208
- codes[salmon1]=209
- codes[lightcoral]=210
- codes[palevioletred1]=211
- codes[orchid2]=212
- codes[orchid1]=213
- codes[orange1]=214
- codes[sandybrown]=215
- codes[lightsalmon1]=216
- codes[lightpink1]=217
- codes[pink1]=218
- codes[plum1]=219
- codes[gold1]=220
- codes[lightgoldenrod2]=221
- codes[lightgoldenrod2]=222
- codes[navajowhite1]=223
- codes[mistyrose1]=224
- codes[thistle1]=225
- codes[yellow1]=226
- codes[lightgoldenrod1]=227
- codes[khaki1]=228
- codes[wheat1]=229
- codes[cornsilk1]=230
- codes[grey100]=231
- codes[grey3]=232
- codes[grey7]=233
- codes[grey11]=234
- codes[grey15]=235
- codes[grey19]=236
- codes[grey23]=237
- codes[grey27]=238
- codes[grey30]=239
- codes[grey35]=240
- codes[grey39]=241
- codes[grey42]=242
- codes[grey46]=243
- codes[grey50]=244
- codes[grey54]=245
- codes[grey58]=246
- codes[grey62]=247
- codes[grey66]=248
- codes[grey70]=249
- codes[grey74]=250
- codes[grey78]=251
- codes[grey82]=252
- codes[grey85]=253
- codes[grey89]=254
- codes[grey93]=255
-
# for testing purposes in terminal
if [[ "$1" == "foreground" ]]; then
# call via `getColorCode foreground`
- for i in "${(k@)codes}"; do
+ for i in "${(k@)__P9K_COLORS}"; do
print -P "$(foregroundColor $i)$(getColor $i) - $i%f"
done
elif [[ "$1" == "background" ]]; then
# call via `getColorCode background`
- for i in "${(k@)codes}"; do
+ for i in "${(k@)__P9K_COLORS}"; do
print -P "$(backgroundColor $i)$(getColor $i) - $i%k"
done
else
@@ -349,7 +351,7 @@ function getColorCode() {
1=${1#fg-}
# Strip eventual "br" prefixes ("bright" colors)
1=${1#br}
- echo -n $codes[$1]
+ echo -n $__P9K_COLORS[$1]
fi
fi
}