[package]
edition = "2024"
rust-version = "1.89"
name = "thread-language"
version = "0.1.1"
build = false
include = [
"CHANGELOG.md",
"CONTRIBUTING.md",
"CONTRIBUTORS_LICENSE_AGREEMENT.md",
"LICENSE.md",
"README.md",
"VENDORED.md",
"examples/**",
"sbom.spdx",
"src/**",
"tests/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Language definitions and parsers for Thread"
readme = "README.md"
keywords = [
"ast",
"codemod",
"languages",
]
categories = [
"artificial-intelligence",
"command-line-utilities",
"development-tools",
"parser-implementations",
"text-processing",
]
license = "AGPL-3.0-or-later AND MIT"
repository = "https://github.com/knitli/thread"
[features]
all-parsers = [
"bash",
"c",
"cpp",
"csharp",
"css",
"elixir",
"go",
"haskell",
"hcl",
"html",
"html-embedded",
"java",
"javascript",
"json",
"kotlin",
"lua",
"nix",
"php",
"python",
"ruby",
"rust",
"scala",
"solidity",
"swift",
"tree-sitter-parsing",
"tsx",
"typescript",
"yaml",
]
bash = [
"tree-sitter-bash",
"tree-sitter-parsing",
]
c = [
"tree-sitter-c",
"tree-sitter-parsing",
]
cpp = [
"tree-sitter-cpp",
"tree-sitter-parsing",
]
csharp = [
"tree-sitter-c-sharp",
"tree-sitter-parsing",
]
css = [
"tree-sitter-css",
"tree-sitter-parsing",
]
css-napi = [
"napi-environment",
"tree-sitter-css",
]
default = [
"all-parsers",
"mimalloc",
"tree-sitter-parsing",
]
elixir = [
"tree-sitter-elixir",
"tree-sitter-parsing",
]
go = [
"tree-sitter-go",
"tree-sitter-parsing",
]
haskell = [
"tree-sitter-haskell",
"tree-sitter-parsing",
]
hcl = [
"tree-sitter-hcl",
"tree-sitter-parsing",
]
html = [
"tree-sitter-html",
"tree-sitter-parsing",
]
html-embedded = [
"css",
"html",
"javascript",
"matching",
"tree-sitter-parsing",
"tsx",
"typescript",
]
html-napi = [
"napi-environment",
"tree-sitter-html",
]
java = [
"tree-sitter-java",
"tree-sitter-parsing",
]
javascript = [
"tree-sitter-javascript",
"tree-sitter-parsing",
]
javascript-napi = [
"napi-environment",
"tree-sitter-javascript",
]
json = [
"tree-sitter-json",
"tree-sitter-parsing",
]
kotlin = [
"tree-sitter-kotlin",
"tree-sitter-parsing",
]
lua = [
"tree-sitter-lua",
"tree-sitter-parsing",
]
matching = [
"thread-ast-engine/matching",
"tree-sitter-parsing",
]
mimalloc = ["dep:mimalloc"]
napi-compatible = [
"css-napi",
"html-napi",
"javascript-napi",
"tsx-napi",
"typescript-napi",
]
napi-environment = []
nix = [
"tree-sitter-nix",
"tree-sitter-parsing",
]
no-enabled-langs = []
php = [
"tree-sitter-parsing",
"tree-sitter-php",
]
profiling = []
python = [
"tree-sitter-parsing",
"tree-sitter-python",
]
ruby = [
"tree-sitter-parsing",
"tree-sitter-ruby",
]
rust = [
"tree-sitter-parsing",
"tree-sitter-rust",
]
scala = [
"tree-sitter-parsing",
"tree-sitter-scala",
]
solidity = [
"tree-sitter-parsing",
"tree-sitter-solidity",
]
swift = [
"tree-sitter-parsing",
"tree-sitter-swift",
]
tree-sitter-parsing = ["thread-ast-engine/parsing"]
tsx = [
"tree-sitter-parsing",
"tree-sitter-typescript",
]
tsx-napi = [
"napi-environment",
"tree-sitter-typescript",
]
typescript = [
"tree-sitter-parsing",
"tree-sitter-typescript",
]
typescript-napi = [
"napi-environment",
"tree-sitter-typescript",
]
worker = [
"thread-ast-engine/worker",
"thread-utilities/worker",
]
yaml = [
"tree-sitter-parsing",
"tree-sitter-yaml",
]
[lib]
name = "thread_language"
path = "src/lib.rs"
[dependencies.aho-corasick]
version = "1.1.4"
[dependencies.cfg-if]
version = "1.0.4"
[dependencies.ignore]
version = "0.4.25"
[dependencies.mimalloc]
version = "0.1.48"
features = ["v3"]
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.thread-ast-engine]
version = "0.1.0"
default-features = false
[dependencies.thread-utilities]
version = "0.1.3"
features = ["hashers"]
default-features = false
[dependencies.tree-sitter]
version = ">=0.25.0"
[dependencies.tree-sitter-bash]
version = "0.25.0"
optional = true
[dependencies.tree-sitter-c]
version = "0.24.1"
optional = true
[dependencies.tree-sitter-c-sharp]
version = "0.23.1"
optional = true
[dependencies.tree-sitter-cpp]
version = "0.23.4"
optional = true
[dependencies.tree-sitter-css]
version = "0.25.0"
optional = true
[dependencies.tree-sitter-elixir]
version = "0.3.4"
optional = true
[dependencies.tree-sitter-go]
version = "0.25.0"
optional = true
[dependencies.tree-sitter-haskell]
version = "0.23.1"
optional = true
[dependencies.tree-sitter-hcl]
version = "1.1.0"
optional = true
[dependencies.tree-sitter-html]
version = "0.23.2"
optional = true
[dependencies.tree-sitter-java]
version = "0.23.5"
optional = true
[dependencies.tree-sitter-javascript]
version = "0.25.0"
optional = true
[dependencies.tree-sitter-json]
version = "0.24.8"
optional = true
[dependencies.tree-sitter-kotlin]
version = "0.4.0"
optional = true
package = "tree-sitter-kotlin-sg"
[dependencies.tree-sitter-lua]
version = "0.4.1"
optional = true
[dependencies.tree-sitter-nix]
version = "0.3.0"
optional = true
[dependencies.tree-sitter-php]
version = "0.24.2"
optional = true
[dependencies.tree-sitter-python]
version = "0.25.0"
optional = true
[dependencies.tree-sitter-ruby]
version = "0.23.1"
optional = true
[dependencies.tree-sitter-rust]
version = "0.24.0"
optional = true
[dependencies.tree-sitter-scala]
version = "0.24.0"
optional = true
[dependencies.tree-sitter-solidity]
version = "1.2.13"
optional = true
[dependencies.tree-sitter-swift]
version = "0.7.1"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.23.2"
optional = true
[dependencies.tree-sitter-yaml]
version = "0.7.1"
optional = true
[dev-dependencies.criterion]
version = "0.8.2"
features = ["html_reports"]
[dev-dependencies.thread-ast-engine]
version = "0.1.0"
features = [
"matching",
"parsing",
]
default-features = false
[build-dependencies.cc]
version = "1.2.30"