[package]
edition = "2018"
name = "ra_syntax"
version = "0.1.0"
authors = ["rust-analyzer developers"]
license = "MIT OR Apache-2.0"
description = "Comment and whitespace preserving parser for the Rust langauge"
repository = "https://github.com/rust-analyzer/rust-analyzer"

[lib]
doctest = false

[dependencies]
itertools = "0.8.0"
rowan = "0.8.0"
rustc_lexer = "0.1.0"
rustc-hash = "1.0.1"
arrayvec = "0.5.1"
once_cell = "1.2.0"

ra_text_edit = { path = "../ra_text_edit" }
ra_parser = { path = "../ra_parser" }

# This crate transitively depends on `smol_str` via `rowan`.
# ideally, `serde` should be enabled by `ra_lsp_server`, but we enable it here
# to reduce number of compilations
smol_str = { version = "0.1.12", features = ["serde"] }
serde = { version = "1", features = ["derive"] }

[dev-dependencies]
test_utils = { path = "../test_utils" }
walkdir = "2.2.0"
