[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"