summaryrefslogtreecommitdiff
path: root/src/parse/resolve.rs
diff options
context:
space:
mode:
authorMartin Haug <mhaug@live.de>2022-02-23 13:57:15 +0100
committerMartin Haug <mhaug@live.de>2022-02-23 14:50:38 +0100
commit4c8634c600ad0bba03ccdf884b32f234ecbff30c (patch)
treebef1e56ebe6533accc5a1e69ed7863d72b336789 /src/parse/resolve.rs
parent20ac96f27a2e06b985abc1c95049c32c2b88ef5d (diff)
Early stop for falling indents.
Fix code edits and at_start handling. Also fix dedenting for multi-byte chars in raw blocks.
Diffstat (limited to 'src/parse/resolve.rs')
-rw-r--r--src/parse/resolve.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/parse/resolve.rs b/src/parse/resolve.rs
index e15ae339..0d4cf071 100644
--- a/src/parse/resolve.rs
+++ b/src/parse/resolve.rs
@@ -89,7 +89,12 @@ fn trim_and_split_raw(column: usize, mut raw: &str) -> (String, bool) {
// Dedent based on column, but not for the first line.
for line in lines.iter_mut().skip(1) {
- let offset = line.chars().take(column).take_while(|c| c.is_whitespace()).count();
+ let offset = line
+ .chars()
+ .take(column)
+ .take_while(|c| c.is_whitespace())
+ .map(char::len_utf8)
+ .sum();
*line = &line[offset ..];
}