repl: Create better terminal output for REPL stdio (#15715)

Rely on our implementation of a GPUI powered alacritty terminal to
render stdout & stderr from the repl.

Release Notes:

- Fixed ANSI escape code and carriage return handling in repl outputs
(https://github.com/zed-industries/zed/issues/15640,
https://github.com/zed-industries/zed/issues/14855)


https://github.com/user-attachments/assets/bd3f1584-863a-4afa-b60b-9d222a830ff8

---------

Co-authored-by: Mikayla <mikayla@zed.dev>
This commit is contained in:
Kyle Kelley 2024-08-03 05:48:16 -07:00 committed by GitHub
parent b6a3556a32
commit 4528e9d582
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 168 additions and 398 deletions

View file

@ -13,7 +13,7 @@ path = "src/terminal.rs"
doctest = false
[dependencies]
alacritty_terminal = { git = "https://github.com/alacritty/alacritty", rev = "cacdb5bb3b72bad2c729227537979d95af75978f" }
alacritty_terminal.workspace = true
anyhow.workspace = true
collections.workspace = true
dirs.workspace = true

View file

@ -142,7 +142,7 @@ enum InternalEvent {
///A translation struct for Alacritty to communicate with us from their event loop
#[derive(Clone)]
pub struct ZedListener(UnboundedSender<AlacTermEvent>);
pub struct ZedListener(pub UnboundedSender<AlacTermEvent>);
impl EventListener for ZedListener {
fn send_event(&self, event: AlacTermEvent) {