aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-1651-794/+813
| | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate).
* Remove dat fixmeVeetaha2020-03-161-1/+1
|
* Merge #3573bors[bot]2020-03-161-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3573: Check all crates of the workspace r=matklad a=matklad Previously, if the root of the was was a real crate, only this crate was checked. Ideally, we might want some kind of config here (which might be just overriding the whole command), but `--workspace` is def a nicer default. r? @kiljacken Co-authored-by: Aleksey Kladov <[email protected]>
| * Check all crates of the workspaceAleksey Kladov2020-03-131-0/+1
| | | | | | | | | | | | | | | | | | Previously, if the root of the was was a real crate, only this crate was checked. Ideally, we might want some kind of config here (which might be just overriding the whole command), but `--workspace` is def a nicer default.
* | Merge #3587bors[bot]2020-03-162-11/+77
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3587: Use WorkDoneProgress LSP API for initial load r=matklad a=slyngbaek Addresses #3283 Rather than using custom UI for showing the loaded state. Rely on the WorkDoneProgress API in 3.15.0 https://microsoft.github.io/language-server-protocol/specification#workDoneProgress. No client-side work was necessary. The UI is not exactly what is described in the issue but afaict that's how VS Code implements the LSP API. - The WorkDoneProgressEnd does not appear to display its message contents (controlled by vscode) Co-authored-by: Steffen Lyngbaek <[email protected]>
| * | Fix tests part 2...Steffen Lyngbaek2020-03-161-34/+31
| | |
| * | Fix broken testsSteffen Lyngbaek2020-03-161-26/+29
| | | | | | | | | | | | - Handle case of no projects. The notification still needs to be posted
| * | Rely on the safer workspace_loaded checkSteffen Lyngbaek2020-03-161-13/+15
| | |
| * | Fix broken testsSteffen Lyngbaek2020-03-141-5/+10
| | | | | | | | | | | | - Properly wait for workspace loading to be done
| * | Use idiomatic way of defining floatsSteffen Lyngbaek2020-03-131-2/+2
| | |
| * | Use WorkDoneProgress LSP API for initial loadSteffen Lyngbaek2020-03-131-6/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Addresses #3283 Rather than using custom UI for showing the loaded state. Rely on the WorkDoneProgress API in 3.15.0 https://microsoft.github.io/language-server-protocol/specification#workDoneProgress. No client-side work was necessary. The UI is not exactly what is described in the issue but afaict that's how VS Code implements the LSP API. - The WorkDoneProgressEnd does not appear to display its message contents (controlled by vscode)
* | | Merge #3603bors[bot]2020-03-166-10/+28
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3603: Fix crate display name dashes r=matklad a=SomeoneToIgnore A follow-up of https://github.com/rust-analyzer/rust-analyzer/pull/3602#discussion_r392733525 Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Use Display instead of a custom methodKirill Bulatov2020-03-163-19/+17
| | | |
| * | | Fix crate display name dashesKirill Bulatov2020-03-166-20/+40
| | | |
* | | | Merge #3540bors[bot]2020-03-165-12/+52
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3540: Swtches to rust SSR query check r=matklad a=mikhail-m1 related to #3186 Co-authored-by: Mikhail Modin <[email protected]>
| * | | | Swtches to rust SSR query checkMikhail Modin2020-03-155-12/+52
| | | | |
* | | | | Merge #3598bors[bot]2020-03-161-17/+3
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3598: ra_hir_expand: migrate to impl_intern_key!() r=matklad a=Veetaha Co-authored-by: Veetaha <[email protected]> Co-authored-by: Veetaha <[email protected]>
| * | | | ra_hir_expand: change the ordering of imports as per the formatterVeetaha2020-03-151-1/+1
| | | | |
| * | | | ra_hir_expand: migrate to impl_intern_key!()Veetaha2020-03-151-17/+3
| | | | |
* | | | | Merge #3602bors[bot]2020-03-162-66/+33
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3602: ra_ide: remove dead code, migrate from readonly String -> &str r=matklad a=Veetaha https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/hover/near/190671355 Co-authored-by: veetaha <[email protected]>
| * | | | ra_ide: refactor readonly String -> &strveetaha2020-03-162-25/+28
| | | | |
| * | | | ra_ide: remove dead code in HoverResultveetaha2020-03-151-41/+5
| | | | |
* | | | | Merge #3591bors[bot]2020-03-156-16/+96
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3591: Support local macro_rules r=matklad a=edwin0cheng This PR implement local `macro_rules` in function body, by adding following things: 1. While lowering, add a `MacroDefId` in body's `ItemScope` as a textual legacy macro. 2. Make `Expander::enter_expand` search with given `ItemScope`. 3. Make `Resolver::resolve_path_as_macro` search with `LocalItemScope`. Fix #2181 Co-authored-by: Edwin Cheng <[email protected]>
| * | | | | Support local macro_rulesEdwin Cheng2020-03-146-16/+96
| | | | | |
* | | | | | Fix completion of trait itemsFlorian Diebold2020-03-143-11/+80
| |/ / / / |/| | | | | | | | | | | | | | Trait items should be public by default.
* | | | | SimplifyAleksey Kladov2020-03-132-8/+5
| | | | |
* | | | | Simplify testsAleksey Kladov2020-03-131-20/+20
| | | | |
* | | | | Don't use generic DB where a concrete one will doAleksey Kladov2020-03-132-9/+8
|/ / / /
| | | |
| \ \ \
*-. \ \ \ Merge #3561 #3577bors[bot]2020-03-138-42/+98
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3561: feat: add debug code lens r=matklad a=hdevalke Refs #3539 3577: Protect against infinite macro expansion in def collector r=edwin0cheng a=flodiebold Something I noticed while trying to make macro expansion more resilient against errors. There was a test for this, but it wasn't actually working because the first recursive expansion failed. (The comma...) Even with this limit, that test (when fixed) still takes some time to pass because of the exponential growth of the expansions, so I disabled it and added a different one without growth. CC @edwin0cheng Co-authored-by: Hannes De Valkeneer <[email protected]> Co-authored-by: hdevalke <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| | * | | | Protect against infinite macro expansion in def collectorFlorian Diebold2020-03-131-9/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a test for this, but it wasn't actually working because the first recursive expansion failed. (The comma...) Even with this limit, that test (when fixed) still takes some time to pass because of the exponential growth of the expansions, so I disabled it and added a different one without growth.
| * | | | | fixup! feat: add debug code lensHannes De Valkeneer2020-03-124-16/+24
| | | | | | | | | | | | | | | | | | | | | | | | autodetect vscode-lldb
| * | | | | fixup! feat: add debug code lensHannes De Valkeneer2020-03-122-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | avoid repetition of `--no-run`
| * | | | | Update crates/rust-analyzer/src/main_loop/handlers.rs hdevalke2020-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use `Vec::new` instead of `Vec::with_capacity(0)` Co-Authored-By: Veetaha <[email protected]>
| * | | | | feat: add debug code lensHannes De Valkeneer2020-03-114-27/+45
| | | | | | | | | | | | | | | | | | | | | | | | Refs #3539
* | | | | | Parse variadics correctlyAleksey Kladov2020-03-137-14/+178
| |/ / / / |/| | | | | | | | | | | | | | closes #3571
* | | | | Fix completion of HashMap::newFlorian Diebold2020-03-135-6/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `ty` function in code_model returned the type with placeholders for type parameters. That's nice for printing, but not good for completion, because placeholders won't unify with anything else: So the type we got for `HashMap` was `HashMap<K, V, T>`, which doesn't unify with `HashMap<?, ?, RandomState>`, so the `new` method wasn't shown. Now we instead return `HashMap<{unknown}, {unknown}, {unknown}>`, which does unify with the impl type. Maybe we should just expose this properly as variables though, i.e. we'd return something like `exists<type, type, type> HashMap<?0, ?1, ?2>` (in Chalk notation). It'll make the API more complicated, but harder to misuse. (And it would handle cases like `type TypeAlias<T> = HashMap<T, T>` more correctly.)
* | | | | Restore cargo-fmt gatingAleksey Kladov2020-03-133-14/+9
| | | | |
* | | | | Move verbose tests out of lineAleksey Kladov2020-03-1310-77/+91
| | | | |
* | | | | Merge #3553bors[bot]2020-03-135-11/+107
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3553: Completions do not show for function with same name as mod r=matklad a=JoshMcguigan fixes #3444 I've added a test case in `crates/ra_ide/src/completion/complete_path.rs` which verifies the described behavior in #3444. Digging in, I found that [the module scope iterator](https://github.com/JoshMcguigan/rust-analyzer/blob/ba62d8bd1ce8a68b8d21aaf89ae1ea6787f18366/crates/ra_ide/src/completion/complete_path.rs#L22) only provides the module `z`, and does not provide the function `z` (although if I name the function something else then it does show up here). I thought perhaps the name wasn't being properly resolved, but I added a test in `crates/ra_hir_def/src/nameres/tests.rs` which seems to suggest that it is? I've tried to figure out how to bridge the gap between these two tests (one passing, one failing) to see where the function `z` is being dropped, but to this point I haven't been able to track it down. Any pointers on where I might look for this? Co-authored-by: Josh Mcguigan <[email protected]>
| * | | | fix issue 3444Josh Mcguigan2020-03-135-11/+107
| |/ / /
* | | | Merge #3572bors[bot]2020-03-131-0/+34
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3572: Add test for completion of unresolved items r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Add test for completion of unresolved itemsAleksey Kladov2020-03-131-0/+34
| | |_|/ | |/| |
* / | | Remove some TextUnit->usize escapeesCAD972020-03-137-27/+31
|/ / /
* | | Fix completion testsAleksey Kladov2020-03-123-0/+12
| | |
* | | Simpler deserializationAleksey Kladov2020-03-125-27/+32
| | |
* | | Make naming more uniformAleksey Kladov2020-03-126-35/+35
| | |
* | | Merge #3543bors[bot]2020-03-127-33/+123
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3543: Parameter inlay hint separate from variable type inlay? #2876 r=matklad a=slyngbaek Add setting to allow enabling either type inlay hints or parameter inlay hints or both. Group the the max inlay hint length option into the object. - Add a new type for the inlayHint options. - Add tests to ensure the inlays don't happen on the server side Co-authored-by: Steffen Lyngbaek <[email protected]>
| * | | Switch from Vec<InlayKind> to object with propsSteffen Lyngbaek2020-03-127-56/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Instead of a single object type, use several individual nested types to allow toggling from the settings GUI - Remove unused struct definitions - Install and test that the toggles work
| * | | Deduplicate some Inlay definitionsSteffen Lyngbaek2020-03-113-36/+31
| | | | | | | | | | | | | | | | - Remove match conversion for InlayKind since we're using remote
| * | | Address Issues from GithubSteffen Lyngbaek2020-03-108-43/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Updated naming of config - Define struct in ra_ide and use remote derive in rust-analyzer/config - Make inlayConfig type more flexible to support more future types - Remove constructor only used in tests