[package]
name = "onoma"
version = "0.0.6"
edition = "2024"
rust-version = "1.88.0"

authors = ["Ryan Maber <ryan@ryanmaber.com>"]
license = "MIT"
description = "A fast, language-agnostic semantic symbol indexer and typo-resistant fuzzy finder, enabling real-time search across virtually unlimited code symbols without the need for language servers."
keywords = ["fuzzy-finder", "tree-sitter", "symbol", "semantic"]
categories = ["development-tools", "filesystem", "parser-implementations"]
readme = "README.md"

homepage = "https://ryanmaber.com"
repository = "https://github.com/ryanmab/onoma"

[badges]
maintenance = { status = "passively-maintained" }

[dependencies]
itertools = "0.14.0"
log = "0.4.29"
notify = "8.2.0"
notify-debouncer-mini =  "0.7.0"
thiserror = "2.0.18"
tokio = { version = "1.48.0", features=["macros"]}
tree-sitter =  "0.26.3"
tree-sitter-language = "0.1.6"
ignore = "0.4.25"
sqlx = { version = "0.8.6", features = ["chrono", "runtime-tokio", "sqlite"] }
chrono = "0.4.42"
sha2 = "0.10.9"
hex = "0.4.3"
strum = { version = "0.27.2", features = ["strum_macros"] }
strum_macros = "0.27.2"
tokio-stream = { version = "0.1.17", features = ["sync"] }
serde = { version = "1.0.228", features = ["serde_derive"] }
serde_json = "1.0.149"
ignored = "0.0.1"
frizbee = "0.8.2"

# Supported languages
tree-sitter-go = "0.25.0"
tree-sitter-rust = "0.24.0"
tree-sitter-lua = "0.2.0"
tree-sitter-typescript = "0.23.2"
tree-sitter-clojure-orchard = "0.2.5"
tree-sitter-javascript = "0.25.0"
tree-sitter-python = "0.25.0"

[dev-dependencies]
rstest = { version = "0.26.1", features = []}
insta = { version = "1.45.1", features = ["json", "redactions"]}
tempfile = "3.24.0"
mockall = "0.14.0"

[profile.release]
lto = true

[profile.dev.package.insta]
opt-level = 3

[profile.dev.package.similar]
opt-level = 3
