aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
| * Support macro calls in type positionErlend Tobiassen2019-01-253-1/+68
| |
* | rename POS_FIELD -> POS_FIELD_DEFAleksey Kladov2019-01-2513-62/+62
| | | | | | | | 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-246-6/+226
| |/ |/|
* | minor renameAleksey Kladov2019-01-241-4/+4
|/