diff options
author | Anshul Dalal | 2023-08-08 00:13:10 +0000 |
---|---|---|
committer | GitHub | 2023-08-08 00:13:10 +0000 |
commit | c7e9e94f007e04836d134cd3e53f71c38b7ba1ec (patch) | |
tree | 93aa3f5f1d20501bb705e092d4220a2bc81debbb | |
parent | 7cda5b85920f875052438791f01246a408ee490e (diff) |
Skip rendering gutters when gutter width exceeds view width (#7821)
-rw-r--r-- | helix-term/src/ui/editor.rs | 21 | ||||
-rw-r--r-- | helix-view/src/view.rs | 10 |
2 files changed, 20 insertions, 11 deletions
diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 5b5cda93..aa159d40 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -163,15 +163,18 @@ impl EditorView { Box::new(highlights) }; - Self::render_gutter( - editor, - doc, - view, - view.area, - theme, - is_focused, - &mut line_decorations, - ); + let gutter_overflow = view.gutter_offset(doc) == 0; + if !gutter_overflow { + Self::render_gutter( + editor, + doc, + view, + view.area, + theme, + is_focused, + &mut line_decorations, + ); + } if is_focused { let cursor = doc diff --git a/helix-view/src/view.rs b/helix-view/src/view.rs index ee6fc127..e5e2641a 100644 --- a/helix-view/src/view.rs +++ b/helix-view/src/view.rs @@ -187,11 +187,17 @@ impl View { } pub fn gutter_offset(&self, doc: &Document) -> u16 { - self.gutters + let total_width = self + .gutters .layout .iter() .map(|gutter| gutter.width(self, doc) as u16) - .sum() + .sum(); + if total_width < self.area.width { + total_width + } else { + 0 + } } // |