about summary refs log tree commit diff
path: root/crates/ide/src/syntax_tree.rs
AgeCommit message (Collapse)AuthorLines
2022-04-05Wrap macros in expr position in `MacroExpr` nodeJonas Schievink-26/+28
2021-09-26internal: more reasonable grammar for blocksAleksey Kladov-35/+42
Consider these expples { 92 } async { 92 } 'a: { 92 } #[a] { 92 } Previously the tree for them were BLOCK_EXPR { ... } EFFECT_EXPR async BLOCK_EXPR { ... } EFFECT_EXPR 'a: BLOCK_EXPR { ... } BLOCK_EXPR #[a] { ... } As you see, it gets progressively worse :) The last two items are especially odd. The last one even violates the balanced curleys invariant we have (#10357) The new approach is to say that the stuff in `{}` is stmt_list, and the block is stmt_list + optional modifiers BLOCK_EXPR STMT_LIST { ... } BLOCK_EXPR async STMT_LIST { ... } BLOCK_EXPR 'a: STMT_LIST { ... } BLOCK_EXPR #[a] STMT_LIST { ... }
2021-03-31Gifs and screenshots for features in manualAyomide Bamidele-0/+1
2021-03-16Upgrade rowanAleksey Kladov-1/+1
Notably, new rowan comes with support for mutable syntax trees.
2021-02-09Modernize testsAleksey Kladov-197/+169
2021-01-16Swap assert_eq_text\!(expected, actual)yugo-horie-14/+14
2021-01-15Remove useless wrapperAleksey Kladov-2/+2
2021-01-07Change <|> to $0 - RebaseKevaundray Wedderburn-10/+10
2020-11-06Kill RAW_ literalsAleksey Kladov-4/+2
Syntactically, they are indistinguishable from non-raw versions, so it doesn't make sense to separate then *at the syntax* level.
2020-10-24Re-export base_db from ide_dbIgor Aleksanov-1/+1
2020-10-02rename mock_analysis -> fixtureAleksey Kladov-8/+8
2020-08-13Rename ra_ide -> ideAleksey Kladov-0/+359