-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
95 lines (83 loc) · 2.71 KB
/
Copy pathCargo.toml
File metadata and controls
95 lines (83 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
[workspace]
resolver = "2"
members = [
"crates/aether-protocol",
"crates/aether-server",
"crates/aether-tui",
"crates/aether-client",
"crates/aether-iced",
"crates/aether-web",
"crates/aether-ae",
]
[workspace.package]
version = "0.2.0"
edition = "2021"
license = "MIT"
[workspace.dependencies]
aether-protocol = { path = "crates/aether-protocol" }
aether-client = { path = "crates/aether-client" }
aether-server = { path = "crates/aether-server" }
aether-tui = { path = "crates/aether-tui" }
aether-iced = { path = "crates/aether-iced" }
# Serde / JSON-RPC
serde = { version = "1", features = ["derive"] }
serde_json = "1"
uuid = { version = "1", features = ["v4", "serde", "js"] }
# OS entropy for the Randomize transform (explicitly password-suitable, so not `fastrand`).
getrandom = "0.3"
# Markdown (hover popovers) — parsed once in the core into an AST the shells render. Only the
# parser is needed (no HTML renderer); already present transitively via iced's markdown widget.
pulldown-cmark = { version = "0.12", default-features = false }
# Async runtime & WebSocket transport
tokio = { version = "1", features = ["rt-multi-thread", "macros", "io-util", "net", "time", "sync", "signal", "fs"] }
tokio-tungstenite = "0.29"
futures-util = "0.3"
# Diagnostics
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# CLI
clap = { version = "4", features = ["derive"] }
# Error handling
anyhow = "1"
thiserror = "2"
# Server-only
ropey = "1"
regex = "1"
tree-sitter = "0.26"
tree-sitter-rust = "0.24"
tree-sitter-md = "0.5"
tree-sitter-toml-ng = "0.7"
tree-sitter-html = "0.23"
tree-sitter-javascript = "0.25"
tree-sitter-typescript = "0.23"
tree-sitter-python = "0.25"
tree-sitter-go = "0.25"
tree-sitter-elixir = "0.3"
tree-sitter-erlang = "0.19"
tree-sitter-css = "0.25"
tree-sitter-bash = "0.25"
tree-sitter-json = "0.24"
tree-sitter-yaml = "0.7"
# Quiver grammar, tracking the upstream repo's `main` branch (the crate lives in its `tree-sitter`
# subdirectory; Cargo resolves it by package name). Cargo.lock pins the exact commit.
tree-sitter-quiver = { git = "https://github.com/joefreeman/quiver", branch = "main" }
streaming-iterator = "0.1"
# Git integration (diff/blame). Local-only: default features (ssh/https/network) disabled so
# the build doesn't pull in openssl/libssh2 — we never talk to a remote.
git2 = { version = "0.21", default-features = false }
notify = "8"
toml = "1"
directories = "6"
trash = "5"
nucleo-matcher = "0.3"
ignore = "0.4"
grep-searcher = "0.1"
grep-regex = "0.1"
grep-matcher = "0.1"
# TUI-only
ratatui = "0.30"
crossterm = "0.29"
arboard = "3"
unicode-width = "0.2"
# iced-client-only
iced = { version = "0.14", features = ["tokio", "advanced", "markdown"] }