Commit Graph

14725 Commits

Author SHA1 Message Date
Lukas Wirth
0aaa61cd56 Only hide parameter hints for path, field and methodcall expressions 2021-01-27 15:03:43 +01:00
bors[bot]
2f223d8c15
Merge #7438
7438: Shorten hir::TypeParam ranges for traits in NavigationTarget r=matklad a=Veykril

I noticed that selecting `Self` here highlights the entire trait,
![Code_a8DMOEUuWY](https://user-images.githubusercontent.com/3757771/105779993-d2592c00-5f6f-11eb-81d1-bd99f9369cf7.png)
this should cut it down to just the trait name and the `Self` which imo seems better.
![image](https://user-images.githubusercontent.com/3757771/105780410-ac805700-5f70-11eb-882b-10ed63b951f2.png)


Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-26 06:35:20 +00:00
Lukas Wirth
d912444cac Shorten hir::TypeParam full_range in NavigationTarget 2021-01-26 01:01:00 +01:00
bors[bot]
aa91a0268b
Merge #7430
7430: Simplify file download code r=matklad a=lnicola

This avoids leaving the user with no LSP binary available if their network goes down during the download, and should not keep the current behavior: overwriting a running executable works on Unix and fails on Windows.

It also removes the `overwrite` argument, which is always enabled and wasn't working anyway.

Nominally closes #3896 (although that's already fixed)

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-25 18:40:57 +00:00
bors[bot]
a37091d2d0
Merge #7431
7431: Handle `super` paths inside blocks correctly r=jonas-schievink a=jonas-schievink

We now intern `BlockLoc` and use `BlockId` to refer to block expressions. This is needed to keep `ModuleId` simple, since it would otherwise have to store an arbitrarily long chain of blocks and couldn't be `Copy`.

The `DefMap` hierarchy is now created as the caller descends into an item body. This is necessary to link the correct module as the block's parent, which is important for correct name resolution.

As a result, we can now resolve `super` paths inside block expressions by climbing the `DefMap` chain.

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-25 18:24:04 +00:00
Jonas Schievink
08253d5473 Traverse parent DefMap for super paths 2021-01-25 19:15:39 +01:00
Jonas Schievink
98a88ebb9e Intern block locations and handle them in ModuleId 2021-01-25 19:02:05 +01:00
Laurențiu Nicola
03a1da9d46 Simplify file download code 2021-01-25 19:12:54 +02:00
bors[bot]
2c735ed734
Merge #7426
7426: Create all `ModuleId`s through a `DefMap` method r=jonas-schievink a=jonas-schievink

`ModuleId` needs to be able to represent blocks, and only the
associated `DefMap` will know how to construct that `ModuleId`

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-25 14:22:24 +00:00
Jonas Schievink
5c241b0766 Create all ModuleIds through a DefMap method
`ModuleId` needs to be able to represent blocks, and only the
associated `DefMap` will know how to construct that `ModuleId`
2021-01-25 15:21:33 +01:00
bors[bot]
0a6b2b7846
Merge #7424
7424: Derive Default on ItemTree r=lnicola a=lnicola



Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-25 12:31:48 +00:00
bors[bot]
82af033f2f
Merge #7425
7425: Fix typo in style guide r=lnicola a=lnicola

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-25 12:15:16 +00:00
Laurențiu Nicola
f0cffb66b3 Fix typo in style guide 2021-01-25 14:14:43 +02:00
Laurențiu Nicola
5ed5a542fb Derive Default on ItemTree 2021-01-25 14:12:53 +02:00
bors[bot]
a6a5b02f4c
Merge #7422
7422: Disallow non-boolean literals in concat! r=lnicola a=lnicola



Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-25 11:35:37 +00:00
Laurențiu Nicola
4e92681aba Disallow non-boolean literals in concat! 2021-01-25 13:31:03 +02:00
bors[bot]
83231dd987
Merge #7409 #7421
7409: Add References CodeLens. r=matklad a=vsrs

Closes #5836

7421: Fix RA_LOG example in dev docs r=lnicola a=lnicola

bors r+

Co-authored-by: vsrs <vit@conrlab.com>
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-25 11:18:58 +00:00
Laurențiu Nicola
83fd639829 Fix RA_LOG example in dev docs 2021-01-25 13:18:24 +02:00
bors[bot]
6362b399ad
Merge #7419
7419: Unquote strings when expanding concat! r=matklad a=lnicola

Fixes #7417.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-25 11:04:23 +00:00
Laurențiu Nicola
ee8c678870 Unquote strings and handle boolean literals in concat! 2021-01-25 13:02:57 +02:00
bors[bot]
1cd5a6cd41
Merge #7418
7418: ⬆️ rowan r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-25 09:33:04 +00:00
Aleksey Kladov
1df711b95c ⬆️ rowan 2021-01-25 12:32:35 +03:00
bors[bot]
911ff38eae
Merge #7415
7415: Code: reduce progress notification spam r=lnicola a=lnicola



Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-25 08:34:36 +00:00
Laurențiu Nicola
5bd84716ed Code: reduce progress notification spam 2021-01-25 10:05:38 +02:00
bors[bot]
3ab8d7a9ae
Merge #7414
7414: Add validation for mutable const items r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-24 01:18:58 +00:00
Lukas Wirth
70d43c3faf Add validation for mutable const items 2021-01-24 02:17:41 +01:00
bors[bot]
a7a1bb444d
Merge #7413
7413: Handle unions in symbol search r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-24 00:42:59 +00:00
Lukas Wirth
a872ebf81f Support unions in symbol search 2021-01-24 01:32:52 +01:00
bors[bot]
89fef5307e
Merge #7411
7411: cargo update r=kjeremy a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2021-01-23 16:30:26 +00:00
Jeremy Kolb
ea1683ea96 cargo update 2021-01-23 11:28:59 -05:00
vsrs
3618c4e0d3 Add References code lens.
For Struct, Enum, Union and Trait symbols.
2021-01-23 16:56:20 +03:00
bors[bot]
fb2b9c7212
Merge #7062
7062: Add diagnostic for filter_map followed by next r=theotherphil a=theotherphil

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/1725

Co-authored-by: Phil Ellison <phil.j.ellison@gmail.com>
2021-01-23 08:42:45 +00:00
Phil Ellison
db6dda94a3 Remove use of SourceFileEdit 2021-01-23 07:54:45 +00:00
Phil Ellison
65a5ea581d Update tests to register the required standard library types 2021-01-23 07:40:25 +00:00
Phil Ellison
7c691f51f9 Fix test names 2021-01-23 07:40:25 +00:00
Phil Ellison
8c7ccdc29d Identify methods using functions ids rather than string names 2021-01-23 07:40:25 +00:00
Phil Ellison
920e57bd15 cargo fmt 2021-01-23 07:40:25 +00:00
Phil Ellison
e62e4ed148 Address review comments 2021-01-23 07:40:25 +00:00
Phil Ellison
449ced4d21 cargo fmt 2021-01-23 07:40:25 +00:00
Phil Ellison
1ff860b93c Implement fix, add tests 2021-01-23 07:40:25 +00:00
Phil Ellison
1316422a7c Add diagnostic for filter_map followed by next 2021-01-23 07:40:24 +00:00
bors[bot]
eab5db20ed
Merge #7391
7391: Fix error when using "extern crate self as" r=kazatsuyu a=kazatsuyu

Fix #6957

Co-authored-by: kazatsuyu <shirayama.kazatsuyu@gmail.com>
2021-01-23 04:04:09 +00:00
bors[bot]
f301da3c3d
Merge #7399
7399: Make `ModuleId`'s `krate` field private and audit uses r=jonas-schievink a=jonas-schievink

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-22 17:11:48 +00:00
Jonas Schievink
3de8f57c51 Make ModuleId's krate field private 2021-01-22 18:09:55 +01:00
bors[bot]
b982db88be
Merge #7398
7398: stave off zombies r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-22 16:51:45 +00:00
Aleksey Kladov
738d9cdfde stave off zombies 2021-01-22 19:50:56 +03:00
bors[bot]
e73cc8b4ab
Merge #7396
7396: More annoying asserts r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-22 16:16:22 +00:00
Aleksey Kladov
96197e0873 Normalize tests 2021-01-22 19:15:34 +03:00
Aleksey Kladov
a40f78f92a More useful fn detail in completion
Detail should be rendered as shtort one line, just dumping fn header
there is not useful, despite the fact that TS does this.

The fact that this is a function should be indicated by the icon, the
same goes for pub/const/async etc qualitfiers

name is already present in the lable (and arg list should be a part of
that, as in idea)

But the return type is the small genuinerlly useful bit of info we can show here
2021-01-22 19:15:34 +03:00
Aleksey Kladov
02a17cdffc Make assertion failures more annoying for maintainers 2021-01-22 19:13:21 +03:00