[workspace]
members = [
".",
"crates/leekscript-analysis",
"crates/leekscript-core",
"crates/leekscript-document",
"crates/leekscript-tooling",
]
[package]
name = "leekscript-rs"
version = "0.1.0"
edition = "2021"
description = "LeekScript parser, formatter, and semantic analysis in Rust"
license = "MIT OR Apache-2.0"
repository = "https://github.com/leek-wars/leekscript-rs"
homepage = "https://github.com/leek-wars/leekscript-rs"
documentation = "https://docs.rs/leekscript-rs"
keywords = ["leekscript", "parser", "language", "formatter", "lsp"]
categories = ["parser-implementations", "development-tools"]
[lints.rust]
unsafe_code = "forbid"
[[bin]]
name = "leekscript"
path = "src/main.rs"
[features]
default = []
lsp = ["dep:tower-lsp", "utf16"]
transform = ["leekscript-tooling/transform", "sipha/transform"]
utf16 = ["sipha/utf16"]
[dependencies]
leekscript-analysis = { path = "crates/leekscript-analysis", version = "0.1.0" }
leekscript-core = { path = "crates/leekscript-core", version = "0.1.0" }
leekscript-document = { path = "crates/leekscript-document", version = "0.1.0" }
leekscript-tooling = { path = "crates/leekscript-tooling", version = "0.1.0" }
tower-lsp = { version = "0.20", optional = true }
clap = { version = "4", features = ["derive"] }
miette = { version = "7", features = ["fancy"] }
serde_json = "1"
sipha = { version = "2.0.0", features = ["miette", "emit"] }
toml = "0.8"
[dev-dependencies]
criterion = "0.5"
sipha-diff = "2.0.0"
[[bench]]
name = "parse_analyze_format"
harness = false