about summary refs log tree commit diff
path: root/crates/syntax/src/parsing.rs
AgeCommit message (Collapse)AuthorLines
2021-12-28dead codeAleksey Kladov-4/+3
2021-12-28introduce hacks moduleAleksey Kladov-21/+1
2021-12-26internal: move ws attachment logic to the parser crateAleksey Kladov-4/+32
This has to re-introduce the `sink` pattern, because doing this purely with iterators is awkward :( Maaaybe the event vector was a false start? But, anyway, I like the current factoring more -- it sort-of obvious that we do want to keep ws-attachment business in the parser, and that we also don't want that to depend on the particular tree structure. I think `shortcuts` module achieves that.
2021-12-25internal: renameAleksey Kladov-6/+6
2021-12-25internal: replace TreeSink with a data structureAleksey Kladov-24/+10
The general theme of this is to make parser a better independent library. The specific thing we do here is replacing callback based TreeSink with a data structure. That is, rather than calling user-provided tree construction methods, the parser now spits out a very bare-bones tree, effectively a log of a DFS traversal. This makes the parser usable without any *specifc* tree sink, and allows us to, eg, move tests into this crate. Now, it's also true that this is a distinction without a difference, as the old and the new interface are equivalent in expressiveness. Still, this new thing seems somewhat simpler. But yeah, I admit I don't have a suuper strong motivation here, just a hunch that this is better.
2021-12-18internal: move all the lexing to the parser crateAleksey Kladov-38/+9
2021-12-12tighten up invariantsAleksey Kladov-8/+12
2021-12-12more orthogonal interfaceAleksey Kladov-1/+2
2021-12-12parser tests workAleksey Kladov-13/+32
2021-09-06internal: make name consistent with usageAleksey Kladov-4/+4
2021-06-13clippy::redudant_borrowMaan2003-2/+2
2021-05-13Cleanup importsAleksey Kladov-4/+3
2020-11-02Deny unreachable-pubAleksey Kladov-2/+2
It's very useful when `pub` is equivalent to "this is crate's public API", let's enforce this! Ideally, we should enforce it for local `cargo test`, and only during CI, but that needs https://github.com/rust-lang/cargo/issues/5034.
2020-08-12Rename ra_syntax -> syntaxAleksey Kladov-0/+59