ruff/crates/ruff_annotate_snippets/tests
Andrew Gallant 76619b96e5 [ty] Fix rendering of long lines that are indented with tabs
It turns out that `annotate-snippets` doesn't do a great job of
consistently handling tabs. The intent of the implementation is clearly
to expand tabs into 4 ASCII whitespace characters. But there are a few
places where the column computation wasn't taking this expansion into
account. In particular, the `unicode-width` crate returns `None` for a
`\t` input, and `annotate-snippets` would in turn treat this as either
zero columns or one column. Both are wrong.

In patching this, it caused one of the existing `annotate-snippets`
tests to fail. I spent a fair bit of time on it trying to fix it before
coming to the conclusion that the test itself was wrong. In particular,
the annotation ranges are 4 bytes off. However, when the range was
wrong, the buggy code was rendering the example as intended since `\t`
characters were treated as taking up zero columns of space. Now that
they are correctly computed as taking up 4 columns of space, the offsets
of the test needed to be adjusted.

Fixes #670
2025-06-26 11:12:16 -04:00
..
fixtures [ty] Fix rendering of long lines that are indented with tabs 2025-06-26 11:12:16 -04:00
examples.rs crates: vendor annotate-snippets crate 2025-01-15 13:37:52 -05:00
formatter.rs ruff_annotate_snippets: support overriding the "cut indicator" 2025-01-15 13:37:52 -05:00
rustc_tests.rs crates: vendor annotate-snippets crate 2025-01-15 13:37:52 -05:00