1
Fork 0
mirror of https://github.com/RGBCube/alejandra synced 2025-07-30 12:07:46 +00:00

fix: use utf-8 length instead of byte length

This commit is contained in:
Kevin Amado 2022-02-24 13:56:41 -05:00
parent 8213b1fecb
commit 08627c847e
4 changed files with 23 additions and 3 deletions

View file

@ -17,6 +17,18 @@ Types of changes
- Security in case of vulnerabilities.
-->
### Fixed
- Multiline strings are handled as utf-8 correctly, preventing panics
on utf-8 whitespace like:
```nix
''
foo
\u{2002}bar
''
```
## [0.5.0] - 2022-02-23
### Changed

View file

@ -73,7 +73,7 @@ pub fn rule(
if !line.is_empty() {
indentation = usize::min(
indentation,
line.len() - line.trim_start().len(),
line.chars().count() - line.trim_start().chars().count(),
);
}
}
@ -85,8 +85,8 @@ pub fn rule(
lines = lines
.iter()
.map(|line| {
if indentation < line.len() {
line[indentation..line.len()].to_string()
if indentation < line.chars().count() {
line.chars().skip(indentation).collect::<String>()
} else {
line.to_string()
}

View file

@ -1,4 +1,8 @@
[
''
foo
bar
''
""
###
"

View file

@ -1,4 +1,8 @@
[
''
foo
bar
''
""
###
"