diff --git a/Cargo.lock b/Cargo.lock index 8128f097..4a39fa88 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -425,6 +425,7 @@ dependencies = [ "tree-sitter-highlight", "tui-term", "unicode-width 0.2.0", + "vt100-ctt", "zips", ] @@ -1096,7 +1097,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72af159125ce32b02ceaced6cffae6394b0e6b6dfd4dc164a6c59a2db9b3c0b0" dependencies = [ "ratatui", - "vt100", ] [[package]] @@ -1147,9 +1147,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] -name = "vt100" -version = "0.15.2" -source = "git+https://github.com/ChrisTitusTech/vt100-rust#e41fb3d8fb5fd01dd2d076c9a25823a31656012f" +name = "vt100-ctt" +version = "0.15.3" +source = "git+https://github.com/ChrisTitusTech/vt100-rust#39136a6232d043d8447afa7d47805b6f6baa09ee" dependencies = [ "itoa", "log", diff --git a/Cargo.toml b/Cargo.toml index 1c032ad4..27b31878 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,9 +8,6 @@ members = ["tui", "core", "xtask"] default-members = ["tui", "core"] resolver = "2" -[patch.crates-io] -vt100 = { git = "https://github.com/ChrisTitusTech/vt100-rust" } - [profile.release] opt-level = "z" debug = false diff --git a/tui/Cargo.toml b/tui/Cargo.toml index f5486f62..35a02a30 100644 --- a/tui/Cargo.toml +++ b/tui/Cargo.toml @@ -18,7 +18,7 @@ clap = { version = "4.5.20", features = ["derive", "std"], default-features = fa oneshot = { version = "0.1.8", features = ["std"], default-features = false } portable-pty = "0.8.1" ratatui = { version = "0.29.0", features = ["crossterm"], default-features = false } -tui-term = "0.2.0" +tui-term = { version = "0.2.0", default-features = false } temp-dir = "0.1.14" time = { version = "0.3.36", features = ["formatting", "local-offset", "macros"], default-features = false } unicode-width = { version = "0.2.0", default-features = false } @@ -31,6 +31,7 @@ anstyle = { version = "1.0.8", default-features = false } ansi-to-tui = { version = "7.0.0", default-features = false } zips = "0.1.7" nix = { version = "0.29.0", features = [ "user" ] } +vt100-ctt = { git = "https://github.com/ChrisTitusTech/vt100-rust" } [[bin]] name = "linutil" diff --git a/tui/src/running_command.rs b/tui/src/running_command.rs index c3b3d3d4..d45c37c5 100644 --- a/tui/src/running_command.rs +++ b/tui/src/running_command.rs @@ -18,10 +18,9 @@ use std::{ thread::JoinHandle, }; use time::{macros::format_description, OffsetDateTime}; -use tui_term::{ - vt100::{self, Screen}, - widget::PseudoTerminal, -}; +use tui_term::widget::PseudoTerminal; +use vt100_ctt::{Parser, Screen}; + pub struct RunningCommand { /// A buffer to save all the command output (accumulates, until the command exits) buffer: Arc>>, @@ -285,7 +284,7 @@ impl RunningCommand { // Process the buffer with a parser with the current screen size // We don't actually need to create a new parser every time, but it is so much easier this // way, and doesn't cost that much - let mut parser = vt100::Parser::new(size.height, size.width, 1000); + let mut parser = Parser::new(size.height, size.width, 1000); let mutex = self.buffer.lock(); let buffer = mutex.as_ref().unwrap(); parser.process(buffer);