[package]
name = "omengrep"
version = "0.0.3"
edition = "2024"
license = "MIT"
description = "Semantic code search — multi-vector embeddings + BM25"
repository = "https://github.com/nijaru/omengrep"
homepage = "https://github.com/nijaru/omengrep"
keywords = ["search", "semantic", "code", "grep", "embeddings"]
categories = ["command-line-utilities", "development-tools"]

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

[dependencies]
# CLI
clap = { version = "4", features = ["derive"] }
owo-colors = "4"
indicatif = "0.18"

# Embedding inference
ort = { version = "2.0.0-rc.12", features = ["download-binaries"] }
tokenizers = { version = "0.22", default-features = false, features = ["onig"] }
ndarray = "0.17"

# Vector database
omendb = "0.0.37"

# Tree-sitter
tree-sitter = "0.26"
tree-sitter-python = "0.25"
tree-sitter-javascript = "0.25"
tree-sitter-typescript = "0.23"
tree-sitter-rust = "0.24"
tree-sitter-go = "0.25"
tree-sitter-c = "0.24"
tree-sitter-cpp = "0.23"
tree-sitter-java = "0.23"
tree-sitter-ruby = "0.23"
tree-sitter-c-sharp = "0.23"
tree-sitter-bash = "0.25"
tree-sitter-php = "0.24"
tree-sitter-kotlin-ng = "1"
tree-sitter-lua = "0.5"
tree-sitter-swift = "0.7"
tree-sitter-elixir = "0.3"
tree-sitter-zig = "1"
tree-sitter-yaml = "0.7"
tree-sitter-toml-ng = "0.7"
tree-sitter-json = "0.24"
tree-sitter-html = "0.23"
tree-sitter-css = "0.25"
tree-sitter-hcl = "1"

# File walking
ignore = "0.4"

# Model download
hf-hub = "0.5"

# Parallelism
rayon = "1"

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# Error handling
anyhow = "1"
thiserror = "2"

# Hashing
blake3 = "1"

# Regex
regex = "1"

# Directory traversal (for find_subdir_indexes)
walkdir = "2"
rand = "0.10.1"

[dev-dependencies]
tempfile = "3"
assert_cmd = "2"
predicates = "3"
divan = "0.1.21"

[[bench]]
name = "omendb"
harness = false

[profile.release]
lto = "thin"
codegen-units = 1
