feat(config): enable desktop swatch and improve comment alignment #11

Merged
rootiest merged 2 commits from feat/desktop-swatch-and-config-alignment into main 2026-05-03 18:58:03 +00:00
Showing only changes of commit e0967a8388 - Show all commits
+27 -1
View File
@@ -194,7 +194,33 @@ set_config() {
if [[ -n "$new_val" ]]; then
if [[ "$original_line" =~ ^([[:space:]]*[A-Za-z_]+[[:space:]]*=[[:space:]]*)([^[:space:]#]+)(.*)$ ]]; then
echo "${BASH_REMATCH[1]}$new_val${BASH_REMATCH[3]}" >> "$temp_file"
local prefix="${BASH_REMATCH[1]}"
local old_val="${BASH_REMATCH[2]}"
local suffix="${BASH_REMATCH[3]}"
# Adjust whitespace to keep comments aligned if the value length changed
if [[ "$key" != "output" ]]; then
local old_len=${#old_val}
local new_len=${#new_val}
local diff=$((old_len - new_len))
if [[ $diff -gt 0 ]]; then
# new value is shorter, add spaces to suffix
local spaces=""
for ((i=0; i<diff; i++)); do spaces+=" "; done
suffix="$spaces$suffix"
elif [[ $diff -lt 0 ]]; then
# new value is longer, remove spaces from suffix
local remove=$((-diff))
for ((i=0; i<remove; i++)); do
if [[ "$suffix" == " "* ]]; then
suffix="${suffix# }"
fi
done
fi
fi
echo "$prefix$new_val$suffix" >> "$temp_file"
continue
elif [[ "$original_line" =~ ^([[:space:]]*[A-Za-z_]+[[:space:]]*=[[:space:]]*)(.*)$ ]]; then
echo "${BASH_REMATCH[1]}$new_val" >> "$temp_file"