[package]
name = "oak-csv"
version.workspace = true
authors.workspace = true
description = "High-performance incremental CSV parser for the oak ecosystem with flexible configuration, optimized for data parsing and tabular data processing."
edition.workspace = true
license.workspace = true
readme = "readme.md"
homepage.workspace = true
repository = "https://github.com/ygg-lang/oaks/tree/master/examples/oak-csv"
documentation = "https://docs.rs/oak-csv"
categories = ["parsing"]
keywords = ["parser", "csv", "data", "tabular"]

[dependencies]
oak-core = { workspace = true }
oak-dsv = { workspace = true, features = ["serde"] }
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 }
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"]

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