@@ -118,6 +118,9 @@ impl View {
118118 width as usize,
119119 ));
120120 }
121+ if !gutter_types.is_empty() {
122+ gutter_offset += 1;
123+ }
121124 Self {
122125 id: ViewId::default(),
123126 doc,
@@ -346,11 +349,7 @@ mod tests {
346349 fn test_text_pos_at_screen_coords() {
347350 let mut view = View::new(
348351 DocumentId::default(),
349− vec![
350− GutterType::Diagnostics,
351− GutterType::LineNumbers,
352− GutterType::Padding,
353− ],
352+ vec![GutterType::Diagnostics, GutterType::LineNumbers],
354353 );
355354 view.area = Rect::new(40, 40, 40, 40);
356355 let rope = Rope::from_str("abc\n\tdef");
@@ -397,10 +396,7 @@ mod tests {
397396
398397 #[test]
399398 fn test_text_pos_at_screen_coords_without_line_numbers_gutter() {
400− let mut view = View::new(
401− DocumentId::default(),
402− vec![GutterType::Diagnostics, GutterType::Padding],
403− );
399+ let mut view = View::new(DocumentId::default(), vec![GutterType::Diagnostics]);
404400 view.area = Rect::new(40, 40, 40, 40);
405401 let rope = Rope::from_str("abc\n\tdef");
406402 let text = rope.slice(..);
@@ -426,11 +422,7 @@ mod tests {
426422 fn test_text_pos_at_screen_coords_cjk() {
427423 let mut view = View::new(
428424 DocumentId::default(),
429− vec![
430− GutterType::Diagnostics,
431− GutterType::LineNumbers,
432− GutterType::Padding,
433− ],
425+ vec![GutterType::Diagnostics, GutterType::LineNumbers],
434426 );
435427 view.area = Rect::new(40, 40, 40, 40);
436428 let rope = Rope::from_str("Hi! こんにちは皆さん");
@@ -470,11 +462,7 @@ mod tests {
470462 fn test_text_pos_at_screen_coords_graphemes() {
471463 let mut view = View::new(
472464 DocumentId::default(),
473− vec![
474− GutterType::Diagnostics,
475− GutterType::LineNumbers,
476− GutterType::Padding,
477− ],
465+ vec![GutterType::Diagnostics, GutterType::LineNumbers],
478466 );
479467 view.area = Rect::new(40, 40, 40, 40);
480468 let rope = Rope::from_str("Hèl̀l̀ò world!");