Aleksey Kladov
fbb9d69758
feat: always prefer postfix snippets if there's exact textual match
...
Note that, while we don't currently have a fuzzy-matching score, it
makes sense to special-case postfix templates -- it's very annoying when
`.not()` gets sorted before `.not`. We might want to move this infra to
fuzzy matching, once we have that!
2021-07-04 16:50:02 +03:00
Aleksey Kladov
9a3eae8755
fix: don't add duplicate &
during completion
2021-06-20 19:37:58 +03:00
Aleksey Kladov
89a0e58393
internal: use minicore deref more
2021-06-18 22:47:02 +03:00
Lukas Wirth
aa644b5585
Move test_utils into tests module
2021-06-16 21:51:52 +02:00
Lukas Wirth
66b701ed3e
Simplify
2021-06-16 15:51:01 +02:00
bors[bot]
1c034c084d
Merge #9299
...
9299: minor: Filter out non-type completions in the respective completions modules instead r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-16 13:10:44 +00:00
Lukas Wirth
354ad29493
Filter out non-type completions in the respective completions modules instead
2021-06-16 15:08:44 +02:00
Aleksey Kladov
d2c9f3add1
internal: add deref_mut to minicore
2021-06-16 10:30:29 +03:00
Aleksey Kladov
7cbcbccc78
internal: switch some tests to minicore
2021-06-15 23:11:53 +03:00
Aleksey Kladov
546be18e3a
internal: check that coverage marks are always paired
2021-06-13 13:13:26 +03:00
Maan2003
c9b4ac5be4
clippy::redudant_borrow
2021-06-13 09:24:16 +05:30
bors[bot]
863e23f00f
Merge #9219
...
9219: minor: Replace some AssocItem::containing_trait calls trait_or_trait_impl r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-11 17:56:00 +00:00
Lukas Wirth
db4a1fcab4
Replace some AssocItem::containing_trait calls trait_or_trait_impl
2021-06-11 19:55:24 +02:00
Lukas Wirth
4e588dfd88
Don't allow lookup by self for unprefixed self access completions
2021-06-11 18:26:52 +02:00
Lukas Wirth
20d26bd109
Simplify
2021-06-09 23:45:12 +02:00
Lukas Wirth
1d74ef1d98
Don't complete values in type position
2021-06-08 16:50:10 +02:00
Lukas Wirth
4eabcb2c01
Move more things into PathCompletionContext
2021-06-07 14:08:05 +02:00
Lukas Wirth
fb7105a580
Add config setting for self-on-the-fly
2021-05-31 15:14:56 +02:00
Lukas Wirth
d346f5bf75
Less strings, more hir::Names
2021-05-31 14:55:16 +02:00
Lukas Wirth
ca49fbe0a1
Complete self.
prefixed fields and methods inside methods
2021-05-31 14:52:55 +02:00
Lukas Wirth
971b0836ef
Use Name
s instead of Strings in the completion rendering api
2021-05-31 14:15:15 +02:00
Lukas Wirth
1f897f7319
Set record_pat_syntax
more precisely in CompletionContext
2021-05-26 23:46:00 +02:00
Lukas Wirth
7d865ef071
Merge pattern completion related bools into an enum
2021-05-26 22:39:47 +02:00
Florian Diebold
7a0c93c58a
Infer correct expected type for generic struct fields
2021-05-23 18:45:44 +02:00
Florian Diebold
48c492af7e
Fix compilation of hir and ide crates
2021-05-21 17:48:34 +02:00
Josh Mcguigan
0e31ae2cef
completion relevance distinguish between exact type match and could unify
2021-03-26 09:18:18 -07:00
Josh Mcguigan
957939292e
completion relevance consider if types can be unified
2021-03-26 09:11:50 -07:00
Josh Mcguigan
18c3fb2df5
add unit test to demonstrate struct fields/methods do not get ref match completions
2021-03-22 20:34:02 -07:00
Josh Mcguigan
8cd94900f7
implement a temporary workaround for #8058
2021-03-21 17:30:56 -07:00
Lukas Wirth
62a4677dbc
Add label completion
2021-03-21 01:02:22 +01:00
Lukas Wirth
38048c35d8
Don't use an untyped String for ActiveParam tracking
2021-03-20 23:22:09 +01:00
Matthias Krüger
048dad8c2e
don't clone types that are copy (clippy::clone_on_copy)
2021-03-17 01:56:31 +01:00
Josh Mcguigan
81f51fcd65
minor style fixes per feedback on #8036
2021-03-16 06:54:17 -07:00
bors[bot]
1a82af3527
Merge #7900 #8000
...
7900: show function params in completion detail r=matklad a=JoshMcguigan
This resolves #7842 by updating the detail for function completions from `-> T` to `fn(T, U) -> V`. I added an expicit unit test for this, `ide_completion::render::fn_detail_includes_args_and_return_type`, which passes.
Lots of other unit tests fail (~60 of them) due to this change, although I believe the failures are purely cosmetic (they were testing the exact format of this output). I'm happy to go update those tests, but before I do that I'd like to make sure this is in fact the format we want for the detail?
edit - I realized `UPDATE_EXPECT=1 cargo test` automatically updates `expect!` tests. Big 👍 to whoever worked on that! So I'll go ahead and update all these tests soon. But I still would like to confirm `fn(T, U) -> V` is the desired content in the `detail` field.
8000: Use hir formatter for hover text r=matklad a=oxalica
Fix #2765 , (should) fix #4665
Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
Co-authored-by: oxalica <oxalicc@pm.me>
2021-03-16 08:05:24 +00:00
Josh Mcguigan
405bbb3aa4
completions: centralize calculation of relevance and ref matches
2021-03-15 19:40:42 -07:00
Josh Mcguigan
db8bcf132c
implement function completion scoring
2021-03-15 08:35:28 -07:00
Josh Mcguigan
67d59aeb7c
remove expected_name_and_type method on completion context in favor of using fields added in #8008
2021-03-15 06:25:39 -07:00
Josh Mcguigan
d91151c3b1
update algorithm for determining expected type of completion
2021-03-15 05:38:19 -07:00
Josh Mcguigan
ba924d04b3
increase completion relevance for items in local scope
2021-03-14 08:00:47 -07:00
ivan770
8a9ebe62a1
Skip ref_match on same types, remove sorting in tests
2021-03-14 12:25:37 +02:00
ivan770
661cc7f0c8
Added both references and original matches to tests
2021-03-13 18:31:52 +02:00
ivan770
32ad929b82
Fix incorrect DerefMut test reference type
2021-03-13 17:28:05 +02:00
ivan770
3bc5d81a33
Make relevance tests display references, suggest derefs only when needed
2021-03-13 17:25:41 +02:00
ivan770
75cb441fba
Simplify call site and deref completion test
2021-03-13 15:32:37 +02:00
ivan770
d064ed5f63
Count derefs as matched types if possible
2021-03-13 14:34:11 +02:00
Josh Mcguigan
53bb46fa85
show function params in completion detail
2021-03-12 13:36:13 -08:00
Josh Mcguigan
3679821eea
add completion relevance score
2021-03-12 06:16:01 -08:00
Aleksey Kladov
7e217a42e1
Unify naming
2021-03-12 12:22:45 +03:00
yonip23
99c4a41cd1
use references in CompletionItem's builder
2021-03-11 17:46:41 +02:00
Aleksey Kladov
b2764a6641
Future proof completion scores
2021-03-09 20:24:09 +03:00