aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src
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-173-9/+22
|
* Remove match_armlist validatorVille Penttinen2019-02-172-30/+0
|
* Parse only outer_attributes for match arms for nowVille Penttinen2019-02-172-16/+1
|
* Enable parsing of attributes inside a match blockVille Penttinen2019-02-178-1/+96
| | | | | | | 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-1217-18/+18
| | | | why yellow in the first place? Its red + green.
* make macro a NameOwnerAleksey Kladov2019-02-113-2/+8
|
* Fix handling of literal patternsFlorian Diebold2019-02-094-16/+67
| | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions.
* reformat the worldAleksey Kladov2019-02-0825-278/+72
|
* Fill deprecation for LSPkjeremy2019-02-053-1/+12
|
* Add AST for extern crateFlorian Diebold2019-02-043-3/+13
| | | | Also change it to parse the crate name as a NAME_REF, not a NAME.
* Pass aliases to ImportDataFlorian Diebold2019-02-012-1/+37
|
* convert punts and literalsAleksey Kladov2019-01-313-18/+113
|
* Merge #692bors[bot]2019-01-317-0/+43
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-286-0/+36
| |
| * Correctly parse inner attributes of impl blocksDJMcNab2019-01-271-0/+7
| |
* | Infer type of match guardMarcus Klaas de Vries2019-01-283-4/+22
| |
* | TyposErlend Tobiassen2019-01-271-2/+2
|/
* Merge #685bors[bot]2019-01-272-36/+47
|\ | | | | | | | | | | | | | | 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-262-7/+10
| |
| * Support attributes on let statementsDJMcNab2019-01-261-20/+30
| |
* | 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-261-1/+1
|/
* Merge #660bors[bot]2019-01-261-1/+23
|\ | | | | | | | | | | | | | | 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]>
| * Support macro calls in type positionErlend Tobiassen2019-01-251-1/+23
| |
* | rename POS_FIELD -> POS_FIELD_DEFAleksey Kladov2019-01-255-36/+36
| | | | | | | | to match NAMED_FIELD_DEF
* | Add docs to struct fieldsJeremy A. Kolb2019-01-253-2/+3
|/
* Merge #630bors[bot]2019-01-252-24/+45
|\ | | | | | | | | | | | | | | | | | | | | | | 630: Fill in DocumentSymbol::detail r=matklad a=hban Closes: #516 I just pulled type text from the syntax node and "formatted" is bit. VS Code can't really handle multi-line symbol detail (it's will crop it when rendering), so that formatting will just collapse all white-space to singe space. It isn't pretty, but maybe there's a better way. Issue also mentions "need to be done for `NavigationTarget` to `SymbolInformation`", but `SymbolInformation` doesn't have detail field on it? Co-authored-by: Hrvoje Ban <[email protected]>
| * Fill in DocumentSymbol::detailHrvoje Ban2019-01-242-24/+45
| |
* | Merge #633bors[bot]2019-01-244-8/+523
|\ \ | | | | | | | | | | | | | | | | | | | | | 633: use ToOwned trait instead of inherent method r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>