[package]
edition = "2024"
name = "lean-ctx-syntax"
version = "0.1.0"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Tree-sitter based code structure for LeanCTX | OSS: signatures, deep AST queries, import resolution and the post-edit syntax gate."
homepage = "https://leanctx.com"
readme = "README.md"
keywords = [
"lean-ctx",
"tree-sitter",
"signatures",
"ast",
"llm",
]
categories = [
"parsing",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/yvgude/lean-ctx"
[features]
default = []
grammar-haskell = [
"tree-sitter",
"dep:tree-sitter-haskell",
]
grammar-julia = [
"tree-sitter",
"dep:tree-sitter-julia",
]
grammar-ocaml = [
"tree-sitter",
"dep:tree-sitter-ocaml",
]
grammars-long-tail = [
"grammar-ocaml",
"grammar-haskell",
"grammar-julia",
]
tree-sitter = [
"dep:tree-sitter",
"dep:tree-sitter-rust",
"dep:tree-sitter-typescript",
"dep:tree-sitter-javascript",
"dep:tree-sitter-python",
"dep:tree-sitter-go",
"dep:tree-sitter-java",
"dep:tree-sitter-c",
"dep:tree-sitter-cpp",
"dep:tree-sitter-ruby",
"dep:tree-sitter-c-sharp",
"dep:tree-sitter-kotlin-ng",
"dep:tree-sitter-swift",
"dep:tree-sitter-php",
"dep:tree-sitter-bash",
"dep:tree-sitter-dart",
"dep:tree-sitter-scala",
"dep:tree-sitter-elixir",
"dep:tree-sitter-zig",
"dep:tree-sitter-gdscript",
"dep:tree-sitter-lua",
"dep:tree-sitter-luau",
"dep:tree-sitter-solidity",
"dep:tree-sitter-nix",
"dep:tree-sitter-powershell",
]
[lib]
name = "lean_ctx_syntax"
path = "src/lib.rs"
[dependencies.regex]
version = "1.12"
[dependencies.serde_json]
version = "1.0"
[dependencies.tree-sitter]
version = "0.26"
optional = true
[dependencies.tree-sitter-bash]
version = "0.25"
optional = true
[dependencies.tree-sitter-c]
version = "0.24"
optional = true
[dependencies.tree-sitter-c-sharp]
version = "0.23"
optional = true
[dependencies.tree-sitter-cpp]
version = "0.23"
optional = true
[dependencies.tree-sitter-dart]
version = "0.2"
optional = true
[dependencies.tree-sitter-elixir]
version = "0.3"
optional = true
[dependencies.tree-sitter-gdscript]
version = "6.1"
optional = true
[dependencies.tree-sitter-go]
version = "0.25"
optional = true
[dependencies.tree-sitter-haskell]
version = "0.23"
optional = true
[dependencies.tree-sitter-java]
version = "0.23"
optional = true
[dependencies.tree-sitter-javascript]
version = "0.25"
optional = true
[dependencies.tree-sitter-julia]
version = "0.23"
optional = true
[dependencies.tree-sitter-kotlin-ng]
version = "1.1"
optional = true
[dependencies.tree-sitter-lua]
version = "0.5"
optional = true
[dependencies.tree-sitter-luau]
version = "1.2"
optional = true
[dependencies.tree-sitter-nix]
version = "0.3"
optional = true
[dependencies.tree-sitter-ocaml]
version = "0.25"
optional = true
[dependencies.tree-sitter-php]
version = "0.24"
optional = true
[dependencies.tree-sitter-powershell]
version = "0.26"
optional = true
[dependencies.tree-sitter-python]
version = "0.25"
optional = true
[dependencies.tree-sitter-ruby]
version = "0.23"
optional = true
[dependencies.tree-sitter-rust]
version = "0.24"
optional = true
[dependencies.tree-sitter-scala]
version = "0.26"
optional = true
[dependencies.tree-sitter-solidity]
version = "1.2"
optional = true
[dependencies.tree-sitter-swift]
version = "0.7"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.23"
optional = true
[dependencies.tree-sitter-zig]
version = "1.1"
optional = true
[dev-dependencies.lean-ctx-patterns]
version = "0.1.0"
[lints.clippy]
assert_is_empty = "allow"
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
collapsible_if = "allow"
default_trait_access = "allow"
doc_markdown = "allow"
empty_line_after_doc_comments = "allow"
enum_variant_names = "allow"
float_cmp = "allow"
format_push_string = "allow"
implicit_hasher = "allow"
items_after_statements = "allow"
manual_pattern_char_comparison = "allow"
map_unwrap_or = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_borrow = "allow"
no_effect_underscore_binding = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
struct_excessive_bools = "allow"
struct_field_names = "allow"
too_many_lines = "allow"
trivially_copy_pass_by_ref = "allow"
unnecessary_wraps = "allow"
unreadable_literal = "allow"
unused_self = "allow"
unwrap_used = "warn"
used_underscore_binding = "allow"
useless_conversion = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unreachable_pub = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tarpaulin)"]