aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax
Commit message (Collapse)AuthorAgeFilesLines
* Attempt to implement typed accessorsGeoffry Song2019-11-154-8/+50
|
* Move inclusive range check to validationGeoffry Song2019-11-154-8/+33
|
* Fix parsing of "postfix" range expressions.Geoffry Song2019-11-156-0/+118
| | | | | | | | | | Right now they are handled in `postfix_dot_expr`, but that doesn't allow it to correctly handle precedence. Integrate it more tightly with the Pratt parser instead. Also includes a drive-by fix for parsing `match .. {}`. Fixes #2242.
* Make make:: builders slightly more convenientAleksey Kladov2019-11-132-9/+12
|
* Use strongly-typed ast building for early-return assistAleksey Kladov2019-11-131-21/+31
|
* Forbid visibility qualifiers in traitsAleksey Kladov2019-11-114-1/+131
|
* Merge #2149bors[bot]2019-11-041-0/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | 2149: Handle IfLet in convert_to_guarded_return. r=matklad a=krk Fixes https://github.com/rust-analyzer/rust-analyzer/issues/2124 I could not move the cursor position out of `let`: `le<|>t` vs `let<|>`. Also, please suggest extra test cases. Co-authored-by: krk <[email protected]>
| * Support paths other than "Some".krk2019-11-011-2/+3
| |
| * Handle IfLet in convert_to_guarded_return.krk2019-10-311-0/+16
| |
* | Attach docs to staticskjeremy2019-10-312-1/+15
| |
* | traits => match_ast!kjeremy2019-10-301-5/+7
|/
* Document match_ast!kjeremy2019-10-301-0/+14
|
* Some clippy fixeskjeremy2019-10-301-2/+2
|
* fix parsing of for loops inside expressionsAleksey Kladov2019-10-283-48/+149
| | | | closes #2051
* Preserve whitespace at the end of doc commentsJeremy Kolb2019-10-272-4/+27
| | | | | | | | Whitespace can have special meaning in markdown. For instance ending a line with three spaces will render a new line. Note that this behavior diverges from RLS. Fixes #1997
* use correct spacing for enum patternAleksey Kladov2019-10-261-1/+1
|
* Adds "replace with guarded return" assistMikhail Modin2019-10-202-0/+36
|
* rename tools -> xtaskAleksey Kladov2019-10-171-1/+1
|
* Bump depsLaurențiu Nicola2019-10-171-1/+1
|
* Merge #2002bors[bot]2019-10-141-0/+1
|\ | | | | | | | | | | | | | | 2002: Remove unused dependencies r=matklad a=sinkuu Co-authored-by: Shotaro Yamada <[email protected]>
| * Enable `serde` feature in ra_syntax/Cargo.tomlShotaro Yamada2019-10-141-0/+5
| |
| * Remove smol_str dependency from ra_syntaxShotaro Yamada2019-10-111-4/+0
| |
* | add syntax-tree based indentsAleksey Kladov2019-10-122-6/+91
|/
* Merge #1951bors[bot]2019-10-084-0/+150
|\ | | | | | | | | | | | | | | | | | | | | | | | | 1951: Lower the precedence of the `as` operator. r=matklad a=goffrie Previously, the `as` operator was being parsed like a postfix expression, and therefore being given the highest possible precedence. That caused it to bind more tightly than prefix operators, which it should not. Instead, parse it somewhat like a normal binary expression with some special-casing. Fixes #1851. Co-authored-by: Geoffry Song <[email protected]>
| * Move tests aroundGeoffry Song2019-10-068-141/+193
| |
| * Lower the precedence of the `as` operator.Geoffry Song2019-10-034-43/+141
| | | | | | | | | | | | | | Previously, the `as` operator was being parsed like a postfix expression, and therefore being given the highest possible precedence. That caused it to bind more tightly than prefix operators, which it should not. Instead, parse it somewhat like a normal binary expression with some special-casing.
* | Merge #1960bors[bot]2019-10-054-132/+31
|\ \ | | | | | | | | | | | | | | | | | | | | | 1960: Replace AST visitors with macro r=viorina a=viorina Fixes #1672. Co-authored-by: Ekaterina Babshukova <[email protected]>
| * | remove `visitor` moduleEkaterina Babshukova2019-10-053-136/+21
| | |
| * | replace AST visitors with macroEkaterina Babshukova2019-10-052-8/+22
| | |
* | | Merge #1928bors[bot]2019-10-052-1/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1928: Support `#[cfg(..)]` r=matklad a=oxalica This PR implement `#[cfg(..)]` conditional compilation. It read default cfg options from `rustc --print cfg` with also hard-coded `test` and `debug_assertion` enabled. Front-end settings are **not** included in this PR. There is also a known issue that inner control attributes are totally ignored. I think it is **not** a part of `cfg` and create a separated issue for it. #1949 Fixes #1920 Related: #1073 Co-authored-by: uHOOCCOOHu <[email protected]> Co-authored-by: oxalica <[email protected]>
| * | Pass attributes as token tree to DefCollectoruHOOCCOOHu2019-10-022-1/+3
| |/
* / Fix parsing of block expressions in "forbid_structs" contexts.Geoffry Song2019-10-039-44/+217
|/ | | | | | Forbidding block expressions entirely is too strict; instead, we should only forbid them in contexts where we are parsing an optional RHS (i.e. the RHS of a range expression).
* Merge branch 'master' into feature/issue/1856Alexander Andreev2019-09-3037-657/+1095
|\ | | | | | | | | # Conflicts: # crates/ra_assists/src/ast_editor.rs
| * FixesuHOOCCOOHu2019-09-301-9/+0
| |
| * Fix API of AttruHOOCCOOHu2019-09-304-47/+26
| |
| * Parse correct AttrInputuHOOCCOOHu2019-09-3032-599/+825
| |
| * cleanup editorAleksey Kladov2019-09-301-1/+4
| |
| * remove ast_editor.rsAleksey Kladov2019-09-301-0/+12
| |
| * move remove bounds to ast/edit.rsAleksey Kladov2019-09-301-1/+15
| |
| * move field list to ast/edit.rsAleksey Kladov2019-09-302-3/+96
| |
| * migrate add impl items to the new editing APIAleksey Kladov2019-09-281-3/+94
| |
| * simplify strip attrsAleksey Kladov2019-09-283-3/+32
| |
* | Added test for check doc strings in crates.Alexander Andreev2019-09-3013-1/+25
|/ | | | #1856
* Merge #1815bors[bot]2019-09-271-0/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1815: Support correct `$crate` expansion in macros r=uHOOCCOOHu a=uHOOCCOOHu This PR makes normal use cases of `$crate` from macros work as expected. It makes more macros from `std` work. Type inference works well with `panic`, `unimplemented`, `format`, and maybe more. Sadly that `vec![1, 2, 3]` still not works, but it is not longer an issue about macro. Screenshot: ![Screenshot_20190927_022136](https://user-images.githubusercontent.com/14816024/65714465-b4568f80-e0cd-11e9-8043-dd44c2ae8040.png) Co-authored-by: uHOOCCOOHu <[email protected]>
| * Refactor `Name` ready for hygienic macrouHOOCCOOHu2019-09-261-0/+10
| |
* | Start simplifying editing APIAleksey Kladov2019-09-264-0/+103
|/
* move diff to ra_syntaxAleksey Kladov2019-09-261-0/+42
|
* keep ast creation API simpleAleksey Kladov2019-09-262-0/+136
|
* add new editing API, suitable for modifying several nodes at onceAleksey Kladov2019-09-253-0/+42
|
* fewer monomorphisationsAleksey Kladov2019-09-251-2/+2
|