aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax
Commit message (Collapse)AuthorAgeFilesLines
* switch to dynamic dispatch for TokenSourceAleksey Kladov2019-02-202-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 traitAleksey Kladov2019-02-203-64/+59
|
* rename Sink -> TreeSinkAleksey Kladov2019-02-203-8/+8
|
* fix testsAleksey Kladov2019-02-202-4/+7
|
* rearrange modules in a suggestd reading orderAleksey Kladov2019-02-202-9/+10
|
* flatten modulesAleksey Kladov2019-02-2015-40/+37
|
* move reparsers to grammarAleksey Kladov2019-02-202-33/+27
|
* tighten visibilityAleksey Kladov2019-02-201-3/+3
|
* move all parsing related bits to a separate moduleAleksey Kladov2019-02-2031-47/+78
|
* slightly better nameAleksey Kladov2019-02-203-12/+20
|
* make stuff privateAleksey Kladov2019-02-201-2/+2
|
* handle != operatorAleksey Kladov2019-02-181-1/+4
|
* Enable parsing attributes for generic lifetimes and type parametersVille Penttinen2019-02-175-9/+85
|
* Remove match_armlist validatorVille Penttinen2019-02-172-30/+0
|
* Parse only outer_attributes for match arms for nowVille Penttinen2019-02-173-47/+60
|
* Enable parsing of attributes inside a match blockVille Penttinen2019-02-1716-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 callsFlorian Diebold2019-02-162-1/+5
|
* Add generic params to impl blocksFlorian Diebold2019-02-162-1/+2
|
* Import the preludeFlorian Diebold2019-02-132-1/+3
|
* rename yellow -> syntax_nodeAleksey Kladov2019-02-1218-20/+20
| | | | why yellow in the first place? Its red + green.
* make macro a NameOwnerAleksey Kladov2019-02-116-5/+14
|
* Fix typo in Cargo.toml authorsVille Penttinen2019-02-112-2/+2
| | | | Fixes typo introduced in #782
* Update authors field in Cargo.tomls to "rust-analyzer developers"Ville Penttinen2019-02-112-2/+2
| | | | This closes #777
* Fix handling of literal patternsFlorian Diebold2019-02-097-41/+104
| | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions.
* Extract project model to separate crateFlorian Diebold2019-02-091-1/+1
|
* reformat the worldAleksey Kladov2019-02-0826-314/+95
|
* Fill deprecation for LSPkjeremy2019-02-053-1/+12
|
* Add AST for extern crateFlorian Diebold2019-02-045-6/+16
| | | | Also change it to parse the crate name as a NAME_REF, not a NAME.
* Fix number of extern_inner_attributesDJMcNab2019-02-022-0/+0
|
* Pass aliases to ImportDataFlorian Diebold2019-02-012-1/+37
|
* convert punts and literalsAleksey Kladov2019-01-313-18/+113
|
* Merge #692bors[bot]2019-01-3115-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 blocksDJMcNab2019-01-2810-0/+352
| |
| * Add a test for inner attributes on extern blocksDJMcNab2019-01-272-0/+30
| |
| * Correctly parse inner attributes of impl blocksDJMcNab2019-01-273-0/+50
| |
* | Infer type of match guardMarcus Klaas de Vries2019-01-286-44/+117
| |
* | TyposErlend Tobiassen2019-01-271-2/+2
|/
* Merge #685bors[bot]2019-01-274-36/+125
|\ | | | | | | | | | | | | | | 685: Support attributes on let statements r=matklad a=DJMcNab Fix #677. Co-authored-by: DJMcNab <[email protected]>
| * Stop using let_stmt twiceDJMcNab2019-01-271-43/+41
| |
| * Make attrs be a child of the let statementDJMcNab2019-01-263-23/+26
| |
| * Support attributes on let statementsDJMcNab2019-01-263-20/+108
| |
* | Merge #662bors[bot]2019-01-271-13/+62
|\ \ | | | | | | | | | | | | | | | | | | | | | 662: Preserve indentation in doc comments r=matklad a=kjeremy Fixes #502 Co-authored-by: Jeremy Kolb <[email protected]>
| * | Make doc comments optionalJeremy Kolb2019-01-261-5/+24
| | |
| * | Do not unconditionally trim commentsJeremy Kolb2019-01-261-2/+1
| | |
| * | Preserve indentation in doc commentsJeremy Kolb2019-01-261-9/+40
| | |
* | | fix verification on CIAleksey Kladov2019-01-261-44/+0
| | | | | | | | | | | | remove `--verify` flag from the binaries: we have tests for this!
* | | fix AST for if expressionsAleksey Kladov2019-01-262-2/+60
| |/ |/| | | | | then is not always a block...
* | Struct literals should not be a `BlockLike::Block`DJMcNab2019-01-263-1/+118
| |
* | :arrow_up: rowanAleksey Kladov2019-01-261-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 #660bors[bot]2019-01-263-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]>