Steven Joruk
1981a3dc65
test: Make imported_external test that the full path is replaced
2022-03-13 13:25:06 +00:00
Steven Joruk
2e00fa208f
chore: Remove unused import
2022-03-12 15:59:00 +00:00
Steven Joruk
d7517d8323
refactor: Veykril's code review suggestions
2022-03-12 15:55:47 +00:00
Steven Joruk
5b712bd821
feat: Add an assist for inlining type aliases
...
This intends to lead to a more useful assist to replace all users of an
alias with its definition.
2022-03-12 13:42:24 +00:00
Steven Joruk
cdeb1b2c78
chore: fill_match_arms was renamed - update its usage in a comment
2022-03-12 13:41:23 +00:00
Steven Joruk
8a28430676
refactor: Rename and move const_arg_path
...
It wasn't testing the `const_arg` code path, it was actually hitting
const_param's default value code path, so move it to the right place
and rename it.
2022-03-11 22:28:38 +00:00
Steven Joruk
e84453c47f
refactor: Rename const_arg_content to const_arg_expr
2022-03-11 22:28:35 +00:00
Steven Joruk
972f50da2d
fix: Stop wrapping ConstParam's default values in ConstArg
...
This was causing ConstParam::default_val to always return None for block
expressions.
CONST_ARG@24..29
BLOCK_EXPR@24..29
...
2022-03-11 19:51:35 +00:00
bors[bot]
224a255c5a
Merge #11680
...
11680: fix: Show what file paths were expected for unresolved modules r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2022-03-11 16:17:59 +00:00
Lukas Wirth
a9dd606387
fix: Show what file paths were expected for unresolved modules
2022-03-11 17:08:30 +01:00
bors[bot]
69e5bd5a25
Merge #11676
...
11676: internal: Expand into pseudo-derive attribute expansions in completions r=Veykril a=Veykril
With this we now properly handle qualified path completions in derives
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2022-03-10 21:24:11 +00:00
Lukas Wirth
6c8c02f625
Don't parse source files to generate macro completion details
2022-03-10 22:21:58 +01:00
Lukas Wirth
b1ab5770c9
Enable qualifier completions for derives
2022-03-10 21:56:19 +01:00
Lukas Wirth
2abe19e46a
Don't offer qualified path completions for buitlin derives
2022-03-10 21:22:13 +01:00
Lukas Wirth
a8b76b632c
Expand into pseudo-derive attribute expansions in completions
2022-03-10 20:53:50 +01:00
bors[bot]
e963443a0d
Merge #11672
...
11672: Add support for new `where` clause location in associated types. r=Veykril a=Dirbaio
A recent Rust nightly changed it: https://github.com/rust-lang/rust/issues/89122
This allows both the old and new location.
Fixes #11651
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net >
2022-03-10 17:24:36 +00:00
Dario Nieuwenhuis
49d1207775
Add support for new where clause location in associated types.
...
A recent Rust nightly changed it: https://github.com/rust-lang/rust/issues/89122
This allows both the old and new location.
2022-03-10 18:21:29 +01:00
bors[bot]
356c507357
Merge #11671
...
11671: minor: Access parser internals through ide_db for ide crates r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2022-03-10 16:15:12 +00:00
Lukas Wirth
533f178a52
minor: Access parser internals through ide_db for ide crates
2022-03-10 17:07:28 +01:00
bors[bot]
a7d440e368
Merge #11662
...
11662: fix: extract_module selection inside impl r=Veykril a=feniljain
Should close : #11508
From issue:
Concern 1: Seems to be fixed in latest `rust-analyzer` build
Concern 2 and 3: Should be fixed by this PR
Concern 4: Got fixed in #11472
Points to note:
- Here I have seperated use items and other items, this is becuase the new `impl` block which we will be creating cannot contain use items as immediate children. As they are the only one item that can be generated by our assist, so seperating them helps in handling their inclusion in new `impl` block inside new `module`
- There's also a new method added which helps in removing remaning left over indentation after removing `impl` or other `item`
Co-authored-by: vi_mi <fkjainco@gmail.com >
2022-03-10 15:49:03 +00:00
bors[bot]
5b51cb835a
Merge #11664
...
11664: fix: Properly handle proc-macro crate types for nameres r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2022-03-09 21:45:42 +00:00
Lukas Wirth
fdde10ba6f
Update project_model test outputs
2022-03-09 22:34:42 +01:00
Lukas Wirth
1f1185dcbb
Specific proc-macro crate type for other test fixture where needed
2022-03-09 22:18:09 +01:00
bors[bot]
4fcaefa62a
Merge #11660
...
11660: Insert dummy values for const generics in subst r=flodiebold a=HKalbasi
fix #11659
This is a band-aid until proper const generic support.
Co-authored-by: hkalbasi <hamidrezakalbasi@protonmail.com >
2022-03-09 17:18:03 +00:00
Lukas Wirth
5b9799bba4
Specify proc-macro crate type for proc-macro hir_def test fixtures
2022-03-09 15:36:05 +01:00
Lukas Wirth
3edc5dcea8
fix: Properly handle proc-macro crate types for nameres
2022-03-09 14:33:39 +01:00
bors[bot]
d70ea759b3
Merge #11663
...
11663: Internal: Add hir_def::MacroId, add Macro{Id} to ModuleDef{Id} r=Veykril a=Veykril
With this we can now handle macros like we handle ModuleDefs making them work more like other definitions and allowing us to remove a bunch of special cases. This also enables us to track the modules these macros are defined in, instead of only recording the crate they come from.
Introduces a new class of `MacroId`s (for each of the 3 macro kinds) into `hir_def`. We can't reuse `MacroDefId` as that is defined in `hir_expand` which doesn't know of modules, so now we have two different macro ids, this unfortunately requires some back and forth mapping between the two via database accesses which I hope won't be too expensive.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2022-03-09 10:26:34 +00:00
Lukas Wirth
2537ad0d9e
Simplify
2022-03-09 11:26:06 +01:00
Lukas Wirth
054ab5fd9c
Disable one of the failing SSR test cases
2022-03-09 02:08:44 +01:00
Lukas Wirth
f9c8646d89
fix symbol index collection not collecting legacy macros
2022-03-09 01:44:20 +01:00
Lukas Wirth
4e94fb7028
Fix ProcMacroData recording wrong name for derives
2022-03-09 01:13:38 +01:00
Lukas Wirth
c37fe779c6
Add data queries for macros
2022-03-09 00:41:54 +01:00
Lukas Wirth
55ec93a337
Remove unnecessary macro_declarations from ItemScope
2022-03-09 00:19:53 +01:00
Lukas Wirth
dbada38b61
Only store derive<->derive-helper mapping in DefMap
2022-03-09 00:01:19 +01:00
Lukas Wirth
eba90936c1
Move ide crates to new hir::Macro
2022-03-08 23:52:26 +01:00
Lukas Wirth
c04b0f435b
Move hir to new MacroId
2022-03-08 23:51:48 +01:00
Lukas Wirth
ad54ee2939
Rename MacroDef to Macro
2022-03-08 23:51:19 +01:00
hkalbasi
1282178783
insert dummy values for const generics in subst
2022-03-09 02:02:42 +03:30
Lukas Wirth
42d46325a1
Add MacroId to hir_def in attempt to unify Macros with ModuleDefId
2022-03-08 21:50:00 +01:00
vi_mi
5789caf60e
fix: extract_module selection inside impl
2022-03-09 01:38:53 +05:30
bors[bot]
4924072493
Merge #11658
...
11658: Add back colons around inlay hints r=Veykril a=lnicola
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/2797#issuecomment-1061594139 .
I originally thought that other extensions don't include the colons, but the TypeScript one seems to do.
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro >
2022-03-08 10:31:54 +00:00
Laurențiu Nicola
4a6ee4517a
Add back colons around inlay hints
2022-03-08 12:01:02 +02:00
bors[bot]
0f5df8e177
Merge #11656
...
11656: Fix package.json key replacement r=lnicola a=lnicola
CC #11653
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro >
2022-03-08 06:34:49 +00:00
Laurențiu Nicola
a87e67360c
Fix package.json replacement
2022-03-08 08:34:03 +02:00
bors[bot]
722cc0039f
Merge #11653
...
11653: fix: client distribution string replacement looking for wrong key r=Veykril a=Veykril
cc https://github.com/rust-analyzer/rust-analyzer/pull/11445
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2022-03-08 01:33:18 +00:00
Lukas Wirth
d425c5b534
fix: client distribution string replacement looking for wrong key
2022-03-08 02:32:35 +01:00
bors[bot]
3f4a095d3e
Merge #11647
...
11647: Improve inlay hint padding r=lnicola a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro >
2022-03-07 17:19:43 +00:00
Laurențiu Nicola
8e3057d0a7
Improve inlay hint padding
2022-03-07 19:18:36 +02:00
bors[bot]
49646b71d4
Merge #11445
...
11445: Upstream inlay hints r=lnicola a=lnicola
Closes https://github.com/rust-analyzer/rust-analyzer/issues/2797
Closes https://github.com/rust-analyzer/rust-analyzer/issues/3394 (since now resolve the hints for the range given only, not for the whole document. We don't actually resolve anything due to [hard requirement](https://github.com/rust-analyzer/rust-analyzer/pull/11445#issuecomment-1035227434 ) on label being immutable. Any further heavy actions could go to the `resolve` method that's now available via the official Code API for hints)
Based on `@SomeoneToIgnore's` branch, with a couple of updates:
- I squashed, more or less successfully, the commits on that branch
- downloading the `.d.ts` no longer works, but you can get it manually from https://raw.githubusercontent.com/microsoft/vscode/release/1.64/src/vscode-dts/vscode.proposed.inlayHints.d.ts
- you might need to pass `--enable-proposed-api matklad.rust-analyzer`
- if I'm reading the definition right, `InlayHintKind` needs to be serialized as a number, not string
- this doesn't work anyway -- the client-side gets the hints, but they don't display
Co-authored-by: Kirill Bulatov <mail4score@gmail.com >
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro >
2022-03-07 16:49:12 +00:00
Laurențiu Nicola
88a2141b77
Add inlayHints cap
2022-03-07 18:48:27 +02:00