aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge #3692bors[bot]2020-03-2510-28/+144
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 3692: Introduce `MacroDefKind::CustomDerive` r=matklad a=edwin0cheng This PR introduce a new `MacroDefKind` `CustomDerive`. And use a new `ProcMacroExpander` for its expanding. And the expander is a dummy for now. Related: #3654 Co-authored-by: Edwin Cheng <[email protected]>
| * | Remove collect proc_macro definitionsEdwin Cheng2020-03-252-29/+25
| | |
| * | Fix trailling whitespaceEdwin Cheng2020-03-251-1/+1
| | |
| * | Rename to CustomDeriveEdwin Cheng2020-03-255-5/+5
| | |
| * | Refactoring a bitEdwin Cheng2020-03-253-15/+10
| | |
| * | Use dummy implementationEdwin Cheng2020-03-251-2/+3
| | |
| * | Add basic custom derive loweringEdwin Cheng2020-03-2511-28/+152
|/ /
* | Merge #3714bors[bot]2020-03-251-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3714: Use the right arch name for x86 (32 bit) r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Use the right arch name for x86 (32 bit)Aleksey Kladov2020-03-251-1/+1
| | |
* | | Merge #3713bors[bot]2020-03-251-11/+0
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 3713: Remove dead code r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Remove dead codeAleksey Kladov2020-03-251-11/+0
|/ /
* | Merge #3707bors[bot]2020-03-255-59/+50
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3707: Add ItemScope::visibility_of r=matklad a=edwin0cheng ~This PR implements `HasVisibility` for various constructs and change `Definition::search_scope` to use `Visibility` directly instead of depends on ad-hoc string parsing.~ This PR added `visibility_of` in `ItemScope` and `Module` and use it directly directly instead of depends on ad-hoc string parsing. And also add a FIXME to indicate that there is a bug which do not search child-submodules in other files recursively in `Definition::search_scope`. I will submit another PR to fix that bug after this is merged. cc @flodiebold Co-authored-by: Edwin Cheng <[email protected]>
| * | Use visibility_of in searchEdwin Cheng2020-03-241-35/+31
| | |
| * | Add ItemScope::visibility_ofEdwin Cheng2020-03-244-24/+19
| | |
* | | Merge #3710bors[bot]2020-03-2411-9/+218
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3710: Inlay hints for method chaining pattern r=matklad a=M-J-Hooper This PR adds inlay hints on method call chains: ![image](https://user-images.githubusercontent.com/13765376/77472008-8dc2a880-6e13-11ea-9c18-2c2e2b809799.png) It is not only explicit `MethodCall`s where this can be helpful. The heuristic used here is that whenever any expression is followed by a new line and then a dot, it resembles a call chain and type information can be #useful. Changes: - A new `InlayKind` for chaining. - New option for disabling this type of hints. - Tree traversal rules for identifying the chaining hints. - VSCode decorators in the extension layer (and associated types). Notes: - IntelliJ has additional rules and configuration on this topic. Eg. minimum length of chain to start displaying hints and only displaying distinct types in the chain. - I am checking for chaining on every `ast::Expr` in the tree; Are there performance concerns there? This is my first contribution (to RA and to Rust in general) so would appreciate any feedback. The only issue I can find the references this feature is #2741. Co-authored-by: Matt Hooper <[email protected]>
| * | | Improvements based on code review feedbackMatt Hooper2020-03-241-5/+5
| | | |
| * | | Fmt correctionsMatt Hooper2020-03-241-13/+9
| | | |
| * | | Added more unit testsMatt Hooper2020-03-241-76/+159
| | | |
| * | | Updated docsMatt Hooper2020-03-241-0/+2
| | | |
| * | | Extension types and renderingMatt Hooper2020-03-245-4/+39
| | | |
| * | | Added new inlay hint kind and rules for method chainingMatt Hooper2020-03-245-5/+98
|/ / /
* | | Merge #3664bors[bot]2020-03-242-171/+250
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3664: Introduce TokenConverter Trait r=matklad a=edwin0cheng This PR add a `TokenConverter` Trait to share the conversion logic between raw `lexer` token and Syntax Node Token. Related #2158. Co-authored-by: Edwin Cheng <[email protected]>
| * | | Add open delim when delim not matchEdwin Cheng2020-03-202-5/+28
| | | |
| * | | Fix text range bug and reorderEdwin Cheng2020-03-201-14/+19
| | | |
| * | | Add TokenConvertor traitEdwin Cheng2020-03-202-239/+155
| | | |
| * | | Add test for delim bugEdwin Cheng2020-03-202-12/+147
| | | |
* | | | Merge #3708bors[bot]2020-03-247-121/+270
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3708: Generalise syntax rewriting infrastructure to allow removal of nodes r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Generalise syntax rewriting infrastructure to allow removal of nodesAleksey Kladov2020-03-247-121/+252
| | | |
| * | | Add a testAleksey Kladov2020-03-231-0/+18
| | | |
* | | | Merge #3705bors[bot]2020-03-243-5/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3705: Align naming r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Align namingAleksey Kladov2020-03-243-5/+5
| | | | |
* | | | | Merge #3700bors[bot]2020-03-244-49/+52
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3700: fill match arms with empty block rather than unit tuple r=matklad a=JoshMcguigan As requested by @Veetaha in #3689 and #3687, this modifies the fill match arms assist to create match arms as an empty block `{}` rather than a unit tuple `()`. In one test I left one of the pre-existing match arms as a unit tuple, and added a body to another match arm, to demonstrate that the contents of existing match arms persist. Co-authored-by: Josh Mcguigan <[email protected]>
| * | | | update assists docsJosh Mcguigan2020-03-241-2/+2
| | | | |
| * | | | fill match arms with empty block rather than unit tupleJosh Mcguigan2020-03-243-47/+50
| | | | |
* | | | | Merge #3694bors[bot]2020-03-241-1/+61
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3694: Complete only missing fields r=matklad a=SomeoneToIgnore Co-authored-by: Kirill Bulatov <[email protected]>
| * | | | | Code review fixesKirill Bulatov2020-03-241-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Aleksey Kladov <[email protected]>
| * | | | | Complete only missing fieldsKirill Bulatov2020-03-231-1/+60
| | |_|_|/ | |/| | |
* | | | | Merge #3704bors[bot]2020-03-241-0/+10
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3704: Add troubleshooting secion r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Add troubleshooting secionAleksey Kladov2020-03-241-0/+10
|/ / / / /
* | | | | Merge #3695bors[bot]2020-03-241-61/+45
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3695: vscode: simplify and refactor config r=matklad a=Veetaha Removed unnecessary interfaces, changed `cfg` to be a getter to ensure the fresh values any time possible. Migrated from explicit casts to implicit. Co-authored-by: veetaha <[email protected]>
| * | | | | vscode: simplify and refactor configveetaha2020-03-231-61/+45
| |/ / / /
| | | | |
| \ \ \ \
| \ \ \ \
| \ \ \ \
*---. \ \ \ \ Merge #3696 #3698 #3703bors[bot]2020-03-245-40/+150
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3696: vscode: more type safety r=matklad a=Veetaha 3698: Consider references when applying postfix completions r=matklad a=SomeoneToIgnore Sometimes my RA debugging workflow breaks because `.dbg` is applied to the variable that is used later in the code. It's safer to consider the refences to avoid this for completions that may trigger the move. 3703: Don't try to enable proposed API's on stable r=matklad a=matklad bors r+ 🤖 Co-authored-by: veetaha <[email protected]> Co-authored-by: Kirill Bulatov <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| | | * | | | | Don't try to enable proposed API's on stableAleksey Kladov2020-03-243-21/+17
| | | | |/ / / | | | |/| | |
| | * / | | | Consider references when applying postfix completionsKirill Bulatov2020-03-231-17/+123
| | |/ / / /
| * | / / / vscode: more type safetyveetaha2020-03-231-2/+10
| | |/ / / | |/| | |
* | | | | Merge #3685bors[bot]2020-03-249-37/+100
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3685: Auto import macros r=SomeoneToIgnore a=SomeoneToIgnore If I got it right, assists test infra does not support multiple crates snippets (https://github.com/rust-analyzer/rust-analyzer/blob/2720e2374be951bb762ff2815dd67c7ffe3419b7/crates/ra_hir_def/src/nameres/tests.rs#L491) hence no tests added for the macro import. Co-authored-by: Kirill Bulatov <[email protected]>
| * | | | Add a testKirill Bulatov2020-03-242-9/+45
| | | | |
| * | | | Use more generic public apiKirill Bulatov2020-03-249-47/+58
| | | | |
| * | | | Remove the upcastKirill Bulatov2020-03-241-3/+7
| | | | |
| * | | | Auto import macrosKirill Bulatov2020-03-245-34/+46
|/ / / /