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,6 +163,8 @@ pub fn render_view(
Box::new(highlights)
};
let gutter_overflow = view.gutter_offset(doc) == 0;
if !gutter_overflow {
Self::render_gutter(
editor,
doc,
@ -172,6 +174,7 @@ pub fn render_view(
is_focused,
&mut line_decorations,
);
}
if is_focused {
let cursor = doc

View File

@ -187,11 +187,17 @@ pub fn gutters(&self) -> &[GutterType] {
}
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
}
}
//