Commit graph

12540 commits

Author SHA1 Message Date
bors[bot]
9dfa69a44a
Merge #5935
5935: Rewrite import insertion r=matklad a=Veykril

This is my attempt at refactoring the import insertion #3947. I hope what I created here is somewhat in line with what was requested, it wouldn't surprise me .

`common_prefix` is a copy from `merge_imports.rs` so those should be unified somewhere, `try_merge_trees` is also copied from there but slighly modified to take the `MergeBehaviour` enum into account.
`MergeBehaviour` should in the end become a configuration option, and the order if `ImportGroup` probably as well?

I'm not too familiar with the assist stuff and the like which is why I dont know what i have to do with `insert_use_statement` and `find_insert_use_container` for now.

I will most likely add more test cases in the end as well as I currently only tried to hit every path in `find_insert_position`. 
Some of the merge tests also fail atm due to them not sorting what they insert. There is also this test case I'm not sure if we want to support it. I would assume we want to? https://github.com/rust-analyzer/rust-analyzer/pull/5935/files#diff-6923916dd8bdd2f1ab4b984adacd265fR540-R547

The entire module was rewritten so looking at the the file itself is probably better than looking at the diff.

Regarding the sub issues of #3947:
- #3301: This is fixed with the rewrite, what this implementation does is that it scans through the first occurence of groupings and picks the appropriate one out. This means the user can actually rearrange the groupings on a per file basis to their liking. If a group isnt being found it is inserted according to the `ImportGroup` variant order(Would be nice if this was configurable I imagine).
- #3831: This should be fixed with the introduced `MergeBehaviour` enum and it's `Last` variant.
- #3946: This should also be [fixed](https://github.com/rust-analyzer/rust-analyzer/pull/5935/files#diff-6923916dd8bdd2f1ab4b984adacd265fR87)
- #5795: This is fixed in the sense that the grouping search picks the first group that is of the same kind as the import that is being added. So if  there is a random import in the middle of the program it should only be considered if there is no group of the same kind in the file already present.
- the last point in the list I havent checked yet, tho I got the feeling that it's not gonna be too simple as that will require knowledge of whether in this example `ast` is a crate or the module that is already imported.

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-09-04 13:28:05 +00:00
bors[bot]
8a21b2c96a
Merge #5948
5948: Up proc-macro2 to 1.20 r=matklad a=kjeremy

This changes the way Display is implemented

Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-09-03 21:52:12 +00:00
kjeremy
11758d518a Up proc-macro2 to 1.20
This changes the way Display is implemented
2020-09-03 17:40:12 -04:00
Lukas Wirth
82f61e6629 Add extra insert_use test for pub(crate) re-export handling 2020-09-03 20:26:27 +02:00
Lukas Wirth
d29b69cbe6 Disable insert_import in extract_struct_from_enum_variant until its fixed 2020-09-03 18:36:08 +02:00
Lukas Wirth
7de2a30f40 Fix import insertion breaking nested modules 2020-09-03 18:36:08 +02:00
Lukas Wirth
98e2f674e9 Fix inserting imports in front of inner attributes 2020-09-03 18:36:08 +02:00
Lukas Wirth
c1925df7fc Replace insert_use_statement with the new insert_use 2020-09-03 18:36:08 +02:00
Lukas Wirth
952f385682 Impl make::blank_line 2020-09-03 18:36:07 +02:00
Lukas Wirth
07ff9eeca8 Use mark to check that paths that are too long will not be merged 2020-09-03 18:36:07 +02:00
Lukas Wirth
74186d3ae7 Tidy up tests and apply suggested changes 2020-09-03 18:36:07 +02:00
Lukas Wirth
903c7eb2e5 Add more import insertion tests 2020-09-03 18:36:07 +02:00
Lukas Wirth
ed37335c01 Begin refactor of import insertion 2020-09-03 18:36:07 +02:00
bors[bot]
74e7422b69
Merge #5942
5942: Actually assert disjointness
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-09-03 11:39:03 +00:00
Aleksey Kladov
9684daa029 Actually assert disjointness 2020-09-03 13:37:36 +02:00
bors[bot]
a000346ab2
Merge #5941
5941: Unify naming
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-09-03 10:23:08 +00:00
Aleksey Kladov
75b1f9ee23 Unify naming 2020-09-03 12:18:46 +02:00
bors[bot]
d2c3832a8a
Merge #5937
5937: Chalk 0.25 r=matklad a=kjeremy

Picks up flodiebold's infinite loop fix

Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-09-03 10:13:41 +00:00
bors[bot]
5328792fea
Merge #5939
5939: default `checkOnSave.enable` to `true` in server r=matklad a=euclio

Fixes #5905.

Co-authored-by: Andy Russell <arussell123@gmail.com>
2020-09-03 10:06:49 +00:00
Andy Russell
24805d1d80
default checkOnSave.enable to true in server 2020-09-02 17:44:21 -04:00
kjeremy
5e4195bb6a Chalk 0.25
Picks up flodiebold's infinite loop fix
2020-09-02 14:07:06 -04:00
bors[bot]
7f79dbc84f
Merge #5930
5930: Migrate to the latest Semantic Tokens Proposal for LSP 3.16 r=matklad a=kjeremy

This stabilizes call hierarchy and semantic tokens features on the client side and changes the server-side semantic tokens protocol to match the latest proposal for 3.16.

The server-side change will break clients depending on the earlier semantic tokens draft.

Fixes #4942 

Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-09-02 15:11:22 +00:00
bors[bot]
a2e8e513e4
Merge #5936
5936: cargo update r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-09-02 14:22:05 +00:00
kjeremy
36692bdffa Switch to upstream ENUM_MEMBER 2020-09-02 09:40:59 -04:00
kjeremy
b527257330 Move to vscode-languageclient 7.0.0-next.9
Stabilizes call hierarchy and semantic tokens features.
2020-09-02 09:40:59 -04:00
kjeremy
62656f09c0 cargo update 2020-09-02 09:36:03 -04:00
bors[bot]
3ffa915cbc
Merge #5931
5931: Update vscode to 1.47 and update the rest of our npm packages r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-09-01 18:48:48 +00:00
kjeremy
ffea9bc71e Update the rest of our node packages 2020-09-01 14:22:44 -04:00
kjeremy
bc94db6a2d Bump minimum vscode to 1.47 2020-09-01 14:13:55 -04:00
bors[bot]
e9841f0311
Merge #5927
5927: Document VS Code setting needed for on-typing assists r=matklad a=arzg

Fixes #5925.

Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
2020-09-01 17:56:24 +00:00
bors[bot]
425479ea0d
Merge #5929
5929: Upgrade mocha from `npm audit fix` r=matklad a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-09-01 17:45:16 +00:00
kjeremy
17d9bed663 Upgrade mocha from npm audit fix 2020-09-01 10:17:24 -04:00
Aramis Razzaghipour
321108673d Document VS Code setting needed for on-typing assists 2020-09-01 23:40:53 +10:00
bors[bot]
754b4c900e
Merge #5926
5926: Bump token expansion limit
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-09-01 12:57:28 +00:00
Aleksey Kladov
7f54ded71b Bump token expansion limit
We hit this for redis crate, reported at

Reported at
https://www.reddit.com/r/rust/comments/ikfsf8/rustanalyzer_doesnt_work_with_the_redis_crate/
2020-09-01 14:55:41 +02:00
bors[bot]
5b21c7b0e5
Merge #5923
5923:  "How I survived Git" tips  r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-09-01 07:51:18 +00:00
Aleksey Kladov
dddd580651 "How I survived Git" tips 2020-09-01 09:50:48 +02:00
bors[bot]
c31a43d360
Merge #5862
5862: Add a test that forbids merge commits r=matklad a=dragfire

Fixes #5854 

Co-authored-by: dragfire <asem.devajit@gmail.com>
2020-09-01 07:24:01 +00:00
dragfire
cdebf02e54 Add a test that forbids merge commits 2020-08-31 12:29:07 -06:00
bors[bot]
148a60b075
Merge #5921
5921: Don't publish every day and do it only for release r=matklad a=pksunkara

I think this is a good balance.

Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
2020-08-31 16:20:53 +00:00
Pavan Kumar Sunkara
79337095c1
Don't publish every day and do it only for release 2020-08-31 17:35:26 +02:00
bors[bot]
753af41005
Merge #5920
5920: Reduce path_from_text usage
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-31 13:48:07 +00:00
Aleksey Kladov
b1f59ff6c1 Reduce path_from_text usage 2020-08-31 15:47:42 +02:00
Aleksey Kladov
60706fca8e Remove dead code 2020-08-31 15:46:57 +02:00
bors[bot]
ac4b134c6b
Merge #5914
5914: Replace custom `xtask::not_bash::fs2` setup with fs_err crate r=matklad a=Veetaha



Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-08-30 08:27:57 +00:00
bors[bot]
dd685d0d51
Merge #5910 #5912
5910: Fix some typos r=matklad a=SomeoneToIgnore



5912: Remove fixme from inlay_hints.ts r=matklad a=Veetaha

I have reevaluated the fixme and it doesn't seem necessary to pass an array of files
to the inlay hints request.
This will (a) make the request more compilcated (b), make us wait for
inlay hints for `all` active editors resolve at once before rendering and (c)
doesn't seem required because 99% of the time there is a single active editor
in the IDE

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-08-29 14:52:42 +00:00
Veetaha
4bc56ebd93 Replace custom not_bash::fs2 setup with fs_err crate 2020-08-29 17:47:13 +03:00
bors[bot]
7879fc37fc
Merge #5909
5909: Add rust-analyzer.checkOnSave.target to package.json r=matklad a=lnicola

This was already implemented, but it's missing from the manifest.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-08-29 14:46:53 +00:00
Veetaha
de2324d9e6 Remove fixme from inlay_hints.ts
I have reevaluated the fixme and it doesn't seem necessary to pass an array of files
to the inlay hints request.
This will (a) make the request more compilcated (b), make us wait for
inlay hints for `all` active editors resolve at once before rendering and (c)
doesn't seem required because 99% of the time there is a single active editor
in the IDE
2020-08-29 02:05:42 +03:00
Kirill Bulatov
3ac9732ca3 Fix some typos 2020-08-28 21:55:24 +03:00