chore: scaffold Cargo workspace for the Ghostty rewrite
Start of the full Rust rewrite of Ghostty 1.3.1 (reference source in
../ghostty). Sets up a workspace whose crates mirror Ghostty's Zig modules
(vt, unicode, datastruct, os, input, config, terminal, font, renderer,
termio, core, apprt-gtk) so porting work can proceed in parallel per crate.
Also adds:
- docs/rewrite/{ARCHITECTURE,PLAN,STATUS,AGENT_GUIDE}.md: crate map, core
design decisions (safe Rust, slab-based PageList, logical capacity
accounting), phased plan, progress tracker, and porting rules.
- Workspace clippy config relaxing pedantic lints that are pure noise for
low-level terminal code (casts, long functions).
- Shared vt types needed by several work packages up front: kitty
keyboard flags (kitty/key.rs) and the CSI separator bitset (SepList).
Test Plan:
- cargo test -p ghostty-vt (3 tests pass)
- cargo clippy -p ghostty-vt --all-targets -- -D warnings
This commit is contained in:
1 parent
8dfec20bca
commit
864ef82acb
34 files changed
+759
-4
No files matched your search
Generated
+96
@@ -2,6 +2,102 @@
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-apprt-gtk"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ghostty-config",
|
||||
"ghostty-core",
|
||||
"ghostty-input",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-config"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ghostty-input",
|
||||
"ghostty-os",
|
||||
"ghostty-vt",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-core"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ghostty-config",
|
||||
"ghostty-datastruct",
|
||||
"ghostty-font",
|
||||
"ghostty-input",
|
||||
"ghostty-os",
|
||||
"ghostty-renderer",
|
||||
"ghostty-terminal",
|
||||
"ghostty-termio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-datastruct"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-font"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ghostty-config",
|
||||
"ghostty-terminal",
|
||||
"ghostty-unicode",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-input"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ghostty-vt",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-os"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-renderer"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ghostty-config",
|
||||
"ghostty-font",
|
||||
"ghostty-terminal",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-rs"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ghostty-apprt-gtk",
|
||||
"ghostty-config",
|
||||
"ghostty-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-terminal"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ghostty-datastruct",
|
||||
"ghostty-unicode",
|
||||
"ghostty-vt",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-termio"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ghostty-config",
|
||||
"ghostty-os",
|
||||
"ghostty-terminal",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-unicode"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "ghostty-vt"
|
||||
version = "0.1.0"
|
||||
Reference in new issue
Block a user