aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge #2816bors[bot]2020-01-131-0/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2816: Add macro_rules item snippet r=matklad a=memoryruins An user trying out rust-analyzer mentioned to me that they missed `rls-vscode`'s [macro_rules snippet](https://github.com/rust-lang/rls-vscode/blob/c2293a63d4adc76ab714a5c6d0a2e9c7b7be77ed/snippets/rust.json#L60) ![2020-01-12_17-47-34](https://user-images.githubusercontent.com/6868531/72227227-fcf46480-3567-11ea-9e3b-2f7319d127f7.gif) Co-authored-by: memoryruins <[email protected]>
| * | | Add macro_rules item snippetmemoryruins2020-01-121-0/+8
| |/ /
* | | Merge #2768bors[bot]2020-01-136-17/+34
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 2768: Rename VS Code extension to rust-analyzer r=matklad a=matklad I want to merge this before release on Monday, such that we can give heads up on twitter Co-authored-by: Aleksey Kladov <[email protected]>
| * | Rename VS Code extension to rust-analyzerAleksey Kladov2020-01-136-17/+34
|/ /
* | Merge #2788bors[bot]2020-01-121-8/+36
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 2788: Fix file_structure() to recognize macro_rules! r=flodiebold a=ruabmbua Fixes https://github.com/rust-analyzer/rust-analyzer/issues/2774. Not sure what to do about classifying macro definitions. Maybe make all macro invocations a function invocation? Co-authored-by: Roland Ruckerbauer <[email protected]>
| * | Remove hir usage from macro_rules! detection in structure_node()Roland Ruckerbauer2020-01-122-6/+3
| | |
| * | Use hir .path() and .name() to differentiateRoland Ruckerbauer2020-01-122-23/+26
| | | | | | | | | | | | macro call and macro definition
| * | Added test for file_structure unidentified macro definitionRoland Ruckerbauer2020-01-121-4/+18
| | |
| * | Fix file_structure() to recognize macro_rules!Roland Ruckerbauer2020-01-121-3/+17
|/ / | | | | | | where first token != "macro_rules"
* | Merge #2814bors[bot]2020-01-121-49/+55
|\ \ | |/ |/| | | | | | | | | | | 2814: Update crates r=matklad a=kjeremy Adds a new dependency on autocfg 1.0. There are pending PRs against indexmap, crossbeam and rand to bring them up. Co-authored-by: Jeremy Kolb <[email protected]>
| * Update cratesJeremy Kolb2020-01-121-49/+55
| |
* | Merge #2712bors[bot]2020-01-121-15/+153
|\ \ | | | | | | | | | | | | | | | | | | | | | 2712: Supporting extend selection inside macro calls r=edwin0cheng a=edwin0cheng Co-authored-by: Edwin Cheng <[email protected]>
| * | Fix formatEdwin Cheng2020-01-121-5/+2
| | |
| * | Use prev_token and next_tokenEdwin Cheng2020-01-121-44/+47
| | |
| * | Use indices first and last instead of min-maxEdwin Cheng2020-01-121-3/+4
| | |
| * | Use first and last token onlyEdwin Cheng2020-01-121-35/+56
| | |
| * | Handle extend selection in recursive macroEdwin Cheng2020-01-121-27/+49
| | |
| * | Minor fixEdwin Cheng2020-01-121-5/+4
| | |
| * | Fix formattingEdwin Cheng2020-01-121-1/+1
| | |
| * | Supporting extend selection inside macro callsEdwin Cheng2020-01-121-14/+109
|/ /
* | Merge #2807bors[bot]2020-01-124-2/+55
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 2807: Use attr location for builtin derive in goto-implementation r=matklad a=edwin0cheng This PR is use attribute location for builtin derive in `ImplBlock`'s NavigationTarget such that the goto-implementation will goto to a correct position. Related to #2531 Co-authored-by: Edwin Cheng <[email protected]>
| * | Add testEdwin Cheng2020-01-121-0/+12
| | |
| * | Use attr location for builtin macro goto-impEdwin Cheng2020-01-123-2/+43
| |/
* | Merge #2809bors[bot]2020-01-123-19/+55
|\ \ | |/ |/| | | | | | | | | | | 2809: Qualify paths in 'fill match arms' assist r=matklad a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * Qualify paths in 'fill match arms' assistFlorian Diebold2020-01-123-19/+55
|/
* Merge #2803bors[bot]2020-01-113-1/+100
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2803: Fix various names, e.g. Iterator not resolving in core prelude r=matklad a=flodiebold Basically, `Iterator` is re-exported via several steps, which happened to not be resolved yet when we got to the prelude import, but since the name resolved to the reexport from `core::iter` (just to no actual items), we gave up trying to resolve it further. Maybe part of the problem is that we can have `PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate` with `None` in all namespaces, and handle them differently. Fixes #2683. Co-authored-by: Florian Diebold <[email protected]>
| * Fix various names, e.g. Iterator not resolving in core preludeFlorian Diebold2020-01-113-1/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | Basically, `Iterator` is re-exported via several steps, which happened to not be resolved yet when we got to the prelude import, but since the name resolved to the reexport from `core::iter` (just to no actual items), we gave up trying to resolve it further. Maybe part of the problem is that we can have `PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate` with `None` in all namespaces, and handle them differently. Fixes #2683.
* | Merge #2727bors[bot]2020-01-1119-85/+995
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2727: Qualify paths in 'add impl members' r=flodiebold a=flodiebold This makes the 'add impl members' assist qualify paths, so that they should resolve to the same thing as in the definition. To do that, it adds an algorithm that finds a path to refer to any item from any module (if possible), which is actually probably the more important part of this PR :smile: It handles visibility, reexports, renamed crates, prelude etc.; I think the only thing that's missing is support for local items. I'm not sure about the performance, since it takes into account every location where the target item has been `pub use`d, and then recursively goes up the module tree; there's probably potential for optimization by memoizing more, but I think the general shape of the algorithm is necessary to handle every case in Rust's module system. ~The 'find path' part is actually pretty complete, I think; I'm still working on the assist (hence the failing tests).~ Fixes #1943. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * | Use FxHashMapFlorian Diebold2020-01-113-3/+5
| | |
| * | Apply review suggestionsFlorian Diebold2020-01-119-47/+35
| | |
| * | Fix ordering problem between qualifying paths and substituting paramsFlorian Diebold2020-01-117-126/+206
| | |
| * | Some more refactoringFlorian Diebold2020-01-112-8/+16
| | |
| * | Fix file ID when qualifying paths; add another failing testFlorian Diebold2020-01-111-3/+31
| | |
| * | Handle type argsFlorian Diebold2020-01-112-9/+19
| | |
| * | More failing testsFlorian Diebold2020-01-111-1/+126
| | |
| * | Qualify some paths in 'add missing impl members'Florian Diebold2020-01-116-3/+128
| | |
| * | Use `self`Florian Diebold2020-01-111-0/+20
| | |
| * | CleanupFlorian Diebold2020-01-111-13/+25
| | |
| * | Handle cyclesFlorian Diebold2020-01-111-5/+54
| | |
| * | Use query for importable locationsFlorian Diebold2020-01-114-34/+77
| | |
| * | Use super, don't use private importsFlorian Diebold2020-01-111-2/+48
| | |
| * | Use shortest pathFlorian Diebold2020-01-111-4/+19
| | |
| * | handle most casesFlorian Diebold2020-01-112-11/+67
| | |
| * | basics workingFlorian Diebold2020-01-112-5/+117
| | |
| * | more WIPFlorian Diebold2020-01-112-12/+122
| | |
| * | find_path WIPFlorian Diebold2020-01-113-0/+58
| | |
| * | Add testFlorian Diebold2020-01-111-0/+23
| |/
* | Merge #2804bors[bot]2020-01-111-1/+1
|\ \ | |/ |/| | | | | | | | | | | 2804: Use lsp-seq-first in ra-emacs-lsp since that's more likely to exist r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * Use lsp-seq-first in ra-emacs-lsp since that's more likely to existFlorian Diebold2020-01-111-1/+1
|/
* Merge #2800bors[bot]2020-01-111-3/+1
|\ | | | | | | | | | | | | | | 2800: Stick to defaulter release profile r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>