[package]
name = "sqry-cli"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "CLI for sqry - semantic code search"

[[bin]]
name = "sqry"
path = "src/main.rs"

[features]
default = []
# Enable MiniLM-L6-v2 ONNX intent classifier (adds ~57MB to binary, requires ONNX Runtime)
nl-classifier = ["sqry-nl/classifier"]
# Enable anonymous usage snapshot sharing (enables sqry-core/share)
share = ["sqry-core/share"]
# Enable JVM classpath analysis (Track C)
jvm-classpath = ["dep:sqry-classpath", "sqry-core/jvm-classpath"]

[dependencies]
sqry-core = { version = "11.0.3", path = "../sqry-core", features = ["uses", "insights", "troubleshoot"] }
sqry-db = { version = "11.0.3", path = "../sqry-db" }
sqry-daemon = { version = "11.0.3", path = "../sqry-daemon", default-features = false }
sqry-daemon-client = { version = "11.0.3", path = "../sqry-daemon-client" }
sqry-lang-rust = { version = "11.0.3", path = "../sqry-lang-rust" }
sqry-lsp = { version = "11.0.3", path = "../sqry-lsp" }
sqry-plugin-registry = { version = "11.0.3", path = "../sqry-plugin-registry" }
sqry-nl = { version = "11.0.3", path = "../sqry-nl", default-features = false }
sqry-classpath = { version = "11.0.3", path = "../sqry-classpath", optional = true }
anyhow.workspace = true
miette.workspace = true
once_cell.workspace = true
clap.workspace = true
clap_complete = "4.5"
colored.workspace = true
serde_json.workspace = true
serde.workspace = true
toml.workspace = true
regex.workspace = true
ignore.workspace = true
chrono.workspace = true
postcard.workspace = true
dirs = "6.0"
parking_lot.workspace = true
indicatif = "0.18.3"
rayon.workspace = true
log.workspace = true
crossbeam-channel.workspace = true
rustyline = "18"
walkdir.workspace = true
which = "8"
toml_edit = "0.22"
tree-sitter.workspace = true
lru.workspace = true
sha2.workspace = true
hex.workspace = true
notify = { version = "8.2", default-features = false, features = ["macos_fsevent"] }
tokio = { workspace = true }
# P2-29: Paging support
is-terminal = "0.4"      # TTY detection
terminal_size = "0.4"    # Cross-platform terminal size detection
shlex = "1.3"            # Shell-style command parsing
unicode-width = "0.2"    # Unicode-aware displayed width calculation

[target.'cfg(target_env = "musl")'.dependencies]
tikv-jemallocator = "0.6"
tikv-jemalloc-sys = { version = "0.6", features = ["unprefixed_malloc_on_supported_platforms"] }

[target.'cfg(unix)'.dependencies]
libc = "0.2"

[dev-dependencies]
tempfile = "3.14"
assert_cmd = "2.0"
predicates = "3.0"
sqry-core = { path = "../sqry-core", features = ["test-support"] }
postcard.workspace = true
trycmd = "1.2"
serial_test = "3.0"
tree-sitter-rust.workspace = true
