mirror of
https://github.com/zed-industries/zed.git
synced 2026-06-01 03:14:56 +07:00
This reverts commit 69e5ff7c76.
Release Notes:
- N/A
This commit is contained in:
parent
0859cce2e5
commit
703bc36988
2 changed files with 38 additions and 25 deletions
|
|
@ -10,7 +10,8 @@ use editor::{MultiBufferOffset, RowHighlightOptions, SelectionEffects};
|
|||
use fuzzy::StringMatch;
|
||||
use gpui::{
|
||||
App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, HighlightStyle,
|
||||
ParentElement, Point, Render, Styled, StyledText, Task, WeakEntity, Window, div, rems,
|
||||
ParentElement, Point, Render, Styled, StyledText, Task, TextStyle, WeakEntity, Window, div,
|
||||
rems,
|
||||
};
|
||||
use language::{Outline, OutlineItem};
|
||||
use ordered_float::OrderedFloat;
|
||||
|
|
@ -406,7 +407,7 @@ pub fn render_item<T>(
|
|||
outline_item: &OutlineItem<T>,
|
||||
match_ranges: impl IntoIterator<Item = Range<usize>>,
|
||||
cx: &App,
|
||||
) -> impl IntoElement {
|
||||
) -> StyledText {
|
||||
let highlight_style = HighlightStyle {
|
||||
background_color: Some(cx.theme().colors().text_accent.alpha(0.3)),
|
||||
..Default::default()
|
||||
|
|
@ -414,19 +415,28 @@ pub fn render_item<T>(
|
|||
let custom_highlights = match_ranges
|
||||
.into_iter()
|
||||
.map(|range| (range, highlight_style));
|
||||
|
||||
let settings = ThemeSettings::get_global(cx);
|
||||
|
||||
// TODO: We probably shouldn't need to build a whole new text style here
|
||||
// but I'm not sure how to get the current one and modify it.
|
||||
// Before this change TextStyle::default() was used here, which was giving us the wrong font and text color.
|
||||
let text_style = TextStyle {
|
||||
color: cx.theme().colors().text,
|
||||
font_family: settings.buffer_font.family.clone(),
|
||||
font_features: settings.buffer_font.features.clone(),
|
||||
font_fallbacks: settings.buffer_font.fallbacks.clone(),
|
||||
font_size: settings.buffer_font_size(cx).into(),
|
||||
font_weight: settings.buffer_font.weight,
|
||||
line_height: relative(1.),
|
||||
..Default::default()
|
||||
};
|
||||
let highlights = gpui::combine_highlights(
|
||||
custom_highlights,
|
||||
outline_item.highlight_ranges.iter().cloned(),
|
||||
);
|
||||
|
||||
let settings = ThemeSettings::get_global(cx);
|
||||
|
||||
div()
|
||||
.text_color(cx.theme().colors().text)
|
||||
.font(settings.buffer_font.clone())
|
||||
.text_size(settings.buffer_font_size(cx))
|
||||
.line_height(relative(1.))
|
||||
.child(StyledText::new(outline_item.text.clone()).with_highlights(highlights))
|
||||
StyledText::new(outline_item.text.clone()).with_default_highlights(&text_style, highlights)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
|
|
|||
|
|
@ -2618,21 +2618,24 @@ impl OutlinePanel {
|
|||
} else {
|
||||
&search_matches
|
||||
};
|
||||
let outline_item = OutlineItem {
|
||||
depth,
|
||||
annotation_range: None,
|
||||
range: search_data.context_range.clone(),
|
||||
text: search_data.context_text.clone(),
|
||||
source_range_for_text: search_data.context_range.clone(),
|
||||
highlight_ranges: search_data
|
||||
.highlights_data
|
||||
.get()
|
||||
.cloned()
|
||||
.unwrap_or_default(),
|
||||
name_ranges: search_data.search_match_indices.clone(),
|
||||
body_range: Some(search_data.context_range.clone()),
|
||||
};
|
||||
let label_element = outline::render_item(&outline_item, match_ranges.iter().cloned(), cx);
|
||||
let label_element = outline::render_item(
|
||||
&OutlineItem {
|
||||
depth,
|
||||
annotation_range: None,
|
||||
range: search_data.context_range.clone(),
|
||||
text: search_data.context_text.clone(),
|
||||
source_range_for_text: search_data.context_range.clone(),
|
||||
highlight_ranges: search_data
|
||||
.highlights_data
|
||||
.get()
|
||||
.cloned()
|
||||
.unwrap_or_default(),
|
||||
name_ranges: search_data.search_match_indices.clone(),
|
||||
body_range: Some(search_data.context_range.clone()),
|
||||
},
|
||||
match_ranges.iter().cloned(),
|
||||
cx,
|
||||
);
|
||||
let truncated_contents_label = || Label::new(TRUNCATED_CONTEXT_MARK);
|
||||
let entire_label = h_flex()
|
||||
.justify_center()
|
||||
|
|
|
|||
Loading…
Reference in a new issue