Lukas Wirth
27306c5e4b
Reformat
2024-10-28 14:37:52 +01:00
Lukas Wirth
64f56f458f
Move text-edit into ide-db
2024-10-28 14:37:41 +01:00
Lukas Wirth
fd17fa10a2
Add text edit to binding mode hints
2024-10-23 09:52:03 +02:00
Lukas Wirth
13acfbfae4
Merge closure capture inlay hints into one
2024-10-22 16:29:15 +02:00
Lukas Wirth
0bb7a8e28b
fix: Don't emit empty inlay hint parts
2024-09-12 08:48:06 +02:00
Lukas Wirth
82f96b5e6a
fix: Fix lifetime elision inlay hints breaking for ranged requests
2024-08-31 10:51:13 +02:00
Lukas Wirth
16077975fa
Support fn-ptr and fn-path types for lifetime elision hints
2024-08-30 19:36:18 +02:00
Lukas Wirth
5ca5d52697
Improve inlay hint resolution reliability
2024-08-30 15:57:52 +02: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
5264f86242
Encode edition within FileId in the hir layer
2024-07-18 08:49:10 +02:00
Lukas Wirth
f2d51073d2
Use statics + clone instead of const until const can access statics
2024-07-14 17:52:59 +02:00
Lukas Wirth
3fe815b0f3
Use Symbol in Name
2024-07-12 16:06:44 +02:00
Liao Junxuan
35b4957b80
feat: add inlay hints for generic parameters
...
fixes #11091
By default, only hints for const generic parameters are shown.
2024-07-08 19:11:41 +08:00
Lunaphied
e1ffec2b4c
docs: document omission heuristics for parameter inlay hints
...
These are not currently documented and could cause users to think
that their rust-analyzer configuration is broken.
Partially addresses #17433 .
2024-06-16 15:15:36 -06:00
Wilfred Hughes
27182bb96b
chore: Prefer tracing span shorthand macros
2024-06-06 16:52:25 -07:00
Wilfred Hughes
c981ff0944
fix: Tracing span names should match function names
...
When viewing traces, it's slightly confusing when the span name doesn't
match the function name. Ensure the names are consistent.
(It might be worth moving most of these to use #[tracing::instrument]
so the name can never go stale. @davidbarsky suggested that is marginally
slower, so I've just done the simple change here.)
2024-04-30 11:22:47 -07:00
Lukas Wirth
2c5c12acfe
fix: Fix inlay hint resolution being broken
2024-04-14 08:27:24 +02:00
Lukas Wirth
4a93368590
Use a hash to find the correct inlay hint when resolving
2024-03-18 09:51:51 +01:00
Lukas Wirth
3115fd8b41
Simplify inlay hints needs_resolve
2024-03-18 09:50:27 +01:00
David Barsky
e1ea7c8844
internal: switch to tracing
from log
...
This commit also adds `tracing` to NotificationDispatcher/RequestDispatcher,
bumps `rust-analyzer-salsa` to 0.17.0-pre.6, `always-assert` to 0.2, and
removes the homegrown `hprof` implementation in favor of a vendored
tracing-span-tree.
2024-01-30 12:27:31 -05:00
Lukas Wirth
8a5829cf28
Re-order mod declarations
2024-01-27 11:02:34 +01:00
Johann Hemmann
fad4fa163c
cargo clippy --fix
2024-01-18 13:59:49 +01:00
riverbl
3c378b9c70
Add inlay hint for exclusive ranges
...
Adds an inlay hint containing a '<' character to exclusive range expressions and patterns that specify an upper bound.
2024-01-07 09:33:56 +00:00
Johann Hemmann
61b552124a
Move check_expect and check_expect_clear_loc to inlayhints::chaining
2024-01-04 17:32:16 +01:00
Johann Hemmann
594e0a5de6
Only compare range and label
2024-01-04 17:29:20 +01:00
Kirill Bulatov
8ae42b55e7
Search for parent blocks and items when resolving inlay hints
2023-12-11 15:16:55 +02:00
Kirill Bulatov
be6d34b810
Query for nearest parent block around the hint to resolve
...
This way, parameter hints will be found for resolution
2023-12-11 14:53:51 +02:00
Lukas Wirth
9cb13b6efb
Allow navigation targets to be duplicated when the focus range lies in the macro definition site
2023-12-06 12:38:19 +01:00
hkalbasi
4d55cac466
Initial support for implicit drop inlay hint
2023-12-01 16:16:46 +03:30
Lukas Wirth
d5faad1dae
Fix inlay-hint tests being invalidated by minicore chanes
2023-11-14 18:53:48 +01:00
Kirill Bulatov
7f450da39e
Omit hint resolve data better
...
Omit sending inlay hint resolve data if inlay has no properties that
client resolve capabilities support.
2023-09-02 23:56:48 +03:00
Kirill Bulatov
7b3dba5d77
Provide resolve data only when it can actually be resolved
2023-09-02 22:14:08 +03:00
Kirill Bulatov
10464c7c42
Simplify InlayFieldsToResolve handling
2023-09-02 18:28:36 +03:00
Kirill Bulatov
e07fbabcfe
Resolve inlay hint data
...
Skip every propery set in inlay hint client resolve capabilities,
reducing overall json footprint.
2023-09-02 18:28:35 +03:00
Lukas Wirth
730286b523
Restructure InlayHint, no longer derive properties from its kind
2023-05-13 10:42:26 +02:00
Lukas Wirth
8081a654da
feat: Closure capture inlay hints
2023-05-05 13:38:22 +02:00
Ryo Yoshida
c978d4bf0c
Implement text edits for inlay hints
2023-04-12 19:03:57 +09:00
Ryo Yoshida
fcbc250723
Add field for text edits to InlayHint
2023-04-12 19:03:55 +09:00
hkalbasi
59b6f2d9f2
Compute closure captures
2023-04-10 23:04:34 +03:30
Lukas Wirth
2b4a5374ee
Properly use location links for type hints of impl Future and its assoc type
2023-02-07 22:42:03 +01:00
Lukas Wirth
14f19c73e9
fix: Don't render fieldless discriminant inlay hints for datacarrying enums
2023-02-01 11:38:39 +01:00
Lukas Wirth
3a95864df5
Unconditionally enable location links in inlay hints again
2023-01-16 16:04:38 +01:00
Lukas Wirth
27ba598dfe
Make inlay hint location links work for more types
2023-01-14 13:30:56 +01:00
Lukas Wirth
f2444b2a40
Remove unnecessary Hint suffix on InlayKind variants
2023-01-14 13:08:45 +01:00
Lukas Wirth
60075a6625
Remove hover inlay tooltips, replace them with location links
2023-01-14 12:19:29 +01:00
Lukas Wirth
aafb0f1f8d
Use smallvec for inlay-hint parts
2023-01-13 15:03:37 +01:00
Maybe Waffle
12b7f9f7bf
Add an option to minimize parentheses for adjustment hints
2023-01-09 13:35:17 +00:00
Maybe Waffle
b89c4f0a05
Implement postfix adjustment hints
...
I'd say "First stab at implementing..." but I've been working on this
for a month already lol
2023-01-09 13:27:59 +00:00
bors
f77b68a3cb
Auto merge of #13860 - danieleades:clippy, r=lnicola
...
fix a bunch of clippy lints
fixes a bunch of clippy lints for fun and profit
i'm aware of this repo's position on clippy. The changes are split into separate commits so they can be reviewed separately
2023-01-08 17:29:57 +00:00
Lukas Wirth
506895fa2f
Fix spelling mistake
2023-01-02 23:16:26 +01:00