aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/grammar.ron
Commit message (Collapse)AuthorAgeFilesLines
* Support resolution of `#[macro_use] extern crate`uHOOCCOOHu2019-08-311-0/+1
|
* Add `BoxPat` variantDylan MacKenzie2019-08-231-0/+3
|
* rename struct -> record, pos -> tupleAleksey Kladov2019-08-231-24/+24
|
* use quote! macro to generate grammarAleksey Kladov2019-08-181-27/+27
| | | | | We already use syn&quote elsewhere (transitively), so it make sense to cut down on the number of technologies and get rid of tera
* deserialize grammarAleksey Kladov2019-08-181-53/+53
|
* Add function parameters attributesEvgenii P2019-08-071-0/+2
|
* add await expr to astUnreal Hoang2019-07-201-0/+2
|
* add await to syntax, parser for await_exprUnreal Hoang2019-07-201-0/+2
|
* fix: box_patterncsmoe2019-06-191-0/+2
| | | | Change-Id: I45a856d74fb616d3bce33050f9e69d327186bd59
* fix: support existential typecsmoe2019-06-121-0/+1
|
* [#1083] Try block syntaxAndrey Tkachenko2019-06-061-0/+6
|
* fill struct fields diagnosticSergey Parilin2019-05-061-2/+5
|
* Merge #1208bors[bot]2019-05-041-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1208: [WIP] Goto for Macro's r=matklad a=Lapz Adds goto definition for macros. Currently only works for macros in the current crate ~~otherwise it panics~~. Proper macro resolution needs to be added for it to resolve macros in other crates. Todo - [X] Allow goto from macro calls - [X] Fix panics - [x] Add tests ![Screen Recording 2019-04-25 at 18 00 24](https://user-images.githubusercontent.com/19998186/56754499-1dd01c00-6785-11e9-9e9a-1e36de70cfa3.gif) Co-authored-by: Lenard Pratt <[email protected]>
| * Added local macro gotoLenard Pratt2019-05-041-1/+1
| |
* | Revert "eagarly clean astd maps"Aleksey Kladov2019-05-041-1/+1
| | | | | | | | | | | | This reverts commit 6c63a59425e256ce46d058807b64149297231982. This causes massive slowdowns: looks like we accidentally have some source-depndent
* | eagarly clean astd mapsAleksey Kladov2019-05-041-1/+1
| |
* | Add default type param in TypeParam NodeEdwin Cheng2019-05-031-1/+1
|/
* Merge #1154bors[bot]2019-04-201-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1154: Initial support for lang items (and str completion) r=flodiebold a=marcogroppo This PR adds partial support for lang items. For now, the only supported lang items are the ones that target an impl block. Lang items are now resolved during type inference - this means that `str` completion now works. Fixes #1139. (thanks Florian Diebold for the help!) Co-authored-by: Marco Groppo <[email protected]>
| * Initial support for lang items.Marco Groppo2019-04-191-1/+1
| |
* | Add MacroItems and MacroStmts in grammer.ronEdwin Cheng2019-04-181-0/+15
|/
* Add L_DOLLAR and R_DOLLAREdwin Cheng2019-04-111-0/+2
|
* Merge #1076bors[bot]2019-04-021-0/+2
|\ | | | | | | | | | | | | | | | | 1076: Const body inference r=flodiebold a=Lapz This is the second part of #887. I've added type inference on const bodies and introduced the DefWithBody containing Function, Const and Static. I want to add tests but im unsure on how I would go about testing that completions work. Co-authored-by: Lenard Pratt <[email protected]>
| * Added const bodies and static body to the astLenard Pratt2019-04-021-2/+2
| | | | | | | | | | | | and added inference the inference test reduce code duplication
| * Added defWithBodyLenard Pratt2019-03-301-0/+2
| |
* | Merge #1084bors[bot]2019-04-011-1/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | 1084: remove dead code r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | remove dead codeAleksey Kladov2019-04-011-1/+0
| | |
* | | intelligently add parens when inlining local varaiblesgfreezy2019-04-011-0/+1
|/ /
* | switch to new rowanAleksey Kladov2019-04-011-33/+2
| |
* | Add WherePred to allow predicate access in WhereClauseVille Penttinen2019-03-311-1/+14
| | | | | | | | | | This also unifies parsing of WHERE_PRED bounds, now Lifetime bounds will also be parsed using TYPE_BOUND_LIST
* | Add trait ast::TypeBoundsOwnerVille Penttinen2019-03-311-5/+10
| |
* | Add new TYPE_BOUND_LIST and TYPE_BOUND syntax kindsVille Penttinen2019-03-301-0/+13
|/ | | | | | These are now used when parsing type bounds. In addition parsing paths inside a bound now does not recursively parse paths, rather they are treated as separate bounds, separated by +.
* Basics for trait method resolutionFlorian Diebold2019-03-251-1/+4
|
* add name resolution from the old implAleksey Kladov2019-03-171-1/+1
| | | | unlike the old impl, this also handles macro imports across crates
* Add async keywordCaio2019-03-091-0/+1
|
* Remove `TypeRef` from item opts which implement TypeAscriptionOwnerVille Penttinen2019-02-271-6/+11
|
* Add new trait TypeAscriptionOwnerVille Penttinen2019-02-261-9/+24
| | | | | This trait should be implemented for nodes which have an ascribed type, e.g. thing : Type. Such as let, const, static, param, named struct fields.
* rename type to type_alias in the AST as wellAleksey Kladov2019-02-251-4/+4
|
* Enable parsing attributes for generic lifetimes and type parametersVille Penttinen2019-02-171-2/+5
|
* Enable parsing of attributes inside a match blockVille Penttinen2019-02-171-1/+3
| | | | | | | 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-161-1/+1
|
* Add generic params to impl blocksFlorian Diebold2019-02-161-1/+1
|
* Import the preludeFlorian Diebold2019-02-131-1/+2
|
* make macro a NameOwnerAleksey Kladov2019-02-111-1/+4
|
* Fix handling of literal patternsFlorian Diebold2019-02-091-0/+3
| | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions.
* Fill deprecation for LSPkjeremy2019-02-051-1/+1
|
* Add AST for extern crateFlorian Diebold2019-02-041-1/+3
| | | | Also change it to parse the crate name as a NAME_REF, not a NAME.
* Pass aliases to ImportDataFlorian Diebold2019-02-011-1/+4
|
* convert punts and literalsAleksey Kladov2019-01-311-6/+8
|
* Merge #692bors[bot]2019-01-311-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-281-0/+3
| |