Lukas Wirth
c15e36a8de
Cleanup
2025-01-01 15:21:54 +01:00
Lukas Wirth
c84d09a7c3
Revamp auto-import exclude config
2025-01-01 15:06:44 +01:00
Lukas Wirth
786056cb82
Simplify completion config path resolutions
2025-01-01 14:32:45 +01:00
Lukas Wirth
13af22df98
Reduce the default autoimport exclusion list
2025-01-01 14:32:45 +01:00
Chayim Refael Friedman
528ed6bd01
Allow flyimporting excluded trait items if there is an exact match in the name
...
I.e. with `fn foo()`, don't complete at `x.fo|`, but complete (with imports) for `x.foo|`, since this is less likely to have false positives.
I opted to only do that for flyimport, even though for basic imports there can also be snippet completion (completing the params list for a method), since this is less universally applicable and seems not so useful.
2025-01-01 13:54:23 +01:00
Chayim Refael Friedman
bd6ea14002
Allow excluding specific traits from completion
...
To be accurate, only their methods are excluded, the trait themselves are still available.
I also excluded a bunch of std traits by default. Some less opinionated, like `AsRef`, which should never be used directly except in generic scenarios (and won't be excluded there), some more opinionated, like the ops traits, which I know some users sometimes want to use directly. Either way it's configurable.
It should be pretty easy to extend support to excluding only specific methods, but I didn't do that currently.
Traits configured to be excluded are resolved in each completion request from scratch. If this proves too expensive, it is easy enough to cache them in the DB.
2025-01-01 13:49:35 +01:00
Lukas Wirth
88e630b859
Merge pull request #18802 from roife/fix-18800
...
fix: incorrect file_id used for ranges in outgoing calls
2024-12-31 12:33:51 +00:00
Lukas Wirth
fd7ef275f6
Merge pull request #18805 from Veykril/push-pzurvxvoolxs
...
internal: Implement `<RaSpanServer as SourceFile>::eq`
2024-12-31 12:15:38 +00:00
roife
8860d073f3
fix: incorrect file_id used for ranges in outgoing calls
2024-12-31 20:10:22 +08:00
Lukas Wirth
7468106726
Implement <RaSpanServer as SourceFile>::eq
2024-12-31 13:00:46 +01:00
Lukas Wirth
b8fdfcc227
Remove recursion_limit special casing in tests
2024-12-31 13:00:23 +01:00
Lukas Wirth
8bb0fab904
Merge pull request #18758 from mgsloan/scip-unique-symbols
...
Improve SCIP symbols
2024-12-31 09:25:30 +00:00
Lukas Wirth
1524ab1473
Merge pull request #18801 from roife/fix-18799
...
feat: show go-to-type-def actions for subst when hovering
2024-12-31 09:09:23 +00:00
roife
f581774e23
feat: show go-to-type-def actions for subst when hovering
2024-12-31 13:05:29 +08:00
Michael Sloan
8a032e4d50
Move container_to_definition function into enclosing_definition
2024-12-30 13:52:09 -07:00
Michael Sloan
96fc18a3ce
Remove erroneous omit of inherent impls
...
Should have been included in 34dc94bb2d05def8b88739a9382b127feb1a35a0
2024-12-30 13:51:41 -07:00
Michael Sloan
2d434dd767
TODO -> FIXME
2024-12-30 13:51:32 -07:00
Michael Sloan
b7cdd64690
Make impl HirDisplay for TraitRef provide just the trait type
2024-12-30 13:34:02 -07:00
Lukas Wirth
65bf7f790b
Merge pull request #18795 from dfireBird/fix-hover-render
...
Fix render of literal to be rendered in codeblock
2024-12-30 14:46:45 +00:00
dfireBird
a0acb233e1
Fix render of literal to be rendered in codeblock
2024-12-30 20:03:10 +05:30
Lukas Wirth
20a7bf12eb
Merge pull request #18790 from ChayimFriedman2/proper-make
...
internal: Create a quoting mechanism instead of textual AST make
2024-12-30 11:39:29 +00:00
Lukas Wirth
56e05dc2bc
Merge pull request #18794 from 1hakusai1/fix_fill_match_arm_in_tokio_main
...
Fix bug of "fill match arm" action in tokio::main macro
2024-12-30 11:30:32 +00:00
Lukas Wirth
39ba498c8c
Merge pull request #18793 from ChayimFriedman2/fixup
...
minor: Remove unneeded conversions
2024-12-30 11:20:49 +00:00
1hakusai1
6fa3b3f85b
Fix bug of "fill match arm" action in tokio::main macro
...
https://github.com/rust-lang/rust-analyzer/issues/18027
2024-12-30 20:06:17 +09:00
Chayim Refael Friedman
b4ad30deaa
Remove unneeded conversions
2024-12-30 13:04:19 +02:00
Lukas Wirth
4a1c7d1719
Merge pull request #18792 from Veykril/push-wonkvzozmmwz
...
Decouple proc-macro server protocol from the server implementation
2024-12-30 11:00:08 +00:00
Lukas Wirth
a081215f40
Merge pull request #18791 from roife/fix-18786
...
fix: avoid generating colliding names in extract_variable
2024-12-30 10:52:53 +00:00
Lukas Wirth
042528aa76
Move proc-macro protocol into legacy module
2024-12-30 11:47:08 +01:00
Lukas Wirth
0affbd4919
Cleanup proc-macro dylib handling
2024-12-30 11:14:27 +01:00
Lukas Wirth
d4b53f5aab
Decouple proc-macro server protocol from the server implementation
2024-12-30 10:33:57 +01:00
roife
9016a4cdf7
fix: avoid generating colliding names in extract_variable
2024-12-30 15:30:05 +08:00
Chayim Refael Friedman
33f1f1d787
Move some more AST makers to the quote macro
...
And implement addons as necessary.
There are many more makers to be moved, and I'm not completely satisfied with this (due to the ease of making a mistake in the AST structure, and slightly less but also because of the need to remember whitespaces), but this is already enough to see how this will look like.
2024-12-30 05:46:06 +02:00
Chayim Refael Friedman
a0c052fa57
Create a quote!-like API for crafting AST nodes
...
Instead of messing with textual `make`.
And port one `make` helper to it, for the sake of testing.
2024-12-30 04:54:39 +02:00
Chayim Refael Friedman
be12c80d23
Add a function to convert a SyntaxKind to its text, where possible
...
This will also help for the make's quote macro.
2024-12-30 04:01:05 +02:00
Chayim Refael Friedman
ca0c8da517
Generate a method for static retrieval of the SyntaxKind of a node, where possible
...
This will help for the quote macro for `ast::make`.
2024-12-30 03:13:17 +02:00
Lukas Wirth
259eaf9c90
Merge pull request #18789 from Veykril/push-sypxzqsvmzzp
...
fix: Fix invalid `-O` flag used by cfg discovery
2024-12-29 15:18:32 +00:00
Lukas Wirth
7f757b96f5
fix: Fix invalid -O flag used by cfg discovery
2024-12-29 16:04:17 +01:00
Lukas Wirth
b570206ca4
Merge pull request #18785 from Veykril/push-uvsqposqyvmo
...
Cleanup toolchain info fetching
2024-12-29 12:57:31 +00:00
Lukas Wirth
bde1322b90
Merge pull request #18787 from Veykril/push-uymlpukspxqr
...
Automatically cancel CI checks on new push to same PR
2024-12-29 12:55:40 +00:00
Lukas Wirth
f36a93ec52
Inline toolchain_info module
2024-12-29 13:43:12 +01:00
Lukas Wirth
3d9a15bbf9
Automatically cancel CI checks on new push to same PR
2024-12-29 13:41:22 +01:00
Lukas Wirth
d3ebb1469c
Merge pull request #18774 from Veykril/push-ysppqxpuknnw
...
Implement parameter variance inference
2024-12-29 12:34:48 +00:00
Lukas Wirth
d105253194
Force a current dir to be supplied for rustc info fetching
2024-12-29 13:26:04 +01:00
Lukas Wirth
a4a6a43000
Split out ProjectWorkspace::load_cargo
2024-12-29 12:54:41 +01:00
Lukas Wirth
8606441fcc
Enforce a current directory being set for spawned commands
2024-12-29 12:51:13 +01:00
Lukas Wirth
d5f7e78f69
Cleanup toolchain info fetching
2024-12-29 12:25:51 +01:00
Lukas Wirth
0337e79c5c
Merge pull request #18784 from Veykril/push-pqtwsvquxoty
...
fix: Do not merge spans if they have different anchors
2024-12-29 10:44:04 +00:00
Lukas Wirth
1f0696de43
fix: Do not merge spans if they have different anchors
2024-12-29 11:29:32 +01:00
Lukas Wirth
54b75a1479
Merge pull request #18779 from ChayimFriedman2/enum-variant
...
fix: Consider `Enum::Variant` even when it comes from a different crate
2024-12-29 09:58:16 +00:00
Lukas Wirth
a102ea1c2d
Describe variance resolution approach differences to rustc
2024-12-29 10:53:17 +01:00