client-core: port the ANSI parser, syntax highlighter and markdown scanner

Ports app/.../Ansi.kt, Highlighter.kt, Languages.kt and MarkdownSyntax.kt
to client-core, module for module, with every HighlighterTest and
AnsiTest case ported alongside (49 tests total). ansi.rs replaces
Compose's AnnotatedString/SpanStyle with a plain StyledText/Style pair
so the crate stays free of any UI framework, per RUST.md.

cargo test (49 passed), clippy --all-targets and fmt clean.

Co-Authored-By: Claude Sonnet <noreply@anthropic.com>
This commit is contained in:
irisandClaude Sonnet committed 2026-09-04 22:47:41 -04:00
1 parent 62dd6b7912
commit 762c1290a1
7 files changed
+3495

No files matched your search

+8
View File
@@ -0,0 +1,8 @@
//! The app's pure logic, shared between the server and any Rust client --
//! see `CLIENT_CORE.md` at the repo root for what lives here and what does
//! not yet.
pub mod ansi;
pub mod highlight;
pub use event_model::*;