pub struct LineIndex {
pub(crate) line_starts: Vec<usize>,
}
impl LineIndex {
pub fn new(source: &str) -> Self {
let mut line_starts = vec![0];
for (i, c) in source.char_indices() {
if c == '\n' {
line_starts.push(i + 1);
}
}
LineIndex { line_starts }
}
}