Hayashi Mikihiro
82dfdacb78
Modify around add_trait_assoc_items_to_impl to migrate add_missing_impl_members
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-26 00:22:29 +09:00
Hmikihiro
827e3f7c17
migrate_replace_derive_with_manual_impl
2025-07-25 19:50:44 +09:00
Hmikihiro
4a0527f78c
split ted from gen_trait_fn_body
2025-07-25 19:50:44 +09:00
Lukas Wirth
7e526b6be7
Add expression fill mode variant for filling with underscore expressions
2025-04-28 10:39:36 +02:00
Chayim Refael Friedman
c58ddafe90
Make HirFileId, EditionedFileId and macro files Salsa struct
...
And make more queries non-interned.
Also flip the default for queries, now the default is to not intern and to intern a query you need to say `invoke_interned`.
2025-04-19 22:10:52 +03:00
Chayim Refael Friedman
7b584ef9bf
Allow crate authors to control completion of their things
...
Via the new `#[rust_analyzer::completions(...)]` attribute.
Also fix a bug with existing settings for that where the paths wouldn't resolve correctly.
2025-03-27 14:01:26 +02:00
Felicián Németh
f2ad0fcb21
Speed up resolving "Generate delegate method" assist (part 2)
...
Make it compile by adding a `None` subtype to rest of the AssistId
instantiations.
2025-03-22 09:58:44 +01:00
Lukas Wirth
3086e5fe90
chore: Remove some unnecessary usage of Semantics
2025-03-21 20:09:03 +01:00
Ali Bektas
1afbcc06f3
Test unsafeness is respected when manual impling derives
2025-03-17 22:37:21 +01:00
Ali Bektas
824df43d2d
Observe unsafeness only for replace_derive_with_manual_impl
2025-03-17 21:57:21 +01:00
BenjaminBrienen
7535bb4661
cargo fmt
2025-03-15 21:32:01 +01:00
Lukas Wirth
ada5f2059c
fix: Fix path qualified auto-importing completions not working with re-exports
...
Prior to this commit we used to generate import paths, then zipped them with the existing qualifier to check if they agree on the path to import.
This is brittle when re-exports come into play causing items to have multiple applicable paths that refer to them.
This commit instead rewrites this logic by generating the import path for the qualifier, verifying that the rest of the qualifier resolves and then doing a final lookup on that resolution result for the final segment instead.
2024-12-16 13:20:55 +01:00
1hakusai1
fc2b70132f
Generate implementation with items even if snippet text edit is disabled
2024-12-12 18:55:14 +09:00
Chayim Refael Friedman
9d3368f2c2
Properly account for editions in names
...
This PR touches a lot of parts. But the main changes are changing
`hir_expand::Name` to be raw edition-dependently and only when necessary
(unrelated to how the user originally wrote the identifier),
and changing `is_keyword()` and `is_raw_identifier()` to be edition-aware
(this was done in #17896 , but the FIXMEs were fixed here).
It is possible that I missed some cases, but most IDE parts should properly
escape (or not escape) identifiers now.
The rules of thumb are:
- If we show the identifier to the user, its rawness should be determined
by the edition of the edited crate. This is nice for IDE features,
but really important for changes we insert to the source code.
- For tests, I chose `Edition::CURRENT` (so we only have to (maybe) update
tests when an edition becomes stable, to avoid churn).
- For debugging tools (helper methods and logs), I used `Edition::LATEST`.
2024-08-16 16:46:24 +03:00
Lukas Wirth
e3f16223c8
Simplify
2024-07-22 09:54:31 +02:00
Shohei Wada
3725ab3146
squash.
2024-07-02 01:52:34 +09:00
David Barsky
b75301cec8
internal: refactor prefer_no_std/prefer_prelude bools into a struct
2024-05-22 20:46:30 +02:00
Lukas Wirth
c88b421853
fix: Fix general find-path inconsistencies
2024-05-22 14:05:24 +02:00
DropDemBits
05b8ccc378
Fix clippy lints
2024-02-08 19:39:04 -05:00
DropDemBits
8eebf1701b
Migrate replace_derive_with_manual_impl to mutable ast
2024-02-08 19:13:10 -05:00
Lukas Wirth
2666349392
Remove limit from symbol_index::Query
2024-01-04 19:20:10 +01:00
Lukas Wirth
634d588fd7
Simplify
2023-12-06 14:36:39 +01:00
Lukas Wirth
890eb17b4e
Replace ID based TokenMap with proper relative text-ranges / spans
2023-11-28 10:55:39 +01:00
Lukas Wirth
ba61766217
Add config for preferring / ignoring prelude modules in find_path
2023-11-11 14:56:38 +01:00
Ali Bektas
915ddb05fa
HiddenDocAttr becomes DocHiddenAttr
2023-07-07 14:15:15 +02:00
Ali Bektas
8a2c5d215b
Still in need of more test cases
2023-07-04 19:27:50 +02:00
Ali Bektas
0df1153277
bugfix : skip doc(hidden) default members
...
fixes #14957
2023-07-04 19:27:50 +02:00
Ryo Yoshida
8cd4e9f7ec
Merge assoc_items_only and exclude_import_kinds into assoc_mode
2023-06-30 23:37:10 +09:00
Ryo Yoshida
ed8c58a3b1
Remove commented out conflicts
2023-06-11 17:14:36 +09:00
Ryo Yoshida
008f5065d1
fix(assist): derive source scope from syntax node to be transformed
2023-06-11 15:25:36 +09:00
DropDemBits
e6e72bf9d5
Migrate add_missing_impl_members to mutable ast
...
`replace_derive_with_manual_impl` was slightly since it used
`add_trait_assoc_items_to_impl`
(which was also used by `add_missing_impl_members`)
2023-06-05 00:23:10 -04:00
Lukas Wirth
a2a3fecae3
Option begone part 2
2023-04-16 19:20:48 +02:00
Ryo Yoshida
fc56cacfc1
Test TraitRef equality before generating missing impl method body
2023-01-16 20:55:56 +09:00
rami3l
12b05d2416
fix: add generic TypeBoundList in generated derivable impl
2022-12-14 19:18:05 +08:00
rami3l
57fb18e3bd
fix: refine fallback case in generated PartialEq impl
2022-12-07 10:25:17 +08:00
rami3l
fed74c8b71
fix: add fallback case in generated PartialEq impl
2022-12-06 21:54:53 +08:00
bvanjoi
a4f071afd5
fix(assists): remove item_const which had default value when implement missing members`
2022-11-19 19:38:53 +08:00
DropDemBits
b1909a80af
Migrate assists to format args captures, part 3
2022-10-12 02:28:41 -04:00
Lukas Wirth
a8ecaa1979
Restructure find_path into a separate functions for modules and non-module items
...
Also renames `prefer_core` imports config to `prefer_no_std` and changes the behavior of no_std path searching by preferring `core` paths `over` alloc
2022-09-13 15:15:27 +02:00
Lukas Wirth
7d19971666
Add config to unconditionally prefer core imports over std
...
Fixes https://github.com/rust-lang/rust-analyzer/issues/12979
2022-09-09 20:04:56 +02:00
hkalbasi
851f6db7f7
Import serde derives on converting json to struct
2022-08-06 20:12:21 +04:30
Amos Wenger
816f7fe12a
Run cargo fix --edition-idioms
2022-07-20 15:02:08 +02:00
Peh
1f011fa4a3
style: rename crates to kebab case
2022-05-01 10:48:58 +00:00