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},
|
wrap_map::{self, WrapEdit, WrapPoint, WrapSnapshot},
|
||||||
Highlights,
|
Highlights,
|
||||||
};
|
};
|
||||||
use crate::{Anchor, Editor, ExcerptId, ExcerptRange, ToPoint as _};
|
use crate::{Anchor, Editor, EditorStyle, ExcerptId, ExcerptRange, ToPoint as _};
|
||||||
use collections::{Bound, HashMap, HashSet};
|
use collections::{Bound, HashMap, HashSet};
|
||||||
use gpui::{AnyElement, Pixels, ViewContext};
|
use gpui::{AnyElement, Pixels, ViewContext};
|
||||||
use language::{BufferSnapshot, Chunk, Patch, Point};
|
use language::{BufferSnapshot, Chunk, Patch, Point};
|
||||||
|
@ -88,6 +88,7 @@ pub struct BlockContext<'a, 'b> {
|
||||||
pub em_width: Pixels,
|
pub em_width: Pixels,
|
||||||
pub line_height: Pixels,
|
pub line_height: Pixels,
|
||||||
pub block_id: usize,
|
pub block_id: usize,
|
||||||
|
pub editor_style: &'b EditorStyle,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
||||||
|
|
|
@ -7796,9 +7796,35 @@ impl Editor {
|
||||||
position: range.start.clone(),
|
position: range.start.clone(),
|
||||||
height: 1,
|
height: 1,
|
||||||
render: Arc::new({
|
render: Arc::new({
|
||||||
let editor = rename_editor.clone();
|
let rename_editor = rename_editor.clone();
|
||||||
move |cx: &mut BlockContext| {
|
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,
|
disposition: BlockDisposition::Below,
|
||||||
|
|
|
@ -2010,6 +2010,7 @@ impl EditorElement {
|
||||||
gutter_width,
|
gutter_width,
|
||||||
em_width,
|
em_width,
|
||||||
block_id,
|
block_id,
|
||||||
|
editor_style: &self.style,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
TransformBlock::ExcerptHeader {
|
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 {
|
// impl EditorElement {
|
||||||
// type LayoutState = LayoutState;
|
// type LayoutState = LayoutState;
|
||||||
// type PaintState = ();
|
// type PaintState = ();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue