mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-30 22:23:37 +03:00
added cursor text back
This commit is contained in:
parent
ee87c8ebde
commit
7c0a031506
@ -366,7 +366,7 @@ impl Terminal {
|
|||||||
|
|
||||||
pub fn render_lock<F, T>(&self, new_size: Option<TerminalDimensions>, f: F) -> T
|
pub fn render_lock<F, T>(&self, new_size: Option<TerminalDimensions>, f: F) -> T
|
||||||
where
|
where
|
||||||
F: FnOnce(RenderableContent) -> T,
|
F: FnOnce(RenderableContent, char) -> T,
|
||||||
{
|
{
|
||||||
if let Some(new_size) = new_size {
|
if let Some(new_size) = new_size {
|
||||||
self.pty_tx.0.send(Msg::Resize(new_size.into())).ok(); //Give the PTY a chance to react to the new size
|
self.pty_tx.0.send(Msg::Resize(new_size.into())).ok(); //Give the PTY a chance to react to the new size
|
||||||
@ -380,7 +380,9 @@ impl Terminal {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let content = term.renderable_content();
|
let content = term.renderable_content();
|
||||||
f(content)
|
let cursor_text = term.grid()[content.cursor.point].c;
|
||||||
|
|
||||||
|
f(content, cursor_text)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_display_offset(&self) -> usize {
|
pub fn get_display_offset(&self) -> usize {
|
||||||
|
@ -333,7 +333,7 @@ impl Element for TerminalEl {
|
|||||||
let terminal = self.connection.upgrade(cx).unwrap().read(cx);
|
let terminal = self.connection.upgrade(cx).unwrap().read(cx);
|
||||||
|
|
||||||
let (cursor, cells, rects, highlights) =
|
let (cursor, cells, rects, highlights) =
|
||||||
terminal.render_lock(Some(layout.size.clone()), |content| {
|
terminal.render_lock(Some(layout.size.clone()), |content, cursor_text| {
|
||||||
let (cells, rects, highlights) = layout_grid(
|
let (cells, rects, highlights) = layout_grid(
|
||||||
content.display_iter,
|
content.display_iter,
|
||||||
&layout.text_style,
|
&layout.text_style,
|
||||||
@ -345,7 +345,7 @@ impl Element for TerminalEl {
|
|||||||
|
|
||||||
//Layout cursor
|
//Layout cursor
|
||||||
let cursor = layout_cursor(
|
let cursor = layout_cursor(
|
||||||
// grid,
|
cursor_text,
|
||||||
cx.text_layout_cache,
|
cx.text_layout_cache,
|
||||||
&layout,
|
&layout,
|
||||||
content.cursor.point,
|
content.cursor.point,
|
||||||
@ -522,14 +522,14 @@ impl Element for TerminalEl {
|
|||||||
|
|
||||||
///TODO: Fix cursor rendering with alacritty fork
|
///TODO: Fix cursor rendering with alacritty fork
|
||||||
fn layout_cursor(
|
fn layout_cursor(
|
||||||
// grid: &Grid<Cell>,
|
cursor_text: char,
|
||||||
text_layout_cache: &TextLayoutCache,
|
text_layout_cache: &TextLayoutCache,
|
||||||
tcx: &TerminalLayoutData,
|
tcx: &TerminalLayoutData,
|
||||||
cursor_point: Point,
|
cursor_point: Point,
|
||||||
display_offset: usize,
|
display_offset: usize,
|
||||||
constraint: SizeConstraint,
|
constraint: SizeConstraint,
|
||||||
) -> Option<Cursor> {
|
) -> Option<Cursor> {
|
||||||
let cursor_text = layout_cursor_text(/*grid,*/ cursor_point, text_layout_cache, tcx);
|
let cursor_text = layout_cursor_text(cursor_text, cursor_point, text_layout_cache, tcx);
|
||||||
get_cursor_shape(
|
get_cursor_shape(
|
||||||
cursor_point.line.0 as usize,
|
cursor_point.line.0 as usize,
|
||||||
cursor_point.column.0 as usize,
|
cursor_point.column.0 as usize,
|
||||||
@ -558,13 +558,12 @@ fn layout_cursor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn layout_cursor_text(
|
fn layout_cursor_text(
|
||||||
// grid: &Grid<Cell>,
|
cursor_text: char,
|
||||||
_cursor_point: Point,
|
_cursor_point: Point,
|
||||||
text_layout_cache: &TextLayoutCache,
|
text_layout_cache: &TextLayoutCache,
|
||||||
tcx: &TerminalLayoutData,
|
tcx: &TerminalLayoutData,
|
||||||
) -> Line {
|
) -> Line {
|
||||||
let cursor_text = " "; //grid[cursor_point.line][cursor_point.column].c.to_string();
|
let cursor_text = cursor_text.to_string();
|
||||||
|
|
||||||
text_layout_cache.layout_str(
|
text_layout_cache.layout_str(
|
||||||
&cursor_text,
|
&cursor_text,
|
||||||
tcx.text_style.font_size,
|
tcx.text_style.font_size,
|
||||||
|
@ -57,7 +57,7 @@ impl<'a> TerminalTestContext<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn grid_as_str(connection: &Terminal) -> String {
|
fn grid_as_str(connection: &Terminal) -> String {
|
||||||
connection.render_lock(None, |content| {
|
connection.render_lock(None, |content, _| {
|
||||||
let lines = content.display_iter.group_by(|i| i.point.line.0);
|
let lines = content.display_iter.group_by(|i| i.point.line.0);
|
||||||
lines
|
lines
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
Loading…
Reference in New Issue
Block a user