Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | switch to dynamic dispatch for TokenSource | Aleksey Kladov | 2019-02-20 | 2 | -9/+7 |
| | | | | | | | | | | | Benchmarks show no difference. This is probably because we are bottlenecked on memory allocations, and we should fix that, but we are not optimizing for performance just yet. changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch token-source # Changes to be committed: # modified: crates/ra_syntax/src/parsing/parser_api.rs # modified: crates/ra_syntax/src/parsing/parser_impl.rs # | ||||
* | route parsing via TokenSource trait | Aleksey Kladov | 2019-02-20 | 3 | -64/+59 |
| | |||||
* | rename Sink -> TreeSink | Aleksey Kladov | 2019-02-20 | 3 | -8/+8 |
| | |||||
* | fix tests | Aleksey Kladov | 2019-02-20 | 2 | -4/+7 |
| | |||||
* | rearrange modules in a suggestd reading order | Aleksey Kladov | 2019-02-20 | 2 | -9/+10 |
| | |||||
* | flatten modules | Aleksey Kladov | 2019-02-20 | 15 | -40/+37 |
| | |||||
* | move reparsers to grammar | Aleksey Kladov | 2019-02-20 | 2 | -33/+27 |
| | |||||
* | tighten visibility | Aleksey Kladov | 2019-02-20 | 1 | -3/+3 |
| | |||||
* | move all parsing related bits to a separate module | Aleksey Kladov | 2019-02-20 | 31 | -47/+78 |
| | |||||
* | slightly better name | Aleksey Kladov | 2019-02-20 | 3 | -12/+20 |
| | |||||
* | make stuff private | Aleksey Kladov | 2019-02-20 | 1 | -2/+2 |
| | |||||
* | handle != operator | Aleksey Kladov | 2019-02-18 | 1 | -1/+4 |
| | |||||
* | Enable parsing attributes for generic lifetimes and type parameters | Ville Penttinen | 2019-02-17 | 5 | -9/+85 |
| | |||||
* | Remove match_armlist validator | Ville Penttinen | 2019-02-17 | 2 | -30/+0 |
| | |||||
* | Parse only outer_attributes for match arms for now | Ville Penttinen | 2019-02-17 | 3 | -47/+60 |
| | |||||
* | Enable parsing of attributes inside a match block | Ville Penttinen | 2019-02-17 | 16 | -1/+589 |
| | | | | | | | We allow invalid inner attributes to be parsed, e.g. inner attributes that are not directly after the opening brace of the match block. Instead we run validation on `MatchArmList` to allow better reporting of errors. | ||||
* | Handle generic args for method calls | Florian Diebold | 2019-02-16 | 2 | -1/+5 |
| | |||||
* | Add generic params to impl blocks | Florian Diebold | 2019-02-16 | 2 | -1/+2 |
| | |||||
* | Import the prelude | Florian Diebold | 2019-02-13 | 2 | -1/+3 |
| | |||||
* | rename yellow -> syntax_node | Aleksey Kladov | 2019-02-12 | 18 | -20/+20 |
| | | | | why yellow in the first place? Its red + green. | ||||
* | make macro a NameOwner | Aleksey Kladov | 2019-02-11 | 6 | -5/+14 |
| | |||||
* | Fix typo in Cargo.toml authors | Ville Penttinen | 2019-02-11 | 2 | -2/+2 |
| | | | | Fixes typo introduced in #782 | ||||
* | Update authors field in Cargo.tomls to "rust-analyzer developers" | Ville Penttinen | 2019-02-11 | 2 | -2/+2 |
| | | | | This closes #777 | ||||
* | Fix handling of literal patterns | Florian Diebold | 2019-02-09 | 7 | -41/+104 |
| | | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions. | ||||
* | Extract project model to separate crate | Florian Diebold | 2019-02-09 | 1 | -1/+1 |
| | |||||
* | reformat the world | Aleksey Kladov | 2019-02-08 | 26 | -314/+95 |
| | |||||
* | Fill deprecation for LSP | kjeremy | 2019-02-05 | 3 | -1/+12 |
| | |||||
* | Add AST for extern crate | Florian Diebold | 2019-02-04 | 5 | -6/+16 |
| | | | | Also change it to parse the crate name as a NAME_REF, not a NAME. | ||||
* | Fix number of extern_inner_attributes | DJMcNab | 2019-02-02 | 2 | -0/+0 |
| | |||||
* | Pass aliases to ImportData | Florian Diebold | 2019-02-01 | 2 | -1/+37 |
| | |||||
* | convert punts and literals | Aleksey Kladov | 2019-01-31 | 3 | -18/+113 |
| | |||||
* | Merge #692 | bors[bot] | 2019-01-31 | 15 | -0/+432 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 692: [WIP] Correctly parse attributes r=matklad a=DJMcNab Reference - https://doc.rust-lang.org/reference/attributes.html This fixes/investigates inner attributes for: - [x] `impl` blocks - [x] `extern` blocks - [x] `fn`s (fixes #689) - [x] `mod`s (already supported) - [x] 'block expressions' (the long text just describes all 'blocks' used as statements) This also investigates/fixes outer attributes for: - [ ] 'most statements' (see also: #685, https://doc.rust-lang.org/reference/expressions.html#expression-attributes) - [x] Enum variants, Struct and Union fields (Fixed in #507) - [ ] 'Match expression arms' (@matklad can you provide a test case which explains what this means?) - [ ] 'Generic lifetime or type parameters' - [ ] 'Elements of array expressions, tuple expressions, call expressions, tuple-style struct and enum variant expressions' - [ ] 'The tail expression of block expressions' Co-authored-by: DJMcNab <[email protected]> | ||||
| * | Parse and validate attributes in blocks | DJMcNab | 2019-01-28 | 10 | -0/+352 |
| | | |||||
| * | Add a test for inner attributes on extern blocks | DJMcNab | 2019-01-27 | 2 | -0/+30 |
| | | |||||
| * | Correctly parse inner attributes of impl blocks | DJMcNab | 2019-01-27 | 3 | -0/+50 |
| | | |||||
* | | Infer type of match guard | Marcus Klaas de Vries | 2019-01-28 | 6 | -44/+117 |
| | | |||||
* | | Typos | Erlend Tobiassen | 2019-01-27 | 1 | -2/+2 |
|/ | |||||
* | Merge #685 | bors[bot] | 2019-01-27 | 4 | -36/+125 |
|\ | | | | | | | | | | | | | | | 685: Support attributes on let statements r=matklad a=DJMcNab Fix #677. Co-authored-by: DJMcNab <[email protected]> | ||||
| * | Stop using let_stmt twice | DJMcNab | 2019-01-27 | 1 | -43/+41 |
| | | |||||
| * | Make attrs be a child of the let statement | DJMcNab | 2019-01-26 | 3 | -23/+26 |
| | | |||||
| * | Support attributes on let statements | DJMcNab | 2019-01-26 | 3 | -20/+108 |
| | | |||||
* | | Merge #662 | bors[bot] | 2019-01-27 | 1 | -13/+62 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 662: Preserve indentation in doc comments r=matklad a=kjeremy Fixes #502 Co-authored-by: Jeremy Kolb <[email protected]> | ||||
| * | | Make doc comments optional | Jeremy Kolb | 2019-01-26 | 1 | -5/+24 |
| | | | |||||
| * | | Do not unconditionally trim comments | Jeremy Kolb | 2019-01-26 | 1 | -2/+1 |
| | | | |||||
| * | | Preserve indentation in doc comments | Jeremy Kolb | 2019-01-26 | 1 | -9/+40 |
| | | | |||||
* | | | fix verification on CI | Aleksey Kladov | 2019-01-26 | 1 | -44/+0 |
| | | | | | | | | | | | | remove `--verify` flag from the binaries: we have tests for this! | ||||
* | | | fix AST for if expressions | Aleksey Kladov | 2019-01-26 | 2 | -2/+60 |
| |/ |/| | | | | | then is not always a block... | ||||
* | | Struct literals should not be a `BlockLike::Block` | DJMcNab | 2019-01-26 | 3 | -1/+118 |
| | | |||||
* | | :arrow_up: rowan | Aleksey Kladov | 2019-01-26 | 1 | -1/+1 |
|/ | | | | | | The new rowan uses arena allocator for red nodes which helps slightly (5% on std completion test) with performance but should help quite a bit with avoiding memory fragmentation. | ||||
* | Merge #660 | bors[bot] | 2019-01-26 | 3 | -1/+68 |
|\ | | | | | | | | | | | | | | | 660: Support macro calls in type position r=matklad a=regiontog A [playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=fdc6dd4ddaece92a72fa2a292b75e27c) demonstrating the syntax in question. Co-authored-by: Erlend Tobiassen <[email protected]> |