laburnum 1.17.1

An LSP framework for building language servers and compilers, powered by an incremental query tree with content-addressed storage, task-based dataflow, and parallel queries.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "laburnum"
version = "1.17.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An LSP framework for building language servers and compilers, powered by an incremental query tree with content-addressed storage, task-based dataflow, and parallel queries."
homepage = "https://github.com/gold-build/laburnum"
documentation = "https://docs.rs/laburnum"
readme = "readme.md"
keywords = [
    "lsp",
    "language-server",
    "compiler",
    "incremental",
    "framework",
]
categories = [
    "development-tools",
    "compilers",
    "caching",
]
license = "BlueOak-1.0.0"
repository = "https://github.com/gold-build/laburnum"
resolver = "2"

[features]
chumsky = [
    "dep:chumsky",
    "dep:laburnum-syntax-macro",
]
default = [
    "gc-refcount",
    "chumsky",
    "proposed",
    "testing-commands",
]
gc-mark-sweep = []
gc-refcount = []
mcp = []
proposed = []
test = []
testing-commands = []

[lib]
name = "laburnum"
path = "src/lib.rs"
doctest = false

[[test]]
name = "ident"
path = "tests/ident.rs"

[[test]]
name = "lsp_file_operations"
path = "tests/lsp_file_operations.rs"

[[test]]
name = "lsp_file_watching"
path = "tests/lsp_file_watching.rs"
required-features = ["testing-commands"]

[[test]]
name = "lsp_initialization"
path = "tests/lsp_initialization.rs"

[[test]]
name = "lsp_integration_workflows"
path = "tests/lsp_integration_workflows.rs"
required-features = ["testing-commands"]

[[test]]
name = "lsp_notebook_document"
path = "tests/lsp_notebook_document.rs"

[[test]]
name = "lsp_text_document"
path = "tests/lsp_text_document.rs"

[[test]]
name = "lsp_workspace_configuration"
path = "tests/lsp_workspace_configuration.rs"

[[test]]
name = "lsp_workspace_folders"
path = "tests/lsp_workspace_folders.rs"

[dependencies.anstream]
version = "0.3.2"

[dependencies.anyhow]
version = "1.0.98"

[dependencies.ariadne]
version = "0.5"
features = [
    "auto-color",
    "concolor",
]

[dependencies.async-channel]
version = "2.3.1"

[dependencies.async-executor]
version = "1.5.0"

[dependencies.async-fs]
version = "2.0.0"

[dependencies.async-io]
version = "2.1.0"

[dependencies.async-lock]
version = "3.0.0"

[dependencies.async-net]
version = "2.0.0"

[dependencies.bitflags]
version = "2.6.0"

[dependencies.blocking]
version = "1.3.0"

[dependencies.bluegum]
version = "0.1.0"

[dependencies.bytes]
version = "1"

[dependencies.chumsky]
version = "0.13"
features = [
    "stacker",
    "either",
    "memoization",
    "pratt",
]
optional = true

[dependencies.concurrent-queue]
version = "2.5.0"

[dependencies.crop]
version = "0.4"
features = ["utf16-metric"]

[dependencies.crossbeam-channel]
version = "0.5.14"

[dependencies.dashmap]
version = "6.1"

[dependencies.error-stack]
version = "0.5.0"

[dependencies.ferrotype]
version = "0.1.1"

[dependencies.fluent-uri]
version = "0.3.2"

[dependencies.futures]
version = "0.3"
features = [
    "std",
    "async-await",
]
default-features = false

[dependencies.futures-lite]
version = "2.3.0"

[dependencies.globset]
version = "0.4.15"

[dependencies.httparse]
version = "1"

[dependencies.ignore]
version = "0.4.23"

[dependencies.im]
version = "15.1.0"

[dependencies.indexmap]
version = "2.7.0"
features = ["serde"]

[dependencies.insta]
version = "1.41.0"
features = [
    "filters",
    "redactions",
    "colors",
]

[dependencies.laburnum-syntax-macro]
version = "0.1.0"
optional = true

[dependencies.lasso]
version = "0.7.2"
features = [
    "multi-threaded",
    "ahasher",
]

[dependencies.libc]
version = "0.2"

[dependencies.memchr]
version = "2"

[dependencies.nohash-hasher]
version = "0.2.0"

[dependencies.num_cpus]
version = "1.17.0"

[dependencies.opentelemetry]
version = "0.31.0"

[dependencies.opentelemetry-otlp]
version = "0.31.0"
features = [
    "http-json",
    "http-proto",
    "grpc-tonic",
    "reqwest-blocking-client",
]

[dependencies.opentelemetry-resource-detectors]
version = "0.7.0"

[dependencies.opentelemetry-stdout]
version = "0.31.0"

[dependencies.opentelemetry_sdk]
version = "0.31.0"

[dependencies.otel]
version = "0.6.0"

[dependencies.owo-colors]
version = "3.5.0"

[dependencies.parking_lot]
version = "0.12.3"

[dependencies.paste]
version = "0.2"
package = "pastey"

[dependencies.percent-encoding]
version = "2"

[dependencies.pin-project]
version = "1.1.10"

[dependencies.rapidhash]
version = "4.2"

[dependencies.reqwest]
version = "0.12.24"

[dependencies.ropey]
version = "1.6.1"

[dependencies.sealed]
version = "0.6.0"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.slotmap]
version = "1.1"
features = ["serde"]

[dependencies.smol]
version = "2.0.0"

[dependencies.sysinfo]
version = "0.37"

[dependencies.tempfile]
version = "3.14.0"

[dependencies.thiserror]
version = "2.0.12"

[dependencies.tokio]
version = "1.0"
features = ["full"]

[dependencies.tokio-util]
version = "0.7"
features = ["codec"]

[dependencies.tonic]
version = "=0.14.2"

[dependencies.trait-variant]
version = "0.1.2"

[dependencies.url]
version = "2.5.0"

[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]

[dev-dependencies.chumsky]
version = "0.13"
features = [
    "stacker",
    "either",
    "memoization",
    "pratt",
]

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.ferrotype]
version = "0.1.1"

[dev-dependencies.insta]
version = "1.41.0"
features = [
    "filters",
    "redactions",
    "colors",
]

[dev-dependencies.macro_rules_attribute]
version = "0.2.2"

[dev-dependencies.owo-colors]
version = "3.5.0"

[dev-dependencies.paste]
version = "0.2"
package = "pastey"

[dev-dependencies.smol-macros]
version = "0.1.1"

[dev-dependencies.test-log]
version = "0.2.11"
features = ["trace"]

[dev-dependencies.tokio-test]
version = "0.4"

[lints.clippy]

[lints.rust]
dead_code = "warn"
renamed_and_removed_lints = "deny"
unknown_lints = "allow"
unused_imports = "warn"
unused_variables = "warn"