Implemented cell for mouse pointer
This commit is contained in:
parent
7588c58067
commit
4dbded3f02
5 changed files with 159 additions and 31 deletions
|
@ -1,10 +1,17 @@
|
|||
use std::{path::Path, time::Duration};
|
||||
|
||||
use alacritty_terminal::{
|
||||
index::{Column, Line, Point},
|
||||
term::cell::Cell,
|
||||
};
|
||||
use gpui::{ModelHandle, TestAppContext, ViewHandle};
|
||||
|
||||
use project::{Entry, Project, ProjectPath, Worktree};
|
||||
use rand::{rngs::ThreadRng, Rng};
|
||||
use workspace::{AppState, Workspace};
|
||||
|
||||
use crate::{IndexedCell, TerminalContent, TerminalSize};
|
||||
|
||||
pub struct TerminalTestContext<'a> {
|
||||
pub cx: &'a mut TestAppContext,
|
||||
}
|
||||
|
@ -86,6 +93,39 @@ impl<'a> TerminalTestContext<'a> {
|
|||
project.update(cx, |project, cx| project.set_active_path(Some(p), cx));
|
||||
});
|
||||
}
|
||||
|
||||
pub fn create_terminal_content(
|
||||
size: TerminalSize,
|
||||
rng: &mut ThreadRng,
|
||||
) -> (TerminalContent, Vec<Vec<char>>) {
|
||||
let mut ic = Vec::new();
|
||||
let mut cells = Vec::new();
|
||||
|
||||
for row in 0..((size.height() / size.line_height()) as usize) {
|
||||
let mut row_vec = Vec::new();
|
||||
for col in 0..((size.width() / size.cell_width()) as usize) {
|
||||
let cell_char = rng.gen();
|
||||
ic.push(IndexedCell {
|
||||
point: Point::new(Line(row as i32), Column(col)),
|
||||
cell: Cell {
|
||||
c: cell_char,
|
||||
..Default::default()
|
||||
},
|
||||
});
|
||||
row_vec.push(cell_char)
|
||||
}
|
||||
cells.push(row_vec)
|
||||
}
|
||||
|
||||
(
|
||||
TerminalContent {
|
||||
cells: ic,
|
||||
size,
|
||||
..Default::default()
|
||||
},
|
||||
cells,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> Drop for TerminalTestContext<'a> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue