about summary refs log tree commit diff
path: root/src/tools/rust-analyzer
AgeCommit message (Collapse)AuthorLines
2024-12-28Downgrade salsa log levelsLukas Wirth-68/+86
2024-12-28fix: Fix flycheck diagnostics flickering for binary targetsLukas Wirth-3/+15
2024-12-27Only include SCIP SymbolInformation for first inherent implMichael Sloan-33/+52
2024-12-27Message updates from reviewMichael Sloan-4/+4
2024-12-27Update crates/ide/src/moniker.rsMichael Sloan-2/+1
Co-authored-by: David Barsky <me@davidbarsky.com>
2024-12-27Update crates/ide/src/moniker.rsMichael Sloan-2/+1
Co-authored-by: David Barsky <me@davidbarsky.com>
2024-12-27fix doc typoErithax-1/+1
2024-12-27Merge pull request #18744 from gbbosak/masterLukas Wirth-0/+1
Treat ; as a terminator rather part of a glued expression
2024-12-26Merge pull request #18762 from ↵Lukas Wirth-5/+28
davidbarsky/davidbarsky/wrap-salsa-cancellation-error internal: wrap `salsa::Cycle`
2024-12-26Merge pull request #18761 from Veykril/push-vktnzltnxuprLukas Wirth-7/+6
internal: Swallow `error: config value is not set` cargo error
2024-12-26internal: wrap `salsa::Cycle`David Barsky-5/+28
2024-12-26internal: Swallow `error: config value is not set` cargo errorLukas Wirth-7/+6
2024-12-26internal: Workaround salsa cycles leakingLukas Wirth-6/+11
2024-12-26minor: format editor/coderoife-13/+14
2024-12-26move env vars for snapshot tests to UpdateTestroife-15/+33
2024-12-26optimize snapshot-testing macro detection and add testsroife-45/+137
2024-12-26fix incorrect name for UpdateTest configroife-4/+4
2024-12-26fix: await setting config to `not ask before UpdateTest` and formatroife-7/+7
2024-12-26feat: add config `UpdateTest` to hover actionsroife-2/+26
2024-12-26feat: support UpdateTest in hover actions and runnablesroife-30/+32
2024-12-26feat: support UpdateTest in codelensroife-57/+204
2024-12-26feat: Add TestDefs to find usage of Expect, Insta and Snapboxroife-21/+168
2024-12-26Use empty `SymbolInformation.signature_documentation.relative_path`Michael Sloan-9/+2
I'm fairly sure this is more correct, and saves space(~90mb to 82mb for Zed's index). I'm checking in about this with SCIP folks in https://github.com/sourcegraph/scip/pull/299.
2024-12-26Provide SCIP `external_symbols` + fix symbols provided with DocumentMichael Sloan-58/+146
Before this change `SymbolInformation` provided by a document was the info for all encountered symbols that have not yet been emitted. So, the symbol information on a `Document` was a mishmash of symbols defined in the documents, symbols from other documents, and external symbols. After this change, the `SymbolInformation` on documents is just the locals and defined symbols from the document. All symbols referenced and not from emitted documents are included in `external_symbols`.
2024-12-25Improve SCIP symbolsMichael Sloan-270/+522
In particular, the symbol generation before this change creates a lot of symbols with the same name for different definitions. This change makes progress on symbol uniqueness, but does not fix a couple cases where it was unclear to me how to fix (see TODOs in `scip.rs`) Behavior changes: * `scip` command now reports symbol information omitted due to symbol collisions. Iterating with this on a large codebase (Zed!) resulted in the other improvements in this change. * Generally fixes providing the path to nested definitions in symbols. Instead of having special cases for a couple limited cases of nesting, implements `Definition::enclosing_definition` and uses this to walk definitions. * Parameter variables are now treated like locals. - This fixes a bug where closure captures also received symbols scoped to the containing function. To bring back parameter symbols I would want a way to filter these out, since they can cause symbol collisions. - Having symbols for them seems to be intentional in 27e2eea54fbd1edeefa2b47ddd4f552a04b86582, but no particular use is specified there. For the typical indexing purposes of SCIP I don't see why parameter symbols are useful or sensible, as function parameters are not referencable by anything but position. I can imagine they might be useful in representing diagnostics or something. * Inherent impls are now represented as `impl#[SelfType]` - a type named `impl` which takes a single type parameter. * Trait impls are now represented as `impl#[SelfType][TraitType]` - a type named `impl` which takes two type parameters. * Associated types in traits and impls are now treated like types instead of type parameters, and so are now suffixed with `#` instead of wrapped with `[]`. Treating them as type parameters seems to have been intentional in 73d9c77f2aeed394cf131dce55807be2d3f54064 but it doesn't make sense to me, so changing it. * Static variables are now treated as terms instead of `Meta`, and so receive `.` suffix instead of `:`. * Attributes are now treated as `Meta` instead of `Macro`, and so receive `:` suffix instead of `!`. * `enclosing_symbol` is now provided for labels and generic params, which are local symbols. * Fixes a bug where presence of `'` causes a descriptor name to get double wrapped in backticks, since both `fn new_descriptor` and `scip::symbol::format_symbol` have logic for wrapping in backticks. Solution is to simply delete the redundant logic. * Deletes a couple tests in moniker.rs because the cases are adequeately covered in scip.rs and the format for identifiers used in moniker.rs is clunky with the new representation for trait impls
2024-12-25fix missing name enum when hovering on fields in variantsroife-3/+14
2024-12-24fix: Fix metrics workflow using the wrong download-artifact versionLukas Wirth-1/+1
2024-12-24Merge pull request #18743 from ChayimFriedman2/e0107Lukas Wirth-275/+881
feat: Unify handling of path diagnostics in hir-ty
2024-12-24Merge pull request #18754 from Veykril/push-zkkzxrsxnqnmLukas Wirth-140/+209
Cleanup target fetching for cargo metadata
2024-12-24Unify handling of path diagnostics in hir-tyChayim Refael Friedman-247/+848
Because it was a mess. Previously, pretty much you had to handle all path diagnostics manually: remember to check for them and handle them. Now, we wrap the resolver in `TyLoweringContext` and ensure proper error reporting. This means that you don't have to worry about them: most of the things are handled automatically, and things that cannot will create a compile-time error (forcing you top `drop(ty_lowering_context);`) if forgotten, instead of silently dropping the diagnostics. The real place for error reporting is in the hir-def resolver, because there are other things resolving, both in hir-ty and in hir-def, and they all need to ensure proper diagnostics. But this is a good start, and future compatible. This commit also ensures proper path diagnostics for value/pattern paths, which is why it's marked "feat".
2024-12-24Cleanup target fetching for cargo metadataLukas Wirth-140/+209
2024-12-24Merge pull request #18707 from ChayimFriedman2/substLukas Wirth-186/+1015
feat: Show substitution where hovering over generic things
2024-12-24Merge pull request #18718 from Giga-Bowser/fix-syntaxfactory-intoiteratorLukas Wirth-16/+28
internal: Standardize how we take iterator parameters in `SyntaxFactory`
2024-12-24Merge pull request #18722 from markmurphydev/status_bar_settingsLukas Wirth-35/+62
Rename `rust-analyzer.statusBar.documentSelector` to `showStatusBar`, add "always" and "never" options.
2024-12-24Merge pull request #18750 from Veykril/push-tyvtqpwrwvsrLukas Wirth-103/+7
Back out "internal: Disable rustc test metrics"
2024-12-24Back out "internal: Disable rustc test metrics"Lukas Wirth-2/+7
This backs out commit d9a08624aad55a91f839e6ee3acf7117d197cda9.
2024-12-24Remove dangling outdated test moduleLukas Wirth-101/+0
2024-12-24Merge pull request #18749 from PrototypeNM1/windows-debugger-waitLukas Wirth-7/+25
minor: Break out of waiting for debugger on Windows using native debugger check API.
2024-12-23minor: Break out of waiting for debugger on Windows using native debugger ↵Nicholas Rishel-7/+25
check API. For Windows, this removes the need to add a breakpoint and modify a value to exit the debugger wait loop. As a ridealong, this adds a 100ms sleep for all platforms such that waiting for the debugger doesn't hog the CPU thread.
2024-12-23Auto merge of #134681 - lnicola:sync-from-ra, r=lnicolabors-2151/+3082
Subtree update of `rust-analyzer` r? `@ghost`
2024-12-23Bump rustc cratesLaurențiu Nicola-17/+17
2024-12-23Merge from rust-lang/rustLaurențiu Nicola-3/+5
2024-12-23Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2024-12-23Revert "Auto merge of #130766 - clarfonthey:stable-coverage-attribute, ↵Zalathar-1/+1
r=wesleywiser" This reverts commit 1d35638dc38dbfbf1cc2a9823135dfcf3c650169, reversing changes made to f23a80a4c2fbca593b64e70f5970368824b4c5e9.
2024-12-22Treat ; as a terminator rather than something that can be glued together in ↵Brian Bosak-0/+1
an expression
2024-12-22Merge pull request #18742 from Veykril/push-yswvkzmsvqqlLukas Wirth-7/+7
fix: Fix flycheck workspace when requested but package was found
2024-12-22fix: Fix flycheck workspace when requested but package was foundLukas Wirth-7/+7
2024-12-22fix: Delay initial flycheck until after build scriptsLukas Wirth-6/+12
2024-12-22Merge pull request #18738 from Veykril/push-vqxqutskzvvuLukas Wirth-8/+13
fix: Properly check if workspace flychecking is allowed
2024-12-22Merge pull request #18740 from Veykril/push-tntsvtmtlotwLukas Wirth-20/+20
fix: Fix empty check diagnostics not marking files as changed