[package]
name = "oak-prolog"
version.workspace = true
authors.workspace = true
description = "Prolog language parser with support for logic programming and declarative programming features."
edition.workspace = true
license.workspace = true
readme = "readme.md"
homepage.workspace = true
repository = "https://github.com/ygg-lang/oaks/tree/master/examples/oak-prolog"
documentation = "https://docs.rs/oak-prolog"
categories = ["parsing"]
keywords = ["parser", "prolog", "logic-programming", "declarative"]

[dependencies]
oak-core = { workspace = true }
serde = { workspace = true, optional = 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 }
oak-vfs = { workspace = true, optional = true }
oak-mcp = { workspace = true, optional = true }
tokio = { workspace = true, optional = true, features = ["io-util", "io-std"] }
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", "dep:tokio"]

[package.metadata.docs.rs]
all-features = true
