aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
| * | use ToOwned trait instead of inherent methodAleksey Kladov2019-01-244-8/+523
| | |
* | | Merge #623bors[bot]2019-01-243-2/+10
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 623: WIP: module id is not def id r=matklad a=matklad This achieves two things: * makes module_tree & item_map per crate, not per source_root * begins the refactoring to remove universal `DefId` in favor of having separate ids for each kind of `Def`. Currently, only modules get a differnt ID though. Co-authored-by: Aleksey Kladov <[email protected]>
| * | Migrate trait & type to new idsAleksey Kladov2019-01-242-2/+3
| | |
| * | migrate enums to new idAleksey Kladov2019-01-241-0/+7
| | |
* | | ReformatDJMcNab2019-01-241-15/+16
| | |
* | | Apply suggestions from code reviewDaniel McNab2019-01-241-2/+1
| | | | | | | | | Co-Authored-By: DJMcNab <[email protected]>
* | | Dedupe PATH_FIRST in ATOM_EXPR_FIRSTDJMcNab2019-01-241-7/+2
| | |
* | | Support universal function call syntax in function callsDJMcNab2019-01-242-0/+3
| |/ |/|