perf(spectrum): build the FG and BG tables without a 256-iteration loop (#14073)

This commit is contained in:
Robby Russell
2026-09-09 17:03:49 +02:00
committed by GitHub
parent 391cafc4cf
commit 8e5f198226
+10 -4
View File
@@ -14,10 +14,16 @@ FX=(
reverse "%{%}" no-reverse "%{%}"
)
for color in {000..255}; do
FG[$color]="%{[38;5;${color}m%}"
BG[$color]="%{[48;5;${color}m%}"
done
# Build the tables with array operations instead of a 256-iteration loop
() {
setopt localoptions noksharrays
local -a codes fg bg
codes=({000..255})
fg=( "%{"$'\e'"[38;5;"${^codes}"m%}" )
bg=( "%{"$'\e'"[48;5;"${^codes}"m%}" )
FG=( ${codes:^fg} )
BG=( ${codes:^bg} )
}
# Show all 256 colors with color number
function spectrum_ls() {