about summary refs log tree commit diff
path: root/src/tools/rust-analyzer
AgeCommit message (Collapse)AuthorLines
2025-01-09Merge pull request #18887 from vishruth-thimmaiah/refactor_completions_testsLukas Wirth-448/+322
refactor test helpers within ide-completions
2025-01-09Make edition per-token, not per-fileChayim Refael Friedman-316/+480
More correctly, *also* per-token. Because as it turns out, while the top-level edition affects parsing (I think), the per-token edition affects escaping of identifiers/keywords.
2025-01-09Fix actual token lookup in completion's `expand()`Chayim Refael Friedman-1/+2
It should be left biased, not right biased, because when e.g. the use has typed `h` then requested completion, the `h` is what we want to find, not the next token (which might indeed be inside a macro call). I'm not sure why I wrote `right_biased()` to begin with (I remember I had a reason and not just "both should work"), I might've copied the code in `expand_and_analyze()` (which is wrong, because there it lookups on the speculative file, where right biased will always find the correct token and left biased not). This is still not perfect, because there might not be an identifier already typed then we might still end up in a macro call, but this is the best we can do.
2025-01-08minor: Use placeholders in `unwrap_return_type`Giga Bowser-2/+53
2025-01-08internal: Migrate `unwrap_return_type` assist to use `SyntaxEditor`Giga Bowser-58/+76
Also changes `make::expr_empty_block()` to return `ast::BlockExpr` instead of `ast::Expr`
2025-01-08internal: Migrate `wrap_return_type` assist to use `SyntaxEditor`Giga Bowser-63/+168
2025-01-08Add config setting which allows adding additional include paths to the VFS.Nicholas Rishel-3/+67
2025-01-08refactor test helpers within ide-completionsVishruth-Thimmaiah-448/+322
2025-01-08fix: requested changedqjerome-9/+4
2025-01-08fix: autogenerate filesqjerome-9/+12
2025-01-08refactor: struct holding cargo cfgs settingsqjerome-6/+15
2025-01-08Merge pull request #18884 from Veykril/push-xwqkorxozzkqLukas Wirth-34/+40
fix: Fix `env`/`option_env` macro check disregarding macro_rules definitions
2025-01-08fix: Fix `env`/`option_env` macro check disregarding macro_rules definitionsLukas Wirth-34/+40
2025-01-08Merge pull request #18855 from Giga-Bowser/migrate-if-letLukas Wirth-154/+433
internal: Migrate `if let` replacement assists to `SyntaxEditor`
2025-01-08Fix test-fixture autopublishingLaurențiu Nicola-2/+4
2025-01-07Fix a bug with missing binding in MBEChayim Refael Friedman-1/+2732
We should immediately mark them as finished, on the first entry. The funny (or sad) part was that this bug was pre-existing, but previously to #18327, it was causing us to generate bindings non-stop, 65535 of them, until we get to the hardcoded repetition limit, and then throw it all away. And it was so Blazingly Fast that nobody noticed. With #18327 however, this is still what happens, except that now instead of *merging* the fragments into the result, we write them on-demand. Meaning that when we hit the limit, we've already written all previous entries. This is a minor change, I thought for myself when I was writing this, and it's actually for the better, so who cares. Minor change? Not so fast. This caused us to emit 65535 repetitions, all of which the MBE infra needs to handle when calling other macros with the expansion, and convert to rowan tree etc., which resulted a *massive* hang. The test (and also `analysis-stats`) used to crash with stack overflow on this macro, because we were dropping some crazily deep rowan tree. Now they work properly. Because I am lazy, and also because I could not find the exact conditions that causes a macro match but with a missing binding, I just copied all macros from tracing. Easy.
2025-01-07Merge from rust-lang/rustLaurențiu Nicola-1/+1
2025-01-07Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2025-01-07Merge pull request #18870 from Veykril/push-vnpsptpolyolLukas Wirth-5/+0
Drop unnecessary tracing::warn
2025-01-07Merge pull request #18867 from Veykril/push-ntmxlropxkrrLukas Wirth-102/+191
internal: target-triple -> target-tuple + version fetching cleanup
2025-01-07Drop unnecessary tracing::warnLukas Wirth-5/+0
We already emit an error
2025-01-07Add some smoke tests to toolchain_infoLukas Wirth-23/+129
2025-01-07Align toolchain version fetching with other toolchain info queryingLukas Wirth-110/+93
Fix --target flag argument order in rustc_cfg fetching
2025-01-07target-triple -> target-tupleLukas Wirth-17/+17
2025-01-07Merge pull request #18788 from Veykril/push-zxystwnotuvqLukas Wirth-252/+159
Remove `rust-analyzer.cargo.sysrootQueryMetadata` config again
2025-01-07Remove `rust-analyzer.cargo.sysrootQueryMetadata` config againLukas Wirth-252/+159
2025-01-07Merge pull request #18864 from alexkirsz/alexkirsz/fix-diagnostics-clearingLukas Wirth-0/+14
fix: Fix diagnostics not clearing between flychecks
2025-01-07Merge pull request #18832 from vishruth-thimmaiah/fix_string_compChayim Refael Friedman-1/+72
fix: do not offer completions within macro strings
2025-01-07project-model: fix JSON project PackageRoot buildfile inclusionBogdan Mircea-10/+10
2025-01-07fix: do not offer completions within macro stringsVishruth-Thimmaiah-1/+72
2025-01-07lintAlex Kirszenberg-8/+6
2025-01-07fix: Fix diagnostics not clearing between flychecksAlex Kirszenberg-0/+16
2025-01-07Set test-utils dependency version, since it's now being publishedLaurențiu Nicola-1/+1
2025-01-07Merge pull request #18853 from ChayimFriedman2/no-completionLaurențiu Nicola-5/+105
Fix case where completion inside macro that expands to `#[test]` was unavailable
2025-01-06fix: clear diagnostics on cancel unconditionally, fixing #18854David Barsky-2/+2
2025-01-06internal: Migrate `if let` <=> `match` assists to `SyntaxEditor`Giga Bowser-45/+53
2025-01-06internal: Migrate `replace_let_with_if_let` assist to `SyntaxEditor`Giga Bowser-15/+12
2025-01-06internal: Add some pattern constructors to `SyntaxFactory`Giga Bowser-0/+26
2025-01-06internal: Add some expr constructors to `SyntaxFactory`Giga Bowser-2/+175
2025-01-06internal: Add some path constructors to `SyntaxFactory`Giga Bowser-1/+77
2025-01-06internal: `make::expr_match` should return `ast::MatchExpr`Giga Bowser-9/+9
2025-01-06internal: Generally improve `make::match_arm`Giga Bowser-56/+53
`make::match_arm` should take a single `ast::Pat`, and callers can handle creating an `ast::OrPat` if need be. It should also take a proper `ast::MatchGuard`, instead of making one itself.
2025-01-06internal: move `make::expr_unit` to `make::ext::expr_unit`Giga Bowser-18/+18
`expr_unit` is just a shortcut for a common expression, so it belongs in `make::ext`
2025-01-06internal: `make::expr_tuple` should return `ast::TupleExpr`Giga Bowser-8/+9
2025-01-06internal: `make::expr_if` should return `ast::IfExpr`Giga Bowser-7/+8
2025-01-06internal: `make::expr_prefix` should return `ast::PrefixExpr`Giga Bowser-8/+8
2025-01-06internal: Generalize `make::expr_from_text` to types which implement ↵Giga Bowser-1/+1
`Into<ast::Expr>` This will help with specializing the various `make::expr_*` functions later
2025-01-06Rename dependency tree view and dependency providerGiga Bowser-18/+18
2025-01-06Fix case where completion inside macro that expands to `#[test]` was unavailableChayim Refael Friedman-5/+105
We ignore `#[test]` in the def map, so that's why it failed.
2025-01-06Merge pull request #18852 from ChayimFriedman2/proc-macro-panicLaurențiu Nicola-14/+82
fix: Fix a bug that was caused by fixup reversing