findUtf8Start
Parameters
- text:[]const u8
- []const u8
- pos:usize
- usize
Source
Implementation
pub fn findUtf8Start(text: []const u8, pos: usize) usize {
var p = pos;
p = @min(p, text.len);
// find start of previous utf8 char
var start = p -| 1;
while (start > 0 and start < p and text[start] & 0xc0 == 0x80) {
start -|= 1;
}
if (start < p) {
const utf8_size = std.unicode.utf8ByteSequenceLength(text[start]) catch 0;
if (utf8_size != (p - start)) {
p = start;
}
}
return p;
}