cameron
2137bdfca3
remove unwarp on adt name
2022-04-04 14:28:15 +01:00
cameron
c735b979ed
complete pattern args based on type name
2022-04-04 13:51:51 +01:00
Lukas Wirth
75689f2ad8
internal: Enforce Resolver to always have a module scope
2022-03-31 11:12:08 +02:00
Florian Diebold
9a427839fa
fix: Disable ref_match for qualified paths as well
...
I.e. don't suggest `Foo::&foo()`.
CC #8058 .
2022-03-27 12:50:55 +02:00
Lukas Wirth
000e681d5f
fix: Fix tuple- and record struct completions not working with existing braces
2022-03-21 22:01:26 +01:00
Lukas Wirth
a40a847d77
Revert omitting field completions
2022-03-16 16:41:35 +01:00
Lukas Wirth
02b401b130
Simplify completion render functionality
2022-03-16 16:27:55 +01:00
Lukas Wirth
4fe5f03c7f
Rename compound things to variant things
2022-03-16 13:41:47 +01:00
bors[bot]
ff7e057dca
Merge #11691
...
11691: feat: Suggest union literals, suggest union fields within an empty union literal r=Veykril a=m0rg-dev
Adds a `Union {…}` completion in contexts where a union is expected, expanding to a choice of available fields (if snippets are supported):


Also, adds support for listing possible fields in an empty union literal.


Closes #11568 .
Co-authored-by: Morgan Thomas <corp@m0rg.dev>
2022-03-12 15:44:51 +00:00
Lukas Wirth
301711ee71
internal: Remove ide_completion::render::build_ext module
2022-03-12 16:13:49 +01:00
Morgan Thomas
6519b0a009
Suggest union literals, suggest union fields within an empty union literal
2022-03-12 06:58:43 -08:00
Morgan Thomas
f27c0ef1cf
Reduce intermediate string allocations in render::compound::render_record and ::render_tuple
2022-03-12 05:01:25 -08:00
Morgan Thomas
d430ddd809
Extract the code for formatting struct and enum-variant literal labels out into a common function
2022-03-12 04:40:05 -08:00
Morgan Thomas
b3640ce424
make the doc comment on render::compound::visible_fields a little better
2022-03-11 19:23:04 -08:00
Morgan Thomas
6a1c151159
visibility tweak for CI
2022-03-11 19:10:43 -08:00
Morgan Thomas
2a22cf8efc
Complete enum variants identically to structures.
...
In particular:
- unit variants now display in the menu as "Variant", complete to "Variant", and display a detail of "Variant" (was "()")
- tuple variants now display in the menu as "Variant(…)", complete to "Variant(${1:()})$0" (was "Variant($0)"), and display a detail of "Variant(type)" (was "(type)")
- record variants now display in the menu as "Variant {…}", complete to "Variant { x: ${1:()} }$0" (was "Variant"), and display a detail of "Variant { x: type }" (was "{x: type}")
This behavior is identical to that of struct completions. In addition, tuple variants no longer set triggers_call_info, as to my understanding it's unnecessary now that we're emitting placeholders.
Tests have been updated to match, and the render::enum_variant::tests::inserts_parens_for_tuple_enums test has been removed entirely as it's covered by other tests (render::enum_detail_includes_{record, tuple}_fields, render::enum_detail_just_name_for_unit, render::pattern::enum_qualified).
2022-03-11 18:26:01 -08:00
Morgan Thomas
1c5b2c7d03
- Break out functionality related to rendering struct completions into crates/ide_completion/src/render/compound.rs
...
- Add support for placeholder completions in tuple structs
- Denote tuple struct completions with `(…)` instead of ` {…}`
- Show struct completions as their type (`Struct { field: Type }`) in the completion menu instead of raw snippet text (`Struct { field: ${1:()} }$0`)
2022-03-11 17:55:25 -08:00
Lukas Wirth
6c8c02f625
Don't parse source files to generate macro completion details
2022-03-10 22:21:58 +01:00
Lukas Wirth
2abe19e46a
Don't offer qualified path completions for buitlin derives
2022-03-10 21:22:13 +01:00
Lukas Wirth
eba90936c1
Move ide crates to new hir::Macro
2022-03-08 23:52:26 +01:00
Lukas Wirth
ab21cf2f4f
internal: Re-arrange ide_db modules
2022-03-06 19:04:04 +01:00
Jake Heinz
1c1d900d0b
[ide_completion] render if a function is async/const/unsafe in completion details
2022-02-08 22:48:34 +00:00
Lukas Wirth
5c41f5d165
feat: Deprioritize completions of private but editable definitions
2022-02-02 02:05:49 +01:00
Lukas Wirth
d7a544e69a
fix: Complete functions and methods from block level impls
2022-02-01 23:29:40 +01:00
Lukas Wirth
fcdced115e
Deprioritize ops function completions for non-method calls
2022-02-01 12:33:55 +01:00
Lukas Wirth
6194092086
Complete local fn and closure params from surrounding locals scope
2022-01-31 11:56:42 +01:00
Lukas Wirth
2f8dd64830
Replace HasSource usages with Semantics equivalent
2022-01-14 10:59:27 +01:00
Lukas Wirth
ca0633c808
feat: Deprioritize ops methods in completion
2022-01-11 09:26:53 +01:00
Lukas Wirth
5fbdf20765
minor: Simplify
2022-01-04 10:56:28 +01:00
Aleksey Kladov
42ff46c1e8
minor
2021-12-27 21:45:42 +03:00
Lukas Wirth
60dfe8ceed
Replace a few String instances with SmolStr in completions
2021-12-21 16:57:16 +01:00
Lukas Wirth
7f7a3644b3
Fully render type alias completions from hir
2021-12-21 16:36:23 +01:00
Lukas Wirth
40d5c58a80
Fully render const item completions from hir
2021-12-21 16:35:51 +01:00
Lukas Wirth
95ae67b0b0
Simplify type alias rendering, remove constructor structs
2021-12-21 15:37:43 +01:00
Lukas Wirth
97f7865c56
Simplify macro rendering, remove constructor structs
2021-12-21 15:20:15 +01:00
Lukas Wirth
2b60d80eaf
Simplify const rendering, remove constructor structs
2021-12-21 15:04:19 +01:00
Lukas Wirth
e99ed3e407
Simplify enum variant rendering, remove constructor structs
2021-12-21 15:01:52 +01:00
Lukas Wirth
a720fc8e3a
Simplify function rendering, remove constructor structs
2021-12-21 14:51:06 +01:00
Lukas Wirth
cd9d76e0ca
internal: Store function param names in ItemTree
2021-12-20 15:24:37 +01:00
Lukas Wirth
f609efff87
Simplify
2021-12-20 14:38:22 +01:00
bors[bot]
77f2d34930
Merge #10950
...
10950: internal: completion: split out more PathKinds from ImmediateLocation r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-07 21:57:59 +00:00
Lukas Wirth
ae0c7268f7
internal: completion: split out more PathKinds from ImmediateLocation
2021-12-07 22:49:42 +01:00
Lukas Wirth
e09d410dcd
Simplify
2021-12-07 15:06:56 +01:00
Lukas Wirth
1f254dd855
feat: Enable flyimport completions for attributes
2021-12-05 15:57:28 +01:00
Lukas Wirth
0c98a01b3e
Remove possible multiline details in completions
2021-11-24 16:08:11 +01:00
Andrew Leverette
7f15537fa9
Add optimization for not allocating in case of no module path for struct literal
2021-11-23 14:41:31 -06:00
Andrew Leverette
ce7a141110
Add support for qualified struct names
2021-11-23 10:57:29 -06:00
Lukas Wirth
ab657af5b7
Add some completion profile spans
2021-11-08 19:41:16 +01:00
bors[bot]
c5c11b87cc
Merge #10720
...
10720: fix: Don't ascribe types in pattern completion for param patterns twice r=Veykril a=Veykril
Fixes #10323
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-11-08 13:12:03 +00:00
Lukas Wirth
7369360c15
Don't ascribe types in pattern completion for patterns twice
2021-11-05 18:39:36 +01:00