# 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 = "2021" rust-version = "1.64" name = "async-lsp" version = "0.2.1" build = false include = [ "/Cargo.toml", "/LICENSE-APACHE", "/LICENSE-MIT", "/README.md", "/benches", "/examples", "/src", "/tests", ] autobins = false autoexamples = false autotests = false autobenches = false description = "Asynchronous Language Server Protocol (LSP) framework based on tower" readme = "README.md" keywords = [ "lsp", "language-server", "tower", ] categories = ["asynchronous"] license = "MIT OR Apache-2.0" repository = "https://github.com/oxalica/async-lsp" [package.metadata.docs.rs] all-features = true rustdoc-args = [ "--cfg", "docsrs", ] [profile.bench] debug = 1 [lib] name = "async_lsp" path = "src/lib.rs" [[example]] name = "client_builder" path = "examples/client_builder.rs" required-features = [ "omni-trait", "tracing", "tokio", ] [[example]] name = "client_trait" path = "examples/client_trait.rs" required-features = [ "omni-trait", "tracing", "tokio", ] [[example]] name = "inspector" path = "examples/inspector.rs" required-features = [ "forward", "tracing", "tokio", ] [[example]] name = "server_builder" path = "examples/server_builder.rs" required-features = [ "client-monitor", "omni-trait", "stdio", "tracing", "tokio", ] [[example]] name = "server_trait" path = "examples/server_trait.rs" required-features = [ "client-monitor", "omni-trait", "stdio", "tracing", "tokio", ] [[test]] name = "stdio" path = "tests/stdio.rs" harness = false required-features = [ "stdio", "tokio", ] [[test]] name = "unit_test" path = "tests/unit_test.rs" required-features = [ "omni-trait", "tokio", ] [[bench]] name = "bench" path = "benches/bench.rs" harness = false [dependencies.async-io] version = "2" optional = true [dependencies.futures] version = "0.3.28" features = [ "async-await", "std", ] default-features = false [dependencies.lsp-types] version = "0.95.0" [dependencies.pin-project-lite] version = "0.2.9" [dependencies.rustix] version = "0.38" optional = true [dependencies.serde] version = "1.0.159" features = ["derive"] [dependencies.serde_json] version = "1.0.95" [dependencies.thiserror] version = "2" [dependencies.tokio] version = "1.27.0" optional = true [dependencies.tower-layer] version = "0.3.2" [dependencies.tower-service] version = "0.3.2" [dependencies.tracing] version = "0.1.37" optional = true [dependencies.waitpid-any] version = "0.2.0" optional = true [dev-dependencies.async-io] version = "2" [dev-dependencies.async-process] version = "2" [dev-dependencies.clap] version = "4" features = ["help"] default-features = false [dev-dependencies.criterion] version = "0.5.1" features = ["async_tokio"] [dev-dependencies.tokio] version = "1.27.0" features = [ "io-std", "io-util", "macros", "process", "rt", "time", ] [dev-dependencies.tokio-util] version = "0.7.8" features = ["compat"] [dev-dependencies.tower] version = "0.5" [dev-dependencies.tracing-subscriber] version = "0.3.16" [features] client-monitor = [ "dep:waitpid-any", "dep:rustix", ] default = [ "client-monitor", "omni-trait", "stdio", "tracing", ] forward = [] omni-trait = [] stdio = [ "dep:rustix", "rustix?/fs", "tokio?/net", ] tracing = ["dep:tracing"]