Iterate over the bytes instead of characters when counting brackets.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details

This commit is contained in:
Tom Alexander 2023-08-28 03:15:53 -04:00
parent c683516620
commit 288350daef
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
1 changed files with 11 additions and 11 deletions

View File

@ -19,8 +19,8 @@ pub struct OrgSource<'s> {
start_of_line: usize,
preceding_character: Option<char>,
line_number: usize,
bracket_depth: isize, // []
brace_depth: isize, // {}
bracket_depth: isize, // []
brace_depth: isize, // {}
parenthesis_depth: isize, // ()
}
@ -148,28 +148,28 @@ where
let mut bracket_depth = self.bracket_depth;
let mut brace_depth = self.brace_depth;
let mut parenthesis_depth = self.parenthesis_depth;
for (offset, character) in skipped_text.char_indices() {
match character {
'\n' => {
for (offset, byte) in skipped_text.bytes().enumerate() {
match byte {
b'\n' => {
start_of_line = self.start + offset + 1;
line_number += 1;
}
'[' => {
b'[' => {
bracket_depth += 1;
}
']' => {
b']' => {
bracket_depth -= 1;
}
'{' => {
b'{' => {
brace_depth += 1;
}
'}' => {
b'}' => {
brace_depth -= 1;
}
'(' => {
b'(' => {
parenthesis_depth += 1;
}
')' => {
b')' => {
parenthesis_depth -= 1;
}
_ => {}