@@ -5418,6 +5418,7 @@ impl Editor {
min_width: Pixels,
max_width: Pixels,
cursor_point: Point,
+ start_row: DisplayRow,
line_layouts: &[LineWithInvisibles],
style: &EditorStyle,
accept_keystroke: &gpui::Keystroke,
@@ -5470,6 +5471,7 @@ impl Editor {
Some(completion) => self.render_edit_prediction_cursor_popover_preview(
completion,
cursor_point,
+ start_row,
line_layouts,
style,
cx,
@@ -5479,6 +5481,7 @@ impl Editor {
Some(stale_completion) => self.render_edit_prediction_cursor_popover_preview(
stale_completion,
cursor_point,
+ start_row,
line_layouts,
style,
cx,
@@ -5565,6 +5568,7 @@ impl Editor {
&self,
completion: &InlineCompletionState,
cursor_point: Point,
+ start_row: DisplayRow,
line_layouts: &[LineWithInvisibles],
style: &EditorStyle,
cx: &mut Context<Editor>,
@@ -5672,8 +5676,9 @@ impl Editor {
let end_point = range_around_target.end.to_point(&snapshot);
let target_point = target.text_anchor.to_point(&snapshot);
- let cursor_relative_position =
- line_layouts.get(start_point.row as usize).map(|line| {
+ let cursor_relative_position = line_layouts
+ .get(start_point.row.saturating_sub(start_row.0) as usize)
+ .map(|line| {
let start_column_x = line.x_for_index(start_point.column as usize);
let target_column_x = line.x_for_index(target_point.column as usize);
target_column_x - start_column_x
@@ -3300,6 +3300,7 @@ impl EditorElement {
min_width,
max_width,
cursor_point,
+ start_row,
&line_layouts,
style,
accept_keystroke.as_ref()?,