feat(gui): add ANSI escape sequence renderer with full panel integration

- new ansi_render module: SGR, cursor movement, erase, scroll
- integrate ANSI rendering into console panel output pipeline
- wire app_state, buffers, hex_view, and shortcuts for ANSI-aware display
- add test_ansi.py for manual ANSI sequence testing
This commit is contained in:
2026-06-14 04:12:35 +08:00
parent e600418da8
commit 4e4c9cee65
11 changed files with 819 additions and 55 deletions

21
Cargo.lock generated
View File

@@ -189,6 +189,16 @@ dependencies = [
"libc",
]
[[package]]
name = "ansitok"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0a8acea8c2f1c60f0a92a8cd26bf96ca97db56f10bbcab238bbe0cceba659ee"
dependencies = [
"nom 7.1.3",
"vte",
]
[[package]]
name = "anstream"
version = "1.0.0"
@@ -3297,6 +3307,7 @@ dependencies = [
name = "pipeview-gui"
version = "0.1.0"
dependencies = [
"ansitok",
"eframe",
"egui",
"egui_plot",
@@ -4720,6 +4731,16 @@ version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "vte"
version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "231fdcd7ef3037e8330d8e17e61011a2c244126acc0a982f4040ac3f9f0bc077"
dependencies = [
"arrayvec",
"memchr",
]
[[package]]
name = "vtparse"
version = "0.6.2"