aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge #7800bors[bot]2021-03-063-0/+407
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 7800: [WIP] 7708: Initial implementation of generate Default assist. r=Veykril a=chetankhilosiya The Generate Default impl from new function. Co-authored-by: Chetan Khilosiya <[email protected]>
| * | | 7708: rust ideomatic code fixes.Chetan Khilosiya2021-03-061-9/+11
| | | |
| * | | 7708: handle both FamousDefs fixture and plain code.Chetan Khilosiya2021-03-061-8/+18
| | | | | | | | | | | | | | | | Also fix typo in example.
| * | | 7708: Added the updated implementation of is_default_implemented.Chetan Khilosiya2021-03-061-33/+31
| | | | | | | | | | | | | | | | The implementation uses hir create to find the implemented trait.
| * | | 7708: Added the logic to check is default impl is already present.Chetan Khilosiya2021-03-061-18/+97
| | | | | | | | | | | | | | | | Also added test cases for code present within module.
| * | | 7708: Updated generate default fn logic.Chetan Khilosiya2021-03-061-22/+48
| | | |
| * | | 7708: Added the work for review comments.Chetan Khilosiya2021-03-061-31/+60
| | | | | | | | | | | | | | | | Also added 1 test case to test multiple struct blocks are present.
| * | | 7708: Fixed many documentaion example issues.Chetan Khilosiya2021-03-062-6/+37
| | | |
| * | | 7708: Format code through rust-analyzer formatter.Chetan Khilosiya2021-03-061-35/+44
| | | |
| * | | 7708: Initial implementation of generate Default assist.Chetan Khilosiya2021-03-062-0/+223
| | |/ | |/| | | | | | | The Generate Default impl from new function.
* | | Merge #7865bors[bot]2021-03-061-1/+37
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 7865: preserve escape sequences when replacing string with char r=Veykril a=jDomantas Currently it replaces escape sequence with the actual value, which is very wrong for `"\n"`. Co-authored-by: Domantas Jadenkus <[email protected]>
| * | preserve escape sequences when replacing string with charDomantas Jadenkus2021-03-031-1/+37
| | |
* | | generate function assist convert arg names to lower snake caseJosh Mcguigan2021-03-061-4/+52
| |/ |/|
* | Merge #7887bors[bot]2021-03-052-2/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 7887: Fix fail to parse :: for meta in mbe r=edwin0cheng a=edwin0cheng fixes #7886 bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * | Fix fail to parse :: for meta in mbeEdwin Cheng2021-03-052-2/+4
| | |
* | | Merge #7884bors[bot]2021-03-052-39/+43
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7884: Simplify TokenStream FromStr r=edwin0cheng a=edwin0cheng Make sure `FromStr` ignore all `TokenMap` in all cases. bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * | | Fix testEdwin Cheng2021-03-051-1/+1
| | | |
| * | | Simplify TokenStream FromStrEdwin Cheng2021-03-051-38/+42
| | | |
* | | | Merge #7869bors[bot]2021-03-051-0/+43
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 7869: Add support for deref assignments to "pull assignment up" assist. r=Veykril a=Jesse-Bakker Fixes #7867 Co-authored-by: Jesse Bakker <[email protected]>
| * | | Add support for deref assignments to "pull assignment up" assist.Jesse Bakker2021-03-051-0/+43
| |/ / | | | | | | | | | Fixes #7867
* | | Make two calls virtualLaurențiu Nicola2021-03-052-2/+2
| | |
* | | Merge #7880bors[bot]2021-03-051-2/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7880: Honor snippet capability when using the extract function assist r=lnicola a=Arthamys This fixes issue #7793 Co-authored-by: san <[email protected]>
| * | | Honor snippet capability in extract function assistsan2021-03-051-2/+8
| | | |
* | | | Merge #7870bors[bot]2021-03-0511-73/+68
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7870: Use chalk_ir::AdtId r=Veykril a=Veykril It's a bit unfortunate that we got two AdtId's now(technically 3 with the alias in the chalk module but that one won't allow pattern matching), one from hir_def and one from chalk_ir(hir_ty). But the hir_ty/chalk one doesn't leave hir so it shouldn't be that bad I suppose. Though if I see this right this will happen for almost all IDs. I imagine most of the intermediate changes to using chalk ids will turn out not too nice until the refactor is over. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Use chalk_ir::AdtIdLukas Wirth2021-03-0411-73/+68
| | |/ / | |/| |
* / | | Fix some warningsLaurențiu Nicola2021-03-052-2/+2
|/ / /
* | | Merge #7868bors[bot]2021-03-043-8/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7868: Migrate to user-centric config name for `cargo check` stuff r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Migrate to user-centric config name for `cargo check` stuffAleksey Kladov2021-03-043-8/+7
| | | |
* | | | Complete `while let`Lukas Wirth2021-03-032-9/+11
| | | |
* | | | Don't complete `super` unless its valid in pathsLukas Wirth2021-03-033-23/+34
| |_|/ |/| |
* | | Merge #7863bors[bot]2021-03-031-189/+189
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7863: Prevent renaming SelfType and BuiltinType r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Prevent renaming SelfType and BuiltinTypeLukas Wirth2021-03-031-0/+2
| | | |
| * | | Reorder functions in rename.rsLukas Wirth2021-03-031-189/+187
| | | |
* | | | Remove incorrect broken testJonas Schievink2021-03-031-24/+0
|/ / / | | | | | | | | | | | | `Struct` cannot be named at all in that position, since `super` doesn't resolve to the block scope
* | | Special-case parenthesized and negated expressions in demorgan assistJesse Bakker2021-03-031-2/+43
| | |
* | | Update lexerkjeremy2021-03-021-1/+1
|/ /
* | Merge #7851bors[bot]2021-03-022-616/+424
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7851: Compress tests r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Compress testsAleksey Kladov2021-03-022-616/+424
| | |
* | | chore: remove redundant testsConrad Ludgate2021-03-021-30/+0
| | |
* | | chore: codegenConrad Ludgate2021-03-021-19/+0
| | |
* | | refactor: re-use add_turbo_fish functionConrad Ludgate2021-03-023-201/+137
| | |
* | | chore: fmt + docsConrad Ludgate2021-03-021-2/+2
| | |
* | | chore: rename varConrad Ludgate2021-03-021-3/+3
| | |
* | | feat: add type ascription assistConrad Ludgate2021-03-023-0/+219
| | |
* | | Merge #7850bors[bot]2021-03-021-12/+62
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7850: Don't add space when joining line to opening quote r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Don't add space when joining line to opening quoteAleksey Kladov2021-03-021-12/+62
| | | |
* | | | Merge #7795bors[bot]2021-03-024-19/+139
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7795: Show docs on hover for keywords and primitives r=matklad a=Veykril ![lAWFadkziX](https://user-images.githubusercontent.com/3757771/109369534-eeb4f500-789c-11eb-8f2b-2f9c4e129de3.gif) It's a bit annoying that this requires the `SyntaxNode` and `Semantics` to be pulled through `hover_for_definition` just so we can get the `std` crate but I couldn't think of a better way. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Show docs on hover for keywords and primitivesLukas Wirth2021-03-024-19/+139
| | | | |
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge #7335 #7691bors[bot]2021-03-026-16/+1174
|\ \ \ \ \ \ | | | |_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7335: added region folding r=matklad a=LucianoBestia Regions of code that you'd like to be folded can be wrapped with `// #region` and `// #endregion` line comments. This is called "Region Folding". It is originally available for many languages in VSCode. But Rust-analyzer has its own folding function and this is missing. With this Pull Request I am suggesting a simple solution. The regions are a special kind of comments, so I added a bit of code in the comment folding function. The regex to match are: `^\s*//\s*#?region\b` and `^\s*//\s*#?endregion\b`. The number of space characters is not important. There is an optional # character. The line can end with a name of the region. Example: ```rust // 1. some normal comment // region: test // 2. some normal comment calling_function(x,y); // endregion: test ``` I added a test for this new functionality in `folding_ranges.rs`. Please, take a look and comment. I found that these exact regexes are already present in the file `language-configuration.json`, but I don't find a way to read this configuration. So my regex is hardcoded in the code. 7691: Suggest name in extract variable r=matklad a=cpud36 Generate better default name in extract variable assist as was mentioned in issue #1587 # Currently supported (in order of declining precedence) 1. Expr is argument to a function; use corresponding parameter name 2. Expr is result of a function or method call; use this function/method's name 3. Use expr type name (if possible) 4. Fallback to `var_name` otherwise # Showcase ![generate_derive_variable_name_from_method](https://user-images.githubusercontent.com/4218373/108013304-72105400-701c-11eb-9f13-eec52e74d0cc.gif) ![generate_derive_variable_name_from_param](https://user-images.githubusercontent.com/4218373/108013305-72a8ea80-701c-11eb-957e-2214f7f005de.gif) # Questions * Should we more aggressively strip known types? E.g. we already strip `&T -> T`; should we strip `Option<T> -> T`, `Result<T, E> -> T`, and others? * Integers and floats use `var_name` by default. Should we introduce a name, like `i`, `f` etc? * Can we return a list and suggest a name when renaming(like IntelliJ does)? * Should we add counters to remove duplicate variables? E.g. `type`, `type1`, type2`, etc. Co-authored-by: Luciano Bestia <[email protected]> Co-authored-by: Luciano <[email protected]> Co-authored-by: Vladyslav Katasonov <[email protected]>
| | * | | | strip useless methods, and unary ops in suggest_nameVladyslav Katasonov2021-03-021-7/+114
| | | | | |