diff options
author | Blaž Hrastnik | 2022-03-03 08:41:39 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2022-03-04 00:36:31 +0000 |
commit | 5d14f56fa9822b18107a5a5efac98dfe9d08f8ce (patch) | |
tree | dcfa99543ac8b789d5566358c713a78db90a49bc /helix-view/src | |
parent | 74a9dd51ffb7cd3c14d4c7b5502e4febad24caa0 (diff) |
Reuse visual_coords_at_pos function in view
Diffstat (limited to 'helix-view/src')
-rw-r--r-- | helix-view/src/view.rs | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/helix-view/src/view.rs b/helix-view/src/view.rs index 6bc9435c..58a9b602 100644 --- a/helix-view/src/view.rs +++ b/helix-view/src/view.rs @@ -204,19 +204,9 @@ impl View { return None; } - let line_start = text.line_to_char(line); - let line_slice = text.slice(line_start..pos); - let mut col = 0; let tab_width = doc.tab_width(); - - for grapheme in RopeGraphemes::new(line_slice) { - if grapheme == "\t" { - col += tab_width; - } else { - let grapheme = Cow::from(grapheme); - col += grapheme_width(&grapheme); - } - } + // TODO: visual_coords_at_pos also does char_to_line which we ignore, can we reuse the call? + let Position { col, .. } = visual_coords_at_pos(text, pos, tab_width); // It is possible for underflow to occur if the buffer length is larger than the terminal width. let row = line.saturating_sub(self.offset.row); |