summaryrefslogtreecommitdiff
path: root/helix-view/src/view.rs
diff options
context:
space:
mode:
authorBlaž Hrastnik2022-03-03 08:41:39 +0000
committerBlaž Hrastnik2022-03-04 00:36:31 +0000
commit5d14f56fa9822b18107a5a5efac98dfe9d08f8ce (patch)
treedcfa99543ac8b789d5566358c713a78db90a49bc /helix-view/src/view.rs
parent74a9dd51ffb7cd3c14d4c7b5502e4febad24caa0 (diff)
Reuse visual_coords_at_pos function in view
Diffstat (limited to 'helix-view/src/view.rs')
-rw-r--r--helix-view/src/view.rs14
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);