Skip to content

dedent: stop stripping spaces after a line's first non-space rune#85

Open
c-tonneslan wants to merge 1 commit into
muesli:masterfrom
c-tonneslan:fix/dedent-non-space-line-leading
Open

dedent: stop stripping spaces after a line's first non-space rune#85
c-tonneslan wants to merge 1 commit into
muesli:masterfrom
c-tonneslan:fix/dedent-non-space-line-leading

Conversation

@c-tonneslan

@c-tonneslan c-tonneslan commented May 18, 2026

Copy link
Copy Markdown

Closes #44.
Closes #72.

The dedent loop only marked the end of a line's leading-space region on newlines, so a line that starts with a non-space rune (e.g. ➜ DKB or This is an example) stayed in "strip up to indent" mode and the space right after the first rune got dropped along with the leading whitespace from sibling lines.

Flipping shouldOmit off as soon as we write a non-space rune keeps the intra-line spacing intact while still trimming the shared leading indent on indented lines. Regression test included.

Closes muesli#44.

The dedent loop only marked the leading-space region by toggling
shouldOmit on newlines. A line that starts with a non-space rune
(e.g. '➜ DKB') stayed in 'strip up to indent' mode, so the space right
after the marker also got dropped. Flipping shouldOmit off as soon as
we write a non-space rune keeps the intra-line spacing intact.

Signed-off-by: Charlie Tonneslan <cst0520@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dedent incorrectly removes spaces that aren't at the start of a line v0.3.0 broke dedent package

1 participant