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
BenjaminBrienen
7535bb4661
cargo fmt
2025-03-15 21:32:01 +01:00
Lukas Wirth
76585539f5
Cleanup Name
string rendering
2025-01-21 10:05:32 +01: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
Lukas Wirth
5264f86242
Encode edition within FileId in the hir layer
2024-07-18 08:49:10 +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
760ad445e2
Update assists test fixtures
2024-05-22 14:46:33 +02:00
Lukas Wirth
c88b421853
fix: Fix general find-path inconsistencies
2024-05-22 14:05:24 +02:00
Young-Flash
f9b5e0d219
minor: use reference.range
to get original range
2024-01-20 14:43:42 +08:00
Young-Flash
0bf986d718
add test case with marco reference
2024-01-18 17:43:44 +08:00
Young-Flash
bd26403130
fix panic with reference in macro
2024-01-18 17:43:15 +08:00
Young-Flash
1a9b1b8ccc
test: add test case for TupleField
2024-01-03 20:07:53 +08:00
Young-Flash
099c3204a2
fix: use PathTransform to resolve GenericArg
2024-01-03 20:07:29 +08:00
Young-Flash
6a7d3f1c3e
add test case for nested generic arg with Self
2023-12-27 19:55:36 +08:00
Young-Flash
a38a79e2ba
use SyntaxKind instead of "Self" literal comparison
2023-12-27 19:49:50 +08:00
Young-Flash
67f001e5ec
test: add test case for Self
2023-12-26 21:25:30 +08:00
Young-Flash
8a0a3b2493
fix: extract_struct_from_enum_variant should resolve Self
generic arg
2023-12-26 21:23:41 +08:00
Lukas Wirth
ba61766217
Add config for preferring / ignoring prelude modules in find_path
2023-11-11 14:56:38 +01:00
Lukas Wirth
c7ef6c25b7
internal: Replace Display impl for Name
2023-05-24 20:55:12 +02:00
Josh Soref
bc7d84c3ce
Spelling
...
* a rule
* access
* after
* amount
* annotations
* assignment
* assist
* associated
* attribute
* borrowed
* built-in type
* clarification
* command
* const
* constructor
* corresponding
* counterparts
* curlies
* dependencies
* deterministic
* diagnostic
* duplicates
* edge
* edited
* efficient
* elsewhere
* execution
* expression
* extensions
* extracted
* fill
* github
* helper
* heuristic
* incomplete
* indent end
* inlay
* invocation
* lifetime
* looking
* maybe
* move
* mutability
* mutable
* necessarily
* necessary
* negative
* nonexistent
* occurred
* offsets
* offsetted
* overridden
* parameters
* params
* params_and_where_preds_in_scope
* paredit
* parent
* parentheses
* prepended if
* punctuation
* receive
* receiver
* referring
* repeated
* representing
* semantically
* separately
* shouldnot
* siblings
* similar
* something's
* statement
* struct
* structure
* surprise
* the
* this
* transparent
* unimplemented
* unnamed
* unnecessary
* unneeded
* unreachable
* unterminated
* utilities
* variant
* variants
* visibility
* work around (v)
* workaround
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-19 09:45:55 -04:00
Daniel Eades
cc80c5bd07
remove unnecessary lazy evaluations
2023-01-02 15:02:54 +00:00
DropDemBits
d439fb2bc8
Migrate assists to format args captures, part 1
2022-10-10 15:56:21 -04:00
DropDemBits
75f641799e
Add GenericParamList::to_generic_args
2022-10-09 18:44:23 -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
DropDemBits
45dac9a3ef
Move comments to the extracted struct
2022-08-30 14:47:08 -04:00
DropDemBits
7d777759bf
Insert newline after extracted struct's attributes
2022-08-19 09:27:29 -04:00
DropDemBits
6669ea81c3
Leave attrs on the variant, not the extracted struct
2022-08-19 09:27:28 -04: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