[package]
edition = "2021"
name = "syntext"
version = "1.1.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Hybrid code search index for agent workflows"
readme = "README.md"
keywords = [
"search",
"code-search",
"index",
"grep",
"trigram",
]
categories = [
"command-line-utilities",
"development-tools",
"text-processing",
]
license = "MIT"
repository = "https://github.com/whit3rabbit/syntext"
[package.metadata.deb]
name = "syntext"
maintainer = "syntext contributors"
copyright = "2026, syntext contributors"
license-file = [
"LICENSE",
"4",
]
extended-description = "Hybrid code search index for agent workflows. Sparse n-gram content index with Roaring bitmap path index and optional Tree-sitter symbol index."
section = "utils"
priority = "optional"
assets = [[
"target/release/st",
"usr/bin/st",
"755",
]]
[features]
default = [
"memmap2",
"rayon",
"fs2",
"ignore",
"clap",
]
symbols = [
"tree-sitter",
"rusqlite",
"tree-sitter-rust",
"tree-sitter-python",
"tree-sitter-javascript",
"tree-sitter-typescript",
"tree-sitter-go",
"tree-sitter-java",
"tree-sitter-c",
"tree-sitter-cpp",
]
wasm = [
"wasm-bindgen",
"serde-wasm-bindgen",
"getrandom",
"js-sys",
]
[lib]
name = "syntext"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "st"
path = "src/main.rs"
required-features = ["clap"]
[[test]]
name = "boundary_fuzz"
path = "tests/unit/boundary_fuzz.rs"
[[test]]
name = "cli"
path = "tests/integration/cli.rs"
[[test]]
name = "correctness"
path = "tests/integration/correctness.rs"
[[test]]
name = "incremental"
path = "tests/integration/incremental.rs"
[[test]]
name = "index_build"
path = "tests/integration/index_build.rs"
[[test]]
name = "overlay"
path = "tests/unit/overlay.rs"
[[test]]
name = "posting"
path = "tests/unit/posting.rs"
[[test]]
name = "query"
path = "tests/unit/query.rs"
[[test]]
name = "symbols"
path = "tests/integration/symbols.rs"
required-features = ["symbols"]
[[test]]
name = "tokenizer"
path = "tests/unit/tokenizer.rs"
[[bench]]
name = "index_build"
path = "benches/index_build.rs"
harness = false
[[bench]]
name = "query_latency"
path = "benches/query_latency.rs"
harness = false
[[bench]]
name = "selectivity"
path = "benches/selectivity.rs"
harness = false
[dependencies.arc-swap]
version = "1"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
optional = true
[dependencies.fs2]
version = "0.4"
optional = true
[dependencies.getrandom]
version = "0.2"
features = ["js"]
optional = true
[dependencies.ignore]
version = "0.4"
optional = true
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.memchr]
version = "2"
[dependencies.memmap2]
version = "0.9"
optional = true
[dependencies.rayon]
version = "1"
optional = true
[dependencies.regex]
version = "1"
[dependencies.regex-syntax]
version = "0.8"
[dependencies.roaring]
version = "0.11"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde-wasm-bindgen]
version = "0.6"
optional = true
[dependencies.serde_json]
version = "1"
[dependencies.uuid]
version = "1"
features = [
"v4",
"js",
]
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh64"]
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[target."cfg(unix)".dependencies.rusqlite]
version = "0.32"
features = ["bundled"]
optional = true
[target."cfg(unix)".dependencies.tree-sitter]
version = "0.26"
optional = true
[target."cfg(unix)".dependencies.tree-sitter-c]
version = "0.24"
optional = true
[target."cfg(unix)".dependencies.tree-sitter-cpp]
version = "0.23"
optional = true
[target."cfg(unix)".dependencies.tree-sitter-go]
version = "0.25"
optional = true
[target."cfg(unix)".dependencies.tree-sitter-java]
version = "0.23"
optional = true
[target."cfg(unix)".dependencies.tree-sitter-javascript]
version = "0.25"
optional = true
[target."cfg(unix)".dependencies.tree-sitter-python]
version = "0.25"
optional = true
[target."cfg(unix)".dependencies.tree-sitter-rust]
version = "0.24"
optional = true
[target."cfg(unix)".dependencies.tree-sitter-typescript]
version = "0.23"
optional = true