about summary refs log tree commit diff
path: root/src/tools/rust-analyzer
AgeCommit message (Collapse)AuthorLines
2024-12-30Add a function to convert a SyntaxKind to its text, where possibleChayim Refael Friedman-0/+341
This will also help for the make's quote macro.
2024-12-30Generate a method for static retrieval of the SyntaxKind of a node, where ↵Chayim Refael Friedman-0/+1093
possible This will help for the quote macro for `ast::make`.
2024-12-29fix: Fix invalid `-O` flag used by cfg discoveryLukas Wirth-2/+23
2024-12-29Merge pull request #18785 from Veykril/push-uvsqposqyvmoLukas Wirth-436/+438
Cleanup toolchain info fetching
2024-12-29Merge pull request #18787 from Veykril/push-uymlpukspxqrLukas Wirth-1/+5
Automatically cancel CI checks on new push to same PR
2024-12-29Inline toolchain_info moduleLukas Wirth-17/+19
2024-12-29Automatically cancel CI checks on new push to same PRLukas Wirth-1/+5
2024-12-29Merge pull request #18774 from Veykril/push-ysppqxpuknnwLukas Wirth-129/+1335
Implement parameter variance inference
2024-12-29Force a current dir to be supplied for rustc info fetchingLukas Wirth-25/+37
2024-12-29Split out `ProjectWorkspace::load_cargo`Lukas Wirth-142/+139
2024-12-29Enforce a current directory being set for spawned commandsLukas Wirth-75/+99
2024-12-29Cleanup toolchain info fetchingLukas Wirth-230/+197
2024-12-29Merge pull request #18784 from Veykril/push-pqtwsvquxotyLukas Wirth-1/+1
fix: Do not merge spans if they have different anchors
2024-12-29fix: Do not merge spans if they have different anchorsLukas Wirth-1/+1
2024-12-29Describe variance resolution approach differences to rustcLukas Wirth-36/+27
2024-12-28Consider `Enum::Variant` even when it comes from a different crateChayim Refael Friedman-39/+66
2024-12-28Show variance of parameters on hoverLukas Wirth-12/+69
2024-12-28SimplifyLukas Wirth-101/+89
2024-12-28Get rid of constrain and solve stepsLukas Wirth-95/+44
2024-12-28Remove unnecessary VarianceTermLukas Wirth-74/+31
2024-12-28Implement parameter variance inferenceLukas Wirth-37/+1271
2024-12-28Merge pull request #18778 from Veykril/push-oontvoqmxknoLukas Wirth-3/+15
fix: Fix flycheck diagnostics flickering for binary targets
2024-12-28Add DynTyExt::principal_idLukas Wirth-12/+24
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