WIP
This commit is contained in:
parent
428be43710
commit
48b3a90fbf
3 changed files with 37 additions and 3 deletions
|
@ -2,7 +2,7 @@ use super::{
|
|||
wrap_map::{self, WrapEdit, WrapPoint, WrapSnapshot},
|
||||
Highlights,
|
||||
};
|
||||
use crate::{Anchor, Editor, ExcerptId, ExcerptRange, ToPoint as _};
|
||||
use crate::{Anchor, Editor, EditorStyle, ExcerptId, ExcerptRange, ToPoint as _};
|
||||
use collections::{Bound, HashMap, HashSet};
|
||||
use gpui::{AnyElement, Pixels, ViewContext};
|
||||
use language::{BufferSnapshot, Chunk, Patch, Point};
|
||||
|
@ -88,6 +88,7 @@ pub struct BlockContext<'a, 'b> {
|
|||
pub em_width: Pixels,
|
||||
pub line_height: Pixels,
|
||||
pub block_id: usize,
|
||||
pub editor_style: &'b EditorStyle,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
||||
|
|
|
@ -7796,9 +7796,35 @@ impl Editor {
|
|||
position: range.start.clone(),
|
||||
height: 1,
|
||||
render: Arc::new({
|
||||
let editor = rename_editor.clone();
|
||||
let rename_editor = rename_editor.clone();
|
||||
move |cx: &mut BlockContext| {
|
||||
div().pl(cx.anchor_x).child(editor.clone()).render()
|
||||
let text_style = 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,
|
||||
|_, _| {
|
||||
EditorElement::new(EditorStyle {
|
||||
background: cx.theme().system().transparent,
|
||||
local_player: cx.editor_style.local_player,
|
||||
text: text_style,
|
||||
scrollbar_width: cx.editor_style.scrollbar_width,
|
||||
syntax: cx.editor_style.syntax.clone(),
|
||||
diagnostic_style: cx
|
||||
.editor_style
|
||||
.diagnostic_style
|
||||
.clone(),
|
||||
})
|
||||
},
|
||||
))
|
||||
}
|
||||
}),
|
||||
disposition: BlockDisposition::Below,
|
||||
|
|
|
@ -2010,6 +2010,7 @@ impl EditorElement {
|
|||
gutter_width,
|
||||
em_width,
|
||||
block_id,
|
||||
editor_style: &self.style,
|
||||
})
|
||||
}
|
||||
TransformBlock::ExcerptHeader {
|
||||
|
@ -2658,6 +2659,12 @@ impl Element<Editor> for EditorElement {
|
|||
}
|
||||
}
|
||||
|
||||
impl Component<Editor> for EditorElement {
|
||||
fn render(self) -> AnyElement<Editor> {
|
||||
AnyElement::new(self)
|
||||
}
|
||||
}
|
||||
|
||||
// impl EditorElement {
|
||||
// type LayoutState = LayoutState;
|
||||
// type PaintState = ();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue