[package]
name = "oak-d2"
version.workspace = true
authors.workspace = true
description = "D2 diagramming language parser for Oak"
edition.workspace = true
license.workspace = true
readme = "readme.md"
homepage.workspace = true
repository = "https://github.com/ygg-lang/oaks/tree/master/examples/oak-d2"

[lib]
path = "src/lib.rs"

[dependencies]
oak-core = { workspace = true }
oak-highlight = { workspace = true, optional = true }
oak-pretty-print = { workspace = true, optional = true }
oak-lsp = { workspace = true, optional = true }
oak-hover = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
oak-vfs = { workspace = true, optional = true }
oak-mcp = { workspace = true, optional = true, features = ["io-std"] }
tracing = { workspace = true }
tokio = { workspace = true, optional = true }
futures = { workspace = true, optional = true }

[features]
default = ["serde"]
serde = ["dep:serde", "oak-core/serde"]
lsp = ["dep:oak-lsp", "dep:oak-hover", "dep:oak-vfs", "oak-highlight", "oak-pretty-print", "dep:futures"]
mcp = ["lsp", "oak-mcp/io-std"]
