[package]
edition = "2018"
name = "lspower"
version = "0.8.4"
authors = ["hvithrafn <hvithrafn@users.noreply.github.com>", "Eyal Kalderon <ebkalderon@gmail.com>", "lspower developers"]
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/hvithrafn/lspower"
documentation = "https://docs.rs/lspower/"
readme = "README.md"
categories = ["asynchronous"]
keywords = ["language-server", "lsp", "tower"]
description = """
A lightweight framework for implementing LSP servers.
"""
exclude = ["./lspower-macros"]

[badges]
maintenance = { status = "experimental" }

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

[dependencies]
anyhow = "1.0"
async-codec-lite = { version = "0.0.0", optional = true }
async-trait = "0.1"
auto_impl = "0.4"
bytes = "1.0"
dashmap = "4.0"
futures = { version = "0.3", default-features = false, features = ["std", "async-await"] }
httparse = "1.3.5"
log = "0.4"
lsp = { version = "0.88", package = "lsp-types" }
lspower-macros = { version = "0.2", path = "lspower-macros" }
serde = "1.0"
serde_json = "1.0"
thiserror = "1.0"
tokio = { version = "1.0", optional = true }
tokio-util = { version = "0.6", features = ["codec"], optional = true }
tower-service = "0.3"
twoway = "0.2.1"

[dev-dependencies]
async-tungstenite = { version = "0.13", features = ["tokio-runtime"] }
env_logger = "0.8"
tokio = { version = "1.0", features = ["io-std", "io-util", "macros", "net", "rt-multi-thread", "time"] }
tower-test = "0.4"
ws_stream_tungstenite = { version = "0.6", features = ["tokio_io"] }

[workspace]
members = [
  ".",
  "lspower-macros",
  "xtask",
]
default-members = ["."]
