mirror of
https://github.com/crate-ci/typos.git
synced 2024-11-25 02:20:58 -05:00
fix(parse): Don't assume boundary characters are one byte
This was inspired by heck. They have an invariant to ensure this isn't a problem (only accept `_` as boundary) while on the other hand we accept a lot of things as boundaries.
This commit is contained in:
parent
60372effa1
commit
166e2630c0
1 changed files with 2 additions and 3 deletions
|
@ -176,13 +176,12 @@ fn split_ident(ident: &str, offset: usize) -> impl Iterator<Item = Word<'_>> {
|
|||
while let Some((i, c)) = char_indices.next() {
|
||||
let cur_mode = WordMode::classify(c);
|
||||
if cur_mode == WordMode::Boundary {
|
||||
if start == i {
|
||||
start += 1;
|
||||
}
|
||||
assert!(start_mode == WordMode::Boundary);
|
||||
continue;
|
||||
}
|
||||
if start_mode == WordMode::Boundary {
|
||||
start_mode = cur_mode;
|
||||
start = i;
|
||||
}
|
||||
|
||||
if let Some(&(next_i, next)) = char_indices.peek() {
|
||||
|
|
Loading…
Reference in a new issue