Commit graph

15323 commits

Author SHA1 Message Date
Bernardo Uriarte
1ee8fefcff take into account excludeDirs when computing linked_projects 2022-05-21 16:18:55 +02:00
Bernardo Uriarte
7009e5ab35 add failing test 2022-05-21 16:11:51 +02:00
feniljain
ddd59b9a9a fix(extract_module): nearby imports deletion causing panic 2022-05-21 19:13:49 +05:30
bors
01d412f4d7 Auto merge of #12339 - matklad:dead, r=matklad
dead code
2022-05-21 12:40:29 +00:00
Aleksey Kladov
7734a8b72f dead code 2022-05-21 13:39:59 +01:00
Aleksey Kladov
cbdab0e647 internal: document overall approach to reload 2022-05-21 13:11:05 +01:00
bitgaoshu
7c5e97221f mismatch 2022-05-21 17:26:03 +08:00
Christofer Nolander
068b138c87 Remove unecessary unwrap 2022-05-21 10:25:12 +02:00
Amos Wenger
707a5683b1 Still suggest generating enum methods if the name ref starts with a lowercase letter 2022-05-21 01:43:05 +02:00
Amos Wenger
0ed85beb15 Don't suggest enum variant if name_ref start with ASCII lowercase letter 2022-05-21 01:36:26 +02:00
Amos Wenger
7d716cbeb9 Simplify with adt.source() 2022-05-21 01:32:25 +02:00
Amos Wenger
2347da8c8d Generate enum variant assist
This also disables "generate function" when what we clearly want is to
generate an enum variant.

Co-authored-by: Maarten Flippo <maartenflippo@outlook.com>
2022-05-21 01:18:35 +02:00
Christofer Nolander
aef16300f7 Order auto-imports by relevance
This first attempt prefers items that are closer to the module they are
imported in.
2022-05-21 00:07:06 +02:00
Jonas Schievink
33939a3db1 Don't swallow build script errors 2022-05-20 17:28:39 +02:00
bors
2a978e1404 Auto merge of #12328 - Veykril:simplify, r=Veykril
minor: Simplify
2022-05-20 15:03:59 +00:00
Lukas Wirth
88e297e47d minor: Simplify 2022-05-20 16:52:10 +02:00
Jonas Schievink
60a2ab4c67 Rename Expr::Lambda to Expr::Closure 2022-05-20 15:40:32 +02:00
Jonas Schievink
3e356c1fd3 Clear cargo check diagnostics when flycheck is turned off 2022-05-20 15:07:55 +02:00
bors
7f226fc912 Auto merge of #12324 - jonas-schievink:rm-attribute, r=jonas-schievink
feat: Revert the "Add attribute" assist

Reverts https://github.com/rust-lang/rust-analyzer/pull/12296, as the added indirection and "assist noise" (the assist has to trigger inside the body of an item to match what the "Add `#[derive]`" does) makes this not really pull its weight over just using attribute completions.

Keeps the changes to "Add getter". `#[must_use]` can be applied using the attribute completions.
2022-05-20 12:57:08 +00:00
Jonas Schievink
e52d463524 Revert the "Add attribute" assist 2022-05-20 14:39:22 +02:00
bors
41388bf81a Auto merge of #12263 - andylizi:hide-type-hint-closure, r=Veykril
feat: hide type inlay hints for initializations of closures

![hide_closure_initialization](https://user-images.githubusercontent.com/12008103/168470158-6cb77b18-068e-4431-a8b5-e2b22d50d263.gif)

This PR adds an option to hide the inlay hints for `let IDENT_PAT = CLOSURE_EXPR;`, which is a somewhat common coding pattern. Currently the inlay hints for the assigned variable and the closure expression itself are both displayed, making it rather repetitive.

In order to be consistent with closure return type hints, only closures with block bodies will be hid by this option.

Personally I'd feel comfortable making it always enabled (or at least when closure return type hints are enabled), but considering the precedent set in #10761, I introduced an off-by-default option for this.

changelog feature: option to hide type inlay hints for initializations of closures
2022-05-20 12:35:36 +00:00
bors
f5229cebb2 Auto merge of #12301 - harpsword:fix_for_crlf_cargo_range_map, r=jonas-schievink
fix: calculate correct postion for Dos line ending in mapping rustc range to ls…

fix #12293
2022-05-20 12:15:22 +00:00
andylizi
2b1c1a934c
feat: hide type inlay hints for initializations of closures 2022-05-20 17:42:56 +08:00
NotWearingPants
641b78a162
hide closure ret hints if ret type is specified
fixes #12319
2022-05-20 02:35:37 +03:00
Jonas Schievink
52ff863abc Teach Callable about closures properly 2022-05-19 18:53:08 +02:00
bors
eba26af9f1 Auto merge of #12314 - jonas-schievink:proc-macro-load, r=jonas-schievink
minor: simplify
2022-05-19 14:50:08 +00:00
bors
46b5483055 Auto merge of #12313 - equinox:typo-fix, r=lnicola
Removed duplicate 'to' in `cachePriming.numThreads` option description

One 'to' too many!
2022-05-19 14:22:09 +00:00
Equinox
7197042ac4 remove duplicate 'to' in cachePriming.numThreads option description 2022-05-20 02:05:48 +12:00
bors
57861bd99e Auto merge of #12311 - Veykril:inlay-hints-tips, r=Veykril
internal: Improve inlay hint tooltips
2022-05-19 13:45:05 +00:00
Lukas Wirth
9ebb55d354 Hide more unnecessary parameter hints for constructors 2022-05-19 15:44:52 +02:00
Jonas Schievink
b2779111b4 simplify 2022-05-19 15:29:35 +02:00
Lukas Wirth
5fe28441b8 Update test fixtures 2022-05-19 15:20:45 +02:00
Lukas Wirth
b08bbd7be0 Enable hovering function parameter inlay hints 2022-05-19 14:32:40 +02:00
Lukas Wirth
74230e26ff internal: Improve inlay hint tooltips 2022-05-19 13:38:37 +02:00
bors
4f7d1a9d69 Auto merge of #12309 - Veykril:completion, r=Veykril
fix: Fix incorrect expected type in completions for trailing match arms

Fixes https://github.com/rust-lang/rust-analyzer/issues/12264
2022-05-19 10:34:36 +00:00
Lukas Wirth
018975b041 fix: Fix incorrect expected type in completions for match arms 2022-05-19 12:33:25 +02:00
Jonas Schievink
5279cdbefb Include self type in generated getter/setter docs 2022-05-18 19:22:04 +02:00
Jonas Schievink
93b62dbe85 Improve docs generation assist 2022-05-18 18:05:21 +02:00
harpsword
dfae0a12ef fix: calculate right range for Dos line ending in mapping rustc range to lsp range 2022-05-18 21:08:18 +08:00
bors
187bd7d48a Auto merge of #12130 - weirane:let-else-let-match, r=weirane
Turn let-else statements into let and match

Fixes #11906.
2022-05-17 19:01:18 +00:00
weirane
4a0821f332 Simplify const reference check
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-05-17 11:43:53 -07:00
Jonas Schievink
cb135ae71b Add a "Add attribute" assist 2022-05-17 20:28:25 +02:00
Lukas Wirth
58a241134c Update test output 2022-05-17 14:58:26 +02:00
Lukas Wirth
21f37a6d9e Allow inlay hint tooltips to trigger hovers 2022-05-17 14:46:43 +02:00
Lukas Wirth
a2ec010185 Trigger hover requests on closing brace hints 2022-05-17 13:39:45 +02:00
Lukas Wirth
0756719a30 Replace some SmolStr usages with String as the conversion happens anyways 2022-05-17 12:56:14 +02:00
Lukas Wirth
91833f1974 feat: Implement inlay hint tooltips 2022-05-17 12:49:51 +02:00
Lukas Wirth
12d5343993 internal: Cleanup lifetime elision hints 2022-05-17 12:18:07 +02:00
Jonas Schievink
1df6560fd8 Improve "Generate Deref impl" assist 2022-05-16 20:10:46 +02:00
Jonas Schievink
54c8c39da0 Don't generate documentation in generate_setter 2022-05-16 19:27:27 +02:00
Jonas Schievink
f1b6e45fba Handle getters and setters in documentation template assist 2022-05-16 19:10:38 +02:00
bors
825ce48180 Auto merge of #12271 - bitgaoshu:box_with_expec, r=flodiebold
fix #12227 Type mismatch error shown

add box expectation hint
2022-05-16 15:00:36 +00:00
Jonas Schievink
5ee028bbb8 Fix signature help LSP offset conversion 2022-05-16 15:48:38 +02:00
Jonas Schievink
fccc12982e Add closing brace hints for macros 2022-05-16 15:23:25 +02:00
bitgaoshu
e362929fa1 add box expection hint 2022-05-16 21:17:00 +08:00
Jonas Schievink
867a7dc7a0 Show inlay hints after a } to indicate the closed item 2022-05-16 14:55:47 +02:00
Aleksey Kladov
2f3453994a minor: rename 2022-05-16 12:42:48 +01:00
bors
1dc25e51a0 Auto merge of #12253 - Veykril:bm, r=Veykril
feat: Add binding mode inlay hints

![image](https://user-images.githubusercontent.com/3757771/168427387-2f299438-a0cc-496b-a9a5-d689ef6a2b55.png)
2022-05-16 11:16:22 +00:00
bors
5ae9847dea Auto merge of #12262 - jhgg:fix-whitespace-between-mut-self-in-macro-expansion, r=lnicola
ide: insert whitespace between 'mut' and 'self' in macro expansion

fixes #12260
2022-05-15 12:47:38 +00:00
bors
fa133d065b Auto merge of #12190 - harpsword:fix_diagostics_map_incorrectly, r=harpsword
fix cargo check diagnostics are mapped incorrectly with non-BMP codepoints

fix #11945
2022-05-15 09:48:51 +00:00
Jake Heinz
4efc2a9df2 ide: insert whitespace between 'mut' and 'self' in macro expansion 2022-05-15 07:55:13 +00:00
bors
1ff5b2cab4 Auto merge of #12251 - matklad:lsp-server, r=matklad
internal: vendor lsp-server
2022-05-14 20:20:01 +00:00
Aleksey Kladov
57cb65bb7a internal: vendor lsp-server 2022-05-14 21:15:43 +01:00
Lukas Wirth
7cbde1b3a5 Enable reborrow hints in attribute calls 2022-05-14 15:00:14 +02:00
Lukas Wirth
6b696fced8 feat: Add binding mode inlay hints 2022-05-14 14:58:35 +02:00
Lukas Wirth
622defb373 internal: Make VSCode config more GUI edit friendly 2022-05-14 13:53:41 +02:00
harpsword
7bd4c11e13 fix diagnostics location map incorrectly from rustc span to lsp position for non-BMP char 2022-05-14 19:19:55 +08:00
Lukas Wirth
8ac429dad9 fix: Fix incorrect hover actions config keys 2022-05-13 21:17:03 +02:00
Lukas Wirth
3577c44dee fix: Fix fill-arguments completions not working 2022-05-13 19:52:44 +02:00
Jonas Schievink
0831f3123b Fix tests 2022-05-13 15:54:46 +02:00
Jonas Schievink
9bd11459ba Revert "Auto merge of #12149 - jonas-schievink:literally-just-a-literal, r=jonas-schievink"
This reverts commit cc9ae2b89e, reversing
changes made to 7dfd1cb572.
2022-05-13 15:08:14 +02:00
Jonas Schievink
2287ae22c6 Revert "Skip only the tt::Literal when consuming float tokens"
This reverts commit 7db55313a1.
2022-05-13 15:06:16 +02:00
Jonas Schievink
bde036b74e Revert "Fix conversion of float literals in TtTreeSink"
This reverts commit 43a066c5a8.
2022-05-13 15:05:34 +02:00
Jonas Schievink
4fcdb96789 Revert "fix: Remap float parts as integers when parsed as indices"
This reverts commit dbb066b99e.
2022-05-13 15:05:03 +02:00
Jonas Schievink
73e0e17b52 Revert "Don't remap float tokens to INT_NUMBER"
This reverts commit cb5e8da88a.
2022-05-13 15:04:36 +02:00
Jonas Schievink
cb5e8da88a Don't remap float tokens to INT_NUMBER 2022-05-12 19:01:09 +02:00
Lukas Wirth
d57beac7e6 fix: Fix vscode config descriptions not recognizing all valid values 2022-05-12 18:15:48 +02:00
Lukas Wirth
252ffbf77a fix: Fix old config patching overwriting callable snippet config unconditionally 2022-05-12 17:55:25 +02:00
bors
135164f547 Auto merge of #12226 - Veykril:reborrow-inlay-hints, r=Veykril
feat: Allow reborrow inlay hints to be restricted to mutable reborrows only
2022-05-12 12:21:06 +00:00
Lukas Wirth
c2190ad87c feat: Allow reborrow inlay hints to be restricted to mutable reborrows only 2022-05-12 14:00:06 +02:00
bors
5901dfdf1b Auto merge of #12224 - Veykril:anno-redundant, r=Veykril
internal: Remove redundant offset data in annotations

cc https://github.com/rust-lang/rust-analyzer/issues/12221
2022-05-12 11:31:11 +00:00
bors
3a69bfd0c2 Auto merge of #12225 - Veykril:tmapfloats, r=Veykril
internal: Add token mapping test for float literals

cc https://github.com/rust-lang/rust-analyzer/issues/12216
2022-05-12 11:18:36 +00:00
Lukas Wirth
4b505ce0f9 internal: Add token mapping test for float literals 2022-05-12 13:17:53 +02:00
Lukas Wirth
ca46c68b04 internal: Remove redundant offset data in annotations 2022-05-12 13:06:49 +02:00
Lukas Wirth
84176f6b24 internal: Rename primeCaches config keys 2022-05-12 12:30:00 +02:00
bors
94fa8a6534 Auto merge of #12213 - Veykril:config-fix, r=Veykril
fix: Fix incorrect config patching for runBuildScripts
2022-05-11 10:38:56 +00:00
Lukas Wirth
e68352a9f5 fix: Fix incorrect config patching for runBuildScripts 2022-05-11 12:38:21 +02:00
Elliot Roberts
2298a76222 fix typo in inlayHints.renderColons option description 2022-05-10 19:15:07 -07:00
Lukas Wirth
b271ef8fd1 fix: Fix config patching failing when appending suffixes 2022-05-10 21:14:22 +02:00
Jonas Schievink
ac3c18bc17 Include assoc. types in trait signature help 2022-05-10 16:54:31 +02:00
Jonas Schievink
92e56e0c70 Fix inverted signature help setting 2022-05-10 16:54:13 +02:00
bors
254bfdd2c3 Auto merge of #12204 - Veykril:completions, r=Veykril
internal: Move keyword expressions to expr completions module
2022-05-10 13:08:27 +00:00
Lukas Wirth
b2abe1bca1 Move keyword expressions to expr completions module 2022-05-10 15:00:58 +02:00
bors
4a4e9c0ae0 Auto merge of #12203 - Veykril:completions, r=Veykril
internal: Simplify
2022-05-10 12:36:46 +00:00
Lukas Wirth
40bb8006cd Don't parse files in module completion 2022-05-10 14:31:43 +02:00
Lukas Wirth
26fef97d59 Simplify 2022-05-10 14:31:28 +02:00
bors
cc695363e4 Auto merge of #12202 - iDawer:ide.sig_help-fix, r=lnicola
fix: don't panic at fully qualified call syntax in signature help

Closes  #12200
Regressed from #12082
2022-05-10 12:28:34 +00:00
iDawer
956b8fb954 signature_help: detect fully qualified call syntax for parameter fallback 2022-05-10 17:18:42 +05:00
bors
460e389f54 Auto merge of #12010 - Veykril:r-a-config, r=Veykril
Config revamp

Fixes https://github.com/rust-lang/rust-analyzer/issues/11790
Fixes https://github.com/rust-lang/rust-analyzer/issues/12115

This PR changes a lot of config names, and a few ones are being merged or split apart. The reason for this is that our configuration names currently are rather inconsistent and some where poorly chosen in regards to extensability. This PR plans to fix that.

We still allow the old config names by patching them to the new ones before deserializing to keep backwards compatability with other clients (the VSCode client will auto update the config) but ideally we will get rid of that layer in the future.

Here is a list of the changes:

These are simple renames `old_name | alias1 | alias2 ... -> new_name` (the vscode client will fix these up automagically):
```
assist_allowMergingIntoGlobImports -> imports_merge_glob
assist_exprFillDefault -> assist_expressionFillDefault
assist_importEnforceGranularity -> imports_granularity_enforce
assist_importGranularity | assist_importMergeBehavior | assist_importMergeBehaviour -> imports_granularity_group
assist_importGroup -> imports_group_enable
assist_importPrefix -> imports_prefix

cache_warmup -> primeCaches_enable

cargo_loadOutDirsFromCheck -> cargo_buildScripts_enable
cargo_runBuildScripts | cargo_runBuildScriptsCommand -> cargo_runBuildScripts_overrideCommand
cargo_useRustcWrapperForBuildScripts -> cargo_runBuildScripts_useRustcWrapper

completion_snippets -> completion_snippets_custom

diagnostics_enableExperimental -> diagnostics_experimental_enable

experimental_procAttrMacros -> procMacro_attributes_enable

highlighting_strings -> semanticHighlighting_strings_enable

highlightRelated_breakPoints -> semanticHighlighting_breakPoints_enable
highlightRelated_exitPoints -> semanticHighlighting_exitPoints_enable
highlightRelated_yieldPoints -> semanticHighlighting_yieldPoints_enable
highlightRelated_references -> semanticHighlighting_references_enable

hover_documentation -> hover_documentation_enable
hover_linksInHover | hoverActions_linksInHover -> hover_links_enable
hoverActions_debug -> hoverActions_debug_enable
hoverActions_enable -> hoverActions_enable_enable
hoverActions_gotoTypeDef -> hoverActions_gotoTypeDef_enable
hoverActions_implementations -> hoverActions_implementations_enable
hoverActions_references -> hoverActions_references_enable
hoverActions_run -> hoverActions_run_enable

inlayHints_chainingHints -> inlayHints_chainingHints_enable
inlayHints_closureReturnTypeHints -> inlayHints_closureReturnTypeHints_enable
inlayHints_hideNamedConstructorHints -> inlayHints_typeHints_hideNamedConstructorHints
inlayHints_parameterHints -> inlayHints_parameterHints_enable
inlayHints_reborrowHints -> inlayHints_reborrowHints_enable
inlayHints_typeHints -> inlayHints_typeHints_enable

lruCapacity -> lru_capacity

runnables_cargoExtraArgs -> runnables_extraArgs
runnables_overrideCargo -> runnables_command

rustcSource -> rustc_source

rustfmt_enableRangeFormatting -> rustfmt_rangeFormatting_enable
```

These are configs that have been merged or split apart, which have to be manually updated by the user:

```
callInfo_full -> signatureInfo_detail, signatureInfo_documentation_enable

cargo_allFeatures, cargo_features -> cargo_features
checkOnSave_allFeatures, checkOnSave_features -> checkOnSave_features
completion_addCallArgumentSnippets completion_addCallParenthesis -> completion_callable_snippets
```
2022-05-10 12:07:24 +00:00
bors
cf152e8a94 Auto merge of #12201 - Veykril:inlay-hide, r=Veykril
fix: Add cast expressions to param name inlay hint heuristics
2022-05-10 11:44:06 +00:00
Lukas Wirth
822d9b55b7 fix: Add cast expressions to param name inlay hint heuristics 2022-05-10 13:43:43 +02:00
Jonas Schievink
5a2398d775 Don't show assoc. type binding completions when invalid 2022-05-09 18:12:12 +02:00
Jonas Schievink
2156815f12 Make completion work too 2022-05-09 17:39:13 +02:00
Jonas Schievink
7e45915aa4 Resolve assoc. types of supertraits in the IDE layer 2022-05-09 17:30:49 +02:00
bors
c42cb9af48 Auto merge of #12197 - Veykril:insert-use-fix, r=Veykril
fix: Fix import insertion inserting after last comment in a file
2022-05-09 10:13:08 +00:00
Lukas Wirth
c0feb389ed fix: Fix import insertion inserting after last comment in a file 2022-05-09 12:12:41 +02:00
bors
3d2d209638 Auto merge of #11983 - jhpratt:remove-rustc_deprecated, r=lnicola
Remove handling of `#[rustc_deprecated]`

This should be merged along with rust-lang/rust#95960.

Because the attribute still exists in rustc, I've left the definition here. With that said, any use of it is an error, so I've removed any handling of `#[rustc_deprecated]`.
2022-05-09 08:33:18 +00:00
bors
5d5bbec9b6 Auto merge of #12187 - Veykril:completion-rev, r=Veykril
internal: More completion context refactoring
2022-05-07 14:25:12 +00:00
bors
bfb241afa3 Auto merge of #12188 - Veykril:auto-import, r=Veykril
fix: Allow auto importing starting segments of use items
2022-05-07 14:16:00 +00:00
Lukas Wirth
61e074f016 fix: Allow auto importing starting segments of use items 2022-05-07 15:52:22 +02:00
Lukas Wirth
a0fc649269 fix unreachable pub 2022-05-07 15:50:01 +02:00
Lukas Wirth
44c3cc100b Merge the different identifier contexts into one enum 2022-05-07 15:06:59 +02:00
Lukas Wirth
99fa37d6e3 Split namelike into the corresponding completion contexts 2022-05-07 14:16:03 +02:00
Lukas Wirth
6a045c7029 Introduce NameRefContext 2022-05-07 13:46:43 +02:00
bors
f2216764c4 Auto merge of #12186 - Veykril:completion-rev, r=Veykril
minor: Move inferred type completions
2022-05-07 11:00:29 +00:00
Lukas Wirth
1dc83f5a90 minor: Move inferred type completions 2022-05-07 12:59:26 +02:00
Lukas Wirth
dbb066b99e fix: Remap float parts as integers when parsed as indices 2022-05-07 12:52:15 +02:00
Jonas Schievink
43a066c5a8 Fix conversion of float literals in TtTreeSink 2022-05-06 18:39:06 +02:00
Jonas Schievink
7db55313a1 Skip only the tt::Literal when consuming float tokens 2022-05-06 16:10:54 +02:00
bors
10dd471fd1 Auto merge of #12175 - Veykril:completion-rev, r=Veykril
fix: Fix snippets triggering where they shouldn't

Fixes https://github.com/rust-lang/rust-analyzer/issues/12169
2022-05-06 13:45:12 +00:00
Lukas Wirth
0ce620686c fix: Fix snippets triggering where they shouldn't 2022-05-06 15:44:41 +02:00
bors
57c5447f90 Auto merge of #12174 - Veykril:completion-rev, r=Veykril
internal: Improve completion tests by checking that the offset is included in the source_range of items
2022-05-06 11:12:29 +00:00
Lukas Wirth
582f99d293 internal: Improve completion tests by checking that the offset is included in the source_range of items 2022-05-06 13:11:50 +02:00
bors
db1434b34f Auto merge of #12171 - lnicola:proc-macros-dont-invalidate-state, r=Veykril
fix: Try not to invalidate state when the proc macro preference didn't change

This appears to fix #12027, but I'm not sure.
2022-05-06 10:14:05 +00:00
Lukas Wirth
57a9915c1f internal: completion PathKind is not optional 2022-05-06 12:04:41 +02:00
Laurențiu Nicola
97cdf3eb0e Try not to invalidate our state when the proc macro preference didn't change 2022-05-06 09:49:03 +03:00
bors
dd3f5e0993 Auto merge of #12168 - Veykril:completion-rev, r=Veykril
internal: Remove unqualified_path completions module
2022-05-05 20:22:30 +00:00
Lukas Wirth
0c4e23b8ef internal: Remove unqualified_path completions module 2022-05-05 22:21:42 +02:00
Wang Ruochen
8d7a393008 Check const reference 2022-05-05 11:44:11 -07:00
Wang Ruochen
81d7cbbbe2 Avoid allocations 2022-05-05 10:14:11 -07:00
Jonas Schievink
d974a0b889 Fix rebase fallout 2022-05-05 16:35:07 +02:00
Jonas Schievink
37443eb9a1 Maybe everything else *should* have to deal with it 2022-05-05 16:28:59 +02:00
Jonas Schievink
2fe38d3b63 Indicate the number of float tokens in the first token 2022-05-05 16:28:59 +02:00
Jonas Schievink
34dc8e9383 Wrap floats in token trees in FLOAT_LITERAL node 2022-05-05 16:28:59 +02:00
Jonas Schievink
90bd99f1bb Add completion test 2022-05-05 16:28:59 +02:00
Jonas Schievink
2a755495d0 Add tests 2022-05-05 16:28:59 +02:00
Jonas Schievink
1bc3305d95 Split float literal tokens at the . 2022-05-05 16:28:58 +02:00
Jonas Schievink
502c519e7d Wrap float literals in their own node 2022-05-05 16:28:14 +02:00
Jonas Schievink
2d5d16f18c Remove ast::Literal::token 2022-05-05 16:27:35 +02:00
Lukas Wirth
16d2e79b50 internal: Remove unqualified_path completions module 2022-05-05 15:50:40 +02:00
Lukas Wirth
25d133e3b8 internal: Lift out item list path completions from (un)qualified_path 2022-05-05 12:20:18 +02:00
bors
52a58f672e Auto merge of #12160 - Veykril:completions-rev, r=Veykril
minor: Sort ide-completions test outputs for less disruptive diffs
2022-05-05 09:03:23 +00:00
Lukas Wirth
5280e08c13 minor: Sort ide-completions test outputs for less disruptive diffs 2022-05-05 10:53:20 +02:00
bors
01198da2a2 Auto merge of #12159 - Veykril:completions-rev, r=Veykril
internal: Lift out macro bang property from completion PathKind enum
2022-05-05 08:51:18 +00:00
Lukas Wirth
8b092ec337 internal: Lift out macro bang property from PathKind enum 2022-05-05 10:51:02 +02:00
Laurențiu Nicola
9856144b0b Lower values of char and byte literals 2022-05-05 08:12:08 +03:00
bors
0218aeba7a Auto merge of #12150 - rainy-me:feat/fix-doc-url-links, r=rainy-me
fix: doc url link type

fix: #12033

I did some debugging and found the cause looks like to be some doc links' `LinkType` are kept as `Shortcut` which don't make sense for url links.
This PR should resolve both problems in the origin issue, but aside this PR, more work are needed for doc_links.

about `LinkType`: f29bd1e228/src/lib.rs (L191-L210)
2022-05-05 04:54:12 +00:00
rainy-me
ddff1b22f9 fix: add docs and remove unnecessary check 2022-05-05 13:41:33 +09:00
Jacob Pratt
3c376e5be8
Remove handling of #[rustc_deprecated] 2022-05-04 22:25:58 -04:00
rainy-me
5f4351fbb6 fix: doc url link type 2022-05-05 00:41:29 +09:00
Lukas Wirth
73df43f69a Implement old to new config patching 2022-05-04 15:29:25 +02:00
bors
1f709d5446 Auto merge of #12143 - bnjjj:master, r=Veykril
improve the default constructor mode when filling fields

Instead of filling a boolean field with `bool::default()` it's not `false` and same for `Option` instead of using `Option::default()` it will be `None`
2022-05-04 09:32:17 +00:00
bors
9ed4af8967 Auto merge of #12142 - WaffleLapkin:sort-items-by-trait-def, r=lnicola
feat: Sort items by trait definition assist

This PR replaces the "Sort **methods** by trait definition" assist with a "Sort **items** by trait definition" assist that sorts all items, not just methods.

![sort-items-by-trait-def-showcase](https://user-images.githubusercontent.com/38225716/166491828-0bc10dbd-91be-408f-9fe0-636ef5e99377.gif)
2022-05-04 09:08:22 +00:00
Benjamin Coenen
6344eea242 improve the default constructor mode when filling fields
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2022-05-04 09:45:12 +02:00
Maybe Waffle
e315124798 Remove "Sort methods by trait definition" assist
It was replaced by the "Sort items by trait definition" assist.
2022-05-04 00:59:23 +04:00
Maybe Waffle
2b20a05fc6 Add "Sort items by trait definition" 2022-05-03 19:57:39 +04:00
Maybe Waffle
d7ed351573 Fix some typos in ide-assists/src/lib.rs 2022-05-03 19:41:07 +04:00
iDawer
970276b559 'inference': collect RPIT obligations
Collect obligations from RPITs (Return Position `impl Trait`) of a function which is being inferred.
This allows inferring {unknown}s from RPIT bounds.
2022-05-03 15:59:12 +05:00
Wang Ruochen
a70beea9e9 Trigger only when cursor is on else 2022-05-02 15:20:13 -07:00
Jonas Schievink
1f50e19eb2 Add a Converter type for token conversion 2022-05-02 17:47:12 +02:00
bors
f83dccf5b9 Auto merge of #12123 - rainy-me:feat/impl-self-completion, r=Veykril
feat: provide Self in record literal completion

close #12106
2022-05-02 12:29:49 +00:00
bors
9e10d4b717 Auto merge of #12093 - nico-abram:uwu, r=Veykril
Reload project on .cargo/config[.toml] changes

Fixes #11024

Not adding tests as discussed in the issue
2022-05-02 12:21:42 +00:00
bors
cc12d9df3f Auto merge of #12120 - iDawer:ide.sig_help, r=Veykril
fix: Don't show signature help after closing bracket

Stop showing signature help after closing angle/round brackets.

Fixes #11624
2022-05-02 12:13:16 +00:00
Lukas Wirth
b6e19add06 minor: Add a test for display rendering record variants 2022-05-02 12:51:00 +02:00
Lukas Wirth
4f97950595 fix: Fix uncorrect use of double braces in HirDisplay implementations 2022-05-02 12:39:38 +02:00
Lukas Wirth
291f94e22e Fix up config docs 2022-05-01 19:57:09 +02:00
Lukas Wirth
cb6032bdf4 Fix untagged enum deserialization 2022-05-01 19:57:09 +02:00
Lukas Wirth
1f11b70c3b Final fixups 2022-05-01 19:57:09 +02:00
Lukas Wirth
9fe1b24736 Update config usage in slow tests 2022-05-01 19:57:09 +02:00
Lukas Wirth
3d17261972 Adjust signature info and enum variant lenses 2022-05-01 19:57:08 +02:00
Lukas Wirth
9f27eb57a5 Implement boolean aliases 2022-05-01 19:57:08 +02:00
Lukas Wirth
bd18936d51 Sort config definition 2022-05-01 19:57:08 +02:00
Lukas Wirth
61643aca49 Initial config revamp 2022-05-01 19:57:08 +02:00
Wang Ruochen
59cdb31874 Turn let-else statements into let and match 2022-05-01 09:43:51 -07:00
rainy-me
f3e3abfb98 feat: provide self in record literal completion 2022-05-01 21:01:28 +09:00
Peh
aade31943f delete another swap file 2022-05-01 10:48:58 +00:00
Peh
14c30b7979 update crates names in slow-tests/tidy.rs 2022-05-01 10:48:58 +00:00
Peh
c9a8c69ee0 update diagnostic-docs crate name 2022-05-01 10:48:58 +00:00
Peh
e53bf7e9c2 updated ide-assist new dir name 2022-05-01 10:48:58 +00:00
Peh
55e7925ac8 delete a generated swap file 2022-05-01 10:48:58 +00:00
Peh
1f011fa4a3 style: rename crates to kebab case 2022-05-01 10:48:58 +00:00
bors
e025b37df6 Auto merge of #12099 - bitgaoshu:master, r=flodiebold
fix #11986 Aliases break resolution of qualified variants in patterns
2022-05-01 08:49:58 +00:00
iDawer
dffbab45f4 Don't show signature help after closing bracket 2022-04-29 23:26:54 +05:00
bors
c6995a372f Auto merge of #12117 - Veykril:mexpand, r=Veykril
minor: Insert whitespace after const token when formatting macro expansions
2022-04-29 12:07:52 +00:00
Lukas Wirth
df85ee05e3 minor: Insert whitespace after const token when formatting macro expansions 2022-04-29 14:07:19 +02:00
Justin Tracey
cfa7204544
small typo in log message 2022-04-29 05:59:32 +00:00
Jonas Schievink
52010d7dc7 Fix outline mod completion with partial module name 2022-04-28 20:21:46 +02:00
Jonas Schievink
c7027122db Add test with trait 2022-04-28 19:23:57 +02:00
Jonas Schievink
b6a1b45c24 Make "inline type alias" work for Self 2022-04-28 19:20:23 +02:00
bors
d382e24a11 Auto merge of #12108 - Veykril:simplify, r=Veykril
minor: Record snippet config errors
2022-04-28 13:18:35 +00:00
Lukas Wirth
075b18942f minor: Record snippet config errors 2022-04-28 15:18:19 +02:00
bitgaoshu
7900d99e3e #11986 Aliases break resolution of qualified variants in patterns 2022-04-28 09:42:07 +08:00
bors
241b9f9aec Auto merge of #12103 - jonas-schievink:diagnose-unresolved-derives, r=jonas-schievink
feat: diagnose unresolved derive macros

![screenshot-2022-04-27-20:04:59](https://user-images.githubusercontent.com/1786438/165591059-c759f035-2400-4bb1-84b0-9332e86c65d5.png)
2022-04-27 18:05:37 +00:00
Jonas Schievink
fa42888e27 Diagnose unresolved derive macros 2022-04-27 20:03:57 +02:00
bors
361cddc16c Auto merge of #12101 - Veykril:simplify, r=Veykril
Simplify
2022-04-27 17:54:26 +00:00
Lukas Wirth
8b056fad45 Simplify 2022-04-27 19:53:56 +02:00
bors
ab8159b0b2 Auto merge of #12090 - Veykril:recov, r=Veykril
fix: Use pattern recovery set when parsing ident patterns
2022-04-27 17:18:46 +00:00
Lukas Wirth
e2344e78f3 fix: Use pattern recovery set when parsing ident patterns 2022-04-27 19:08:50 +02:00
unknown
b373e62f1a Reload project on .cargo/config[.toml] changes
Fixes #11024
2022-04-27 12:10:43 -03:00
bors
1ad500beb6 Auto merge of #12057 - harpsword:fix_validata_visibility, r=jonas-schievink
fix visibility token validation in trait impl with proc-macro

fix #11828
2022-04-27 13:09:31 +00:00
bors
6c6aaeee7a Auto merge of #12089 - lowr:fix/move-raw-ident-module-to-file, r=jonas-schievink
fix: handle raw identifiers in move_module_to_file

Fixes #12045

Note that I special case'd mod named `r#mod` as commented in the code. Although it's very unlikely that one would use such name, I included it in this fix for the sake of completeness.
2022-04-27 12:59:52 +00:00
harpsword
b1f858118b fix visibility token validation in trait impl with proc-macro 2022-04-27 20:58:36 +08:00
bors
9f69d024ed Auto merge of #12098 - jonas-schievink:macro-rules-snippet, r=jonas-schievink
fix: show `macro_rules` snippet in blocks

fixes https://github.com/rust-lang/rust-analyzer/issues/12092
2022-04-27 12:41:29 +00:00
Jonas Schievink
0060d5977d Show macro_rules snippet in blocks 2022-04-27 14:40:09 +02:00
Laurențiu Nicola
4a57307674 Revert "Correctly fix formatting doc tests with generics"
This reverts commit 5f3327a6b8.
2022-04-27 15:30:54 +03:00
Laurențiu Nicola
0d02be7330 Revert "Update crates/ide/src/runnables.rs"
This reverts commit bf47acf1d3.
2022-04-27 15:30:54 +03:00
rainy-me
c1685e56b7 fix: remove lookup and handle mut kw case 2022-04-27 18:54:57 +09:00
LowR
bc7cb00a27 fix: handle raw identifiers in move_module_to_file 2022-04-27 05:12:10 +09:00
bors
198c075580 Auto merge of #12083 - Veykril:inlays, r=Veykril
minor: Add test for parameter and reborrow hint order
2022-04-26 09:53:26 +00:00
Lukas Wirth
5e413997a1 minor: Add test for parameter and reborrow hint order 2022-04-26 11:46:03 +02:00
iDawer
729cd8530b signature_help: use corresponding param list for methods 2022-04-26 11:50:28 +05:00
Lukas Wirth
4255996965 Re-export FxHashMap and FxHashSet from ide_db 2022-04-25 18:51:59 +02:00
Lukas Wirth
8154365b00 minor: Remove either dependency from ide_completion 2022-04-25 18:40:38 +02:00
bors
6869491974 Auto merge of #12075 - jonas-schievink:less-aggressive-quickfixes, r=jonas-schievink
fix: Don't emit a quickfix for placeholder suggestions from rustc/clippy

Fixes https://github.com/rust-lang/rust-analyzer/issues/12069
2022-04-25 13:22:41 +00:00
Jonas Schievink
36342b4b29 Don't emit a quickfix for placeholder suggestions 2022-04-25 15:21:30 +02:00
bors
60c4f072eb Auto merge of #12007 - edwin0cheng:restart-proc-macro-reload, r=jonas-schievink
Restart proc-macro client when server reload

Fix #10719
2022-04-25 12:56:57 +00:00
bors
1d2bd0e379 Auto merge of #12071 - Ma124:fix-tabs-snippet, r=jonas-schievink
Change tabs to spacs in macro_rules snippet

This PR changes the `macro_rules!` snippet to use spaces instead of tabs.
The other snippets like [this one][test-snippet] already use spaces.

The snippet was introduced in 5575588 where no reason is provided to use tabs.

[test-snippet]: https://github.com/rust-lang/rust-analyzer/blob/master/crates/ide_completion/src/completions/snippet.rs#L70=
2022-04-25 12:44:49 +00:00
Jonas Schievink
3a83684a16 Reduce priority of flyimport completions 2022-04-25 14:34:54 +02:00
bors
c1de78f54c Auto merge of #12072 - bitgaoshu:master, r=jonas-schievink
fix #11973 associated type is unresolved
2022-04-25 11:07:09 +00:00
Ma_124
b06c95aeda Change tabs to spacs in macro_rules snippet 2022-04-24 15:18:31 +02:00
bitgaoshu
5d1aff3357 #11973 associated type is unresolved 2022-04-24 20:51:48 +08:00
Aleksey Kladov
83aa42ae69 minor: clarify error message
Clarify that the server is a whole is OK, and that it's only a single
requests that's dead
2022-04-24 13:39:33 +01:00
Edwin Cheng
8f616a6cb5 Fix Reload Workspace command 2022-04-24 11:59:08 +08:00
bors
c61bb6be8c Auto merge of #12064 - Veykril:attr-range, r=Veykril
fix: Fix `ide_db::search` not searching bodies of attributed items

Fixes https://github.com/rust-lang/rust-analyzer/issues/12050
2022-04-23 14:37:35 +00:00
Lukas Wirth
d524e43ef5 fix: Fix ide_db::search not searching bodies of attributed items 2022-04-23 16:36:11 +02:00
bors
23e47e1ebc Auto merge of #12063 - iDawer:ide.signature_help, r=Veykril
fix: Fall back to parameter definitions on error types in signature help

Fixes  #10432
2022-04-23 14:23:30 +00:00
iDawer
baa4fa09ef Add fallback for return type 2022-04-23 17:21:21 +05:00
iDawer
fae9049ccd Fall back to parameter definitions on error types in signature help 2022-04-23 17:21:21 +05:00
bors
c606229241 Auto merge of #12060 - Veykril:completion-ctx, r=Veykril
minor: Simplify

bors r+
2022-04-23 00:29:18 +00:00
Lukas Wirth
ea45e54458 Simplify 2022-04-23 02:21:27 +02:00
bors
1894473b19 Auto merge of #12058 - jonas-schievink:one-thread-with-extra-stack-please, r=jonas-schievink
fix: Spawn a new thread with a larger stack for the LSP and proc-macro server

This runs the server and proc-macro process in dedicated threads with 8 MB of stack space to paper over OS differences and fix occasional stack overflows.

This hopefully resolves https://github.com/rust-lang/rust-analyzer/issues/11669
2022-04-22 15:46:30 +00:00
Jonas Schievink
b5a56c7d53 Spawn a new thread with a larger stack for the server 2022-04-22 17:35:03 +02:00
bors
ebe6e30f04 Auto merge of #12054 - HKalbasi:const_generic, r=flodiebold
Fix const generic panic in dyn trait

fix #12048
2022-04-22 15:22:49 +00:00
hkalbasi
785ae4dfa8 remove trailing space 2022-04-22 19:29:10 +04:30
hkalbasi
0b5dd42fac Add some comments about why never!() never happens 2022-04-22 19:22:18 +04:30
hkalbasi
d33d5fca1d fix const generic panic in dyn trait 2022-04-22 01:36:11 +04:30
bors
24f9209a87 Auto merge of #12040 - rainy-me:improve-parameter-completion, r=jonas-schievink
fix: Improve parameter completion

fix https://github.com/rust-lang/rust-analyzer/issues/12016 and handles some extra cases.
2022-04-21 15:39:10 +00:00
rainy-me
8f8f20fda5 fix: lookup 2022-04-22 00:07:42 +09:00
Ted Kaminski
ecb1368027 fix: index the correct CargoWorkspace with rustc_private 2022-04-20 17:16:04 +00:00
Jonas Schievink
dd4a92176c Prefer core/alloc over std if no_std is conditional 2022-04-20 14:07:40 +02:00
rainy-me
a58f7acc97 fix: improve parameter completion 2022-04-20 17:56:20 +09:00
Jonas Schievink
c6ffffccbd Allows triggering commands after an assist edit 2022-04-19 18:45:48 +02:00
Lukas Wirth
f8c32df7cd minor: Document completion context some more 2022-04-18 16:54:13 +02:00
bors
e0d41bc2a1 Auto merge of #12021 - Veykril:completion-ctx, r=Veykril
internal: Add a `NameContext` to `CompletionContext`, move out some ImmediateLocation variants

Continues the completion rewrite I started some time ago
(will merge tomorrow after stable since our completion tests still let a lot through)
2022-04-18 14:00:56 +00:00
XFFXFF
fedd0245d1 derive completions take existing derives into count 2022-04-18 21:34:36 +08:00
Edwin Cheng
72fcc66835 More visibility for switch workspaces and its states 2022-04-18 14:26:00 +08:00
Lukas Wirth
ff667c7228 internal: Add a NameContext to CompletionContext, move out some ImmediateLocation variants 2022-04-17 21:53:58 +02:00
Laurențiu Nicola
117f902d55 Bump deps 2022-04-17 19:36:08 +03:00
bors
a45a63e577 Auto merge of #12013 - XFFXFF:associated_const_equality, r=Veykril
fix: support `associated_const_equality` in parser

This pr fixes #11965.  The parser now allows eq constraints on associated constants.

I've added tests for `HasCount<Count = {N}>` and `HasCount<Count = 0>`
2022-04-17 13:05:47 +00:00
XFFXFF
6580d75308 update parser to support associated const equality 2022-04-17 20:26:06 +08:00