Skip to content

Commit d866171

Browse files
committed
fix: Fix deflayer block parsing, preserve whitespace
* Ensured robust layer name extraction from `deflayer` blocks. * Filtered empty strings during layer name parsing to prevent errors. * Preserved trailing whitespace when reformatting `deflayer` block lines. * Prevented unintended removal of user's formatting within key definition lines. Signed-off-by: Chmouel Boudjnah <chmouel@chmouel.com>
1 parent b331b06 commit d866171

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

kanata-kbd-mode.el

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@
9696
(let* ((block-text (buffer-substring-no-properties start end))
9797
(lines (split-string block-text "\n" t))
9898
(first-line (car lines))
99-
(layer-name (cadr (split-string first-line "[ \t()]+")))
99+
(layer-name (cadr (cl-remove-if #'string-empty-p
100+
(split-string first-line "[ \t()]+"))))
100101
(body-lines (butlast (cdr lines) 1))
101102
;; Parse rows, ignoring empty lines
102103
(rows (cl-loop for line in body-lines
@@ -123,7 +124,7 @@
123124
" ")))
124125
(new-text
125126
(concat "(deflayer " layer-name "\n"
126-
(mapconcat (lambda (line) (concat " " (string-trim-right line)))
127+
(mapconcat (lambda (line) (concat " " line))
127128
formatted-rows
128129
"\n")
129130
"\n)")))

0 commit comments

Comments
 (0)