Change summary
crates/editor2/src/display_map.rs | 7 +------
crates/editor2/src/editor.rs | 23 +++++++++--------------
crates/editor2/src/element.rs | 6 +-----
crates/gpui2/src/style.rs | 4 ++--
4 files changed, 13 insertions(+), 27 deletions(-)
Detailed changes
@@ -578,12 +578,7 @@ impl DisplaySnapshot {
line.push_str(chunk.chunk);
let text_style = if let Some(style) = chunk.style {
- editor_style
- .text
- .clone()
- .highlight(style)
- .map(Cow::Owned)
- .unwrap_or_else(|_| Cow::Borrowed(&editor_style.text))
+ Cow::Owned(editor_style.text.clone().highlight(style))
} else {
Cow::Borrowed(&editor_style.text)
};
@@ -7798,20 +7798,15 @@ impl Editor {
render: Arc::new({
let rename_editor = rename_editor.clone();
move |cx: &mut BlockContext| {
- let text_style = if let Some(highlight_style) = old_highlight_id
+ let mut text_style = cx.editor_style.text.clone();
+ if let Some(highlight_style) = old_highlight_id
.and_then(|h| h.style(&cx.editor_style.syntax))
{
- cx.editor_style
- .text
- .clone()
- .highlight(highlight_style)
- .unwrap_or_else(|_| cx.editor_style.text.clone())
- } else {
- cx.editor_style.text.clone()
- };
- div().pl(cx.anchor_x).child(with_view(
- &rename_editor,
- |_, _| {
+ text_style = text_style.highlight(highlight_style);
+ }
+ div()
+ .pl(cx.anchor_x)
+ .child(with_view(&rename_editor, |_, _| {
EditorElement::new(EditorStyle {
background: cx.theme().system().transparent,
local_player: cx.editor_style.local_player,
@@ -7823,8 +7818,8 @@ impl Editor {
.diagnostic_style
.clone(),
})
- },
- ))
+ }))
+ .render()
}
}),
disposition: BlockDisposition::Below,
@@ -2253,11 +2253,7 @@ impl LineWithInvisibles {
if !line_chunk.is_empty() && !line_exceeded_max_len {
let text_style = if let Some(style) = highlighted_chunk.style {
- text_style
- .clone()
- .highlight(style)
- .map(Cow::Owned)
- .unwrap_or_else(|_| Cow::Borrowed(text_style))
+ Cow::Owned(text_style.clone().highlight(style))
} else {
Cow::Borrowed(text_style)
};
@@ -157,7 +157,7 @@ impl Default for TextStyle {
}
impl TextStyle {
- pub fn highlight(mut self, style: HighlightStyle) -> Result<Self> {
+ pub fn highlight(mut self, style: HighlightStyle) -> Self {
if let Some(weight) = style.font_weight {
self.font_weight = weight;
}
@@ -177,7 +177,7 @@ impl TextStyle {
self.underline = Some(underline);
}
- Ok(self)
+ self
}
pub fn font(&self) -> Font {