mirror of
https://github.com/nyakang/nyaterm.git
synced 2026-10-04 00:00:53 +00:00
Icons were previously hand-added, so their provenance and licensing lived in folklore and a mis-painted asset was invisible at runtime: GPUI's `svg()` reduces a file to an alpha mask, and `img()` keeps its pixels, but nothing complains when the two are swapped. Assets are now described by `scripts/icons.manifest` and vendored by `scripts/sync-icons.sh` from pinned upstream releases, keeping the tree reproducible and reviewable. `icons/**` stays monochrome and `color/**` full colour; `scripts/check-icon-references.sh` fails the build when a referenced asset is missing or painted through the wrong element, and runs in CI. The lookup tables move out of `formatting/` into a dedicated `features/icons` module so a ~1000-line brand table is not rebuilt inside a render closure, and saved connections gain `icon_auto_detect`, which fills in a blank icon from the detected remote system without ever overwriting a deliberate choice.
84 lines
2.8 KiB
TOML
84 lines
2.8 KiB
TOML
[workspace]
|
|
members = [
|
|
"crates/nyaterm-app",
|
|
"crates/nyaterm-core",
|
|
"crates/nyaterm-desktop",
|
|
"crates/nyaterm-legacy",
|
|
"crates/nyaterm-otp",
|
|
"crates/nyaterm-store",
|
|
"crates/nyaterm-terminal",
|
|
"crates/nyaterm-terminal-gpui",
|
|
"crates/nyaterm-transport",
|
|
"crates/nyaterm-ui",
|
|
]
|
|
resolver = "3"
|
|
exclude = [
|
|
"vendor/russh",
|
|
"vendor/russh-sftp",
|
|
"vendor/zmodem2",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "1.1.12"
|
|
edition = "2024"
|
|
authors = ["Kang"]
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/nyakang/nyaterm"
|
|
|
|
[workspace.dependencies]
|
|
aes-gcm = "0.11"
|
|
alacritty_terminal = "0.26.0"
|
|
anyhow = "1"
|
|
async-http-proxy = { version = "1.2.5", features = ["runtime-tokio", "basic-auth"] }
|
|
base64 = "0.22"
|
|
bytes = "1.7"
|
|
digest = "0.11.0-rc.5"
|
|
dirs = "6"
|
|
encoding_rs = "0.8"
|
|
futures = "0.3"
|
|
gpui = "0.2.2"
|
|
hex = "0.4"
|
|
hmac = "0.13"
|
|
log = "0.4.11"
|
|
md5 = "0.8"
|
|
nyaterm-core = { path = "crates/nyaterm-core" }
|
|
nyaterm-desktop = { path = "crates/nyaterm-desktop" }
|
|
nyaterm-legacy = { path = "crates/nyaterm-legacy" }
|
|
nyaterm-otp = { path = "crates/nyaterm-otp" }
|
|
nyaterm-terminal = { path = "crates/nyaterm-terminal" }
|
|
nyaterm-terminal-gpui = { path = "crates/nyaterm-terminal-gpui" }
|
|
nyaterm-transport = { path = "crates/nyaterm-transport" }
|
|
nyaterm-ui = { path = "crates/nyaterm-ui" }
|
|
portable-pty = "0.9"
|
|
rand = { version = "0.10", features = ["thread_rng"] }
|
|
redb = "4.1.0"
|
|
regex = "1.11.1"
|
|
russh = { path = "vendor/russh/russh", features = ["des", "dsa"] }
|
|
russh-sftp = { path = "vendor/russh-sftp" }
|
|
rust-embed = { version = "8.11", features = ["include-exclude", "debug-embed"] }
|
|
serialport = { version = "4", default-features = false }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["raw_value"] }
|
|
sha1 = { version = "0.11", features = ["oid"] }
|
|
sha2 = { version = "0.11", features = ["oid"] }
|
|
signature = "3.0.0-rc.10"
|
|
thiserror = "2"
|
|
time = { version = "0.3.47", features = ["formatting", "local-offset", "macros"] }
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "fs", "process", "io-util"] }
|
|
tokio-socks = "0.5.2"
|
|
tracing = "0.1"
|
|
tracing-appender = "0.2.4"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
|
# Test-only. Feature set must mirror gpui's own usvg dependency (default-features
|
|
# = false) so asset tests cannot pass under capabilities the app does not build.
|
|
usvg = { version = "0.45", default-features = false }
|
|
uuid = { version = "1", features = ["v4", "serde"] }
|
|
vte = "0.14"
|
|
zmodem2 = { path = "vendor/zmodem2" }
|
|
zed_reqwest = { package = "zed-reqwest", version = "0.12.15-zed", default-features = false, features = [
|
|
"blocking",
|
|
"json",
|
|
"rustls-tls-native-roots",
|
|
] }
|
|
zip = { version = "8.2.0", default-features = false, features = ["deflate"] }
|