feat: complete Rust port of claude-statusline
Port the entire 2236-line bash statusline script to Rust. Implements all 25 sections, 3-phase layout engine (render, priority drop, flex/justify), file-based caching with flock, 9-level terminal width detection, trend sparklines, and deep-merge JSON config. Release binary: 864K with LTO. Render time: <1ms warm. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
37
Cargo.toml
Normal file
37
Cargo.toml
Normal file
@@ -0,0 +1,37 @@
|
||||
[package]
|
||||
name = "claude-statusline"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
description = "Fast, configurable status line for Claude Code"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/tayloreernisse/claude-statusline"
|
||||
|
||||
[[bin]]
|
||||
name = "claude-statusline"
|
||||
path = "src/bin/claude-statusline.rs"
|
||||
|
||||
[lib]
|
||||
name = "claude_statusline"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
md-5 = "0.10"
|
||||
unicode-width = "0.2"
|
||||
unicode-segmentation = "1"
|
||||
libc = "0.2"
|
||||
serde_path_to_error = "0.1"
|
||||
serde_ignored = "0.1"
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = { version = "0.5", features = ["html_reports"] }
|
||||
|
||||
[[bench]]
|
||||
name = "render"
|
||||
harness = false
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
codegen-units = 1
|
||||
strip = true
|
||||
Reference in New Issue
Block a user