[package]
name = "tower-lsp"
version = "0.16.0"
authors = ["Eyal Kalderon <ebkalderon@gmail.com>", "silvanshade <silvanshade@users.noreply.github.com>"]
edition = "2018"
description = "Language Server Protocol implementation based on Tower"
license = "MIT OR Apache-2.0"
homepage = "https://github.com/ebkalderon/tower-lsp"
repository = "https://github.com/ebkalderon/tower-lsp"
documentation = "https://docs.rs/tower-lsp/"
readme = "README.md"
categories = ["asynchronous"]
keywords = ["language-server", "lsp", "tower"]
exclude = ["./tower-lsp-macros"]

[features]
default = ["runtime-tokio"]
runtime-agnostic = ["async-codec-lite"]
runtime-tokio = ["tokio", "tokio-util"]

[dependencies]
async-codec-lite = { version = "0.0", optional = true }
async-trait = "0.1"
auto_impl = "0.5"
bytes = "1.0"
dashmap = "5.1"
futures = { version = "0.3", default-features = false, features = ["std", "async-await"] }
httparse = "1.3.5"
log = "0.4"
lsp-types = "0.92"
memchr = "2.4.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1.17", optional = true }
tokio-util = { version = "0.7", optional = true, features = ["codec"] }
tower-lsp-macros = { version = "0.6", path = "./tower-lsp-macros" }
tower = { version = "0.4.12", default-features = false, features = ["util"] }

[dev-dependencies]
async-tungstenite = { version = "0.16", features = ["tokio-runtime"] }
env_logger = "0.9"
tokio = { version = "1.17", features = ["io-util", "io-std", "macros", "rt-multi-thread"] }
tokio-util = { version = "0.7", features = ["compat"] }
ws_stream_tungstenite = { version = "0.7", features = ["tokio_io"] }

[workspace]
members = [".", "./tower-lsp-macros"]
default-members = ["."]
