[package]
name = "search-semantically"
version = "0.1.6"
edition = "2024"
description = "Embeddable semantic code search with multi-signal POEM ranking"
repository = "https://github.com/Fizzizist/search-semantically"
documentation = "https://docs.rs/search-semantically/latest/search_semantically/"
license = "MIT"
keywords = ["search", "semantic", "code-search", "embedding", "poem"]
categories = ["development-tools", "text-processing"]

[dev-dependencies]
tempfile = "3"

[features]
default = ["ts-rust"]
ts-rust = ["dep:tree-sitter-rust"]
ts-typescript = ["dep:tree-sitter-typescript"]
ts-python = ["dep:tree-sitter-python"]
ts-go = ["dep:tree-sitter-go"]
ts-java = ["dep:tree-sitter-java"]
ts-c = ["dep:tree-sitter-c"]
ts-cpp = ["dep:tree-sitter-cpp"]

[dependencies]
anyhow = "1.0.102"
dirs = "6.0.0"
ignore = "0.4.25"
ndarray = "0.17.2"
ort = { version = "2.0.0-rc.12", features = ["load-dynamic"] }
reqwest = { version = "0.13.2", features = ["blocking"] }
rusqlite = { version = "0.39.0", features = ["bundled"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
tokenizers = "0.22.2"
tree-sitter = "0.26.8"
tree-sitter-c = { version = "0.24.1", optional = true }
tree-sitter-cpp = { version = "0.23.4", optional = true }
tree-sitter-go = { version = "0.25.0", optional = true }
tree-sitter-java = { version = "0.23.5", optional = true }
tree-sitter-python = { version = "0.25.0", optional = true }
tree-sitter-rust = { version = "0.24.2", optional = true }
tree-sitter-typescript = { version = "0.23.2", optional = true }
