message: Hopefully the final off-by-one bug with source positions
diff: @@ -32,8 +32,16 @@ impl Lines {
  fn get_position(&self, index: usize) -> Option<Position> {
  if self.use_pos {
  - Some(self.new_lines.iter().enumerate().fold(
  - Position { col: 1, row: 1 },
  + Some(
  + self.new_lines
  + .iter()
  + .enumerate()
  + .map(|(i, j)| (i + 1, j))
  + .fold(
  + Position {
  + col: 1,
  + row: index as u64,
  + },
  |current, (line_num, idx)| {
  if *idx < index {
  Position {
  @@ -44,7 +52,8 @@ impl Lines {
  current
  }
  },
  - ))
  + ),
  + )
  } else {
  None
  }
  