Skip rendering gutters when gutter width exceeds view width (#7821)

This commit is contained in:
Anshul Dalal 2023-08-08 05:43:10 +05:30 committed by GitHub
parent 7cda5b8592
commit c7e9e94f00
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 11 deletions

View file

@ -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

View file

@ -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
}
}
//