Commit graph

8691 commits

Author SHA1 Message Date
phynalle
cafacb74aa Fix typo 2020-03-17 19:15:30 +09:00
Aleksey Kladov
96f19c3af9
Merge pull request #3613 from bjorn3/patch-1
Fix cargo registry caching for builds
2020-03-17 11:14:25 +01:00
bors[bot]
6aa432d86b
Merge #3580
3580: More error-resilient MBE expansion r=matklad a=flodiebold

This is the beginning of an attempt to make macro-by-example expansion more resilient, so that we still get an expansion even if no rule exactly matches, with the goal to make completion work better in macro calls.

 The general idea is to make everything return `(T, Option<ExpandError>)` instead of `Result<T, ExpandError>`; and then to try each macro arm in turn, and somehow choose the 'best' matching rule if none matches without errors. Finding that 'best' match isn't done yet; I'm currently counting how many tokens were consumed from the args before an error, but it also needs to take into account whether there were further patterns that had nothing to match.

I'll continue this later, but I'm interested whether you think this is the right path, @matklad & @edwin0cheng.

Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-03-17 09:41:30 +00:00
bors[bot]
cf4ae9aa59
Merge #3624
3624: Tidier tidy checks r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-17 09:29:29 +00:00
Aleksey Kladov
8f6efa01b2 Tidier tidy checks 2020-03-17 10:27:09 +01:00
Aleksey Kladov
f755486ffc
Merge pull request #3618 from swarnimarun/patch-1
Gate release action to rust-analyzer owner
2020-03-17 09:41:53 +01:00
Aleksey Kladov
a350dff4cf
Update .github/workflows/release.yaml
Co-Authored-By: Florian Diebold <flodiebold@googlemail.com>
2020-03-17 09:41:27 +01:00
bors[bot]
57562284ab
Merge #3616
3616: Update dependencies, removing rustc_version r=matklad a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-03-17 08:17:21 +00:00
Swarnim Arun
a9300934f9
Gate release action to rust-analyzer owner 2020-03-17 03:09:02 +05:30
bors[bot]
7dbd040c26
Merge #3614
3614: Separate persistent mutable state from config r=matklad a=matklad

That way, we clearly see which things are not change, and we also
clearly see which things are persistent.

r? @Veetaha 

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-16 21:02:37 +00:00
Aleksey Kladov
ae662617a2 Separate persistent mutable state from config
That way, we clearly see which things are not change, and we also
clearly see which things are persistent.
2020-03-16 22:02:11 +01:00
Aleksey Kladov
2e9b6320e6 Fix audit caching better 2020-03-16 22:02:11 +01:00
kjeremy
8e6c1087b1 Update dependencies, removing rustc_version 2020-03-16 16:45:32 -04:00
bjorn3
c98fa45d05
Fix cargo registry caching for builds 2020-03-16 18:46:33 +01:00
Florian Diebold
6c20d7e979 Small fixes 2020-03-16 18:46:08 +01:00
Florian Diebold
32dce75747 Some more refactoring 2020-03-16 18:38:19 +01:00
Florian Diebold
d6b622cdef Some cleanup 2020-03-16 18:38:19 +01:00
Florian Diebold
d655749aae Turn ExpandResult into struct 2020-03-16 18:38:19 +01:00
Florian Diebold
f3c6a2e3db Fix remaining test failure 2020-03-16 18:38:19 +01:00
Florian Diebold
0660dd10d2 Fix performance problem 2020-03-16 18:38:19 +01:00
Florian Diebold
e6ec4a329f Better fix for stuck parser? 2020-03-16 18:38:19 +01:00
Florian Diebold
035db0fbb9 Add test, remove printlns 2020-03-16 18:38:19 +01:00
Florian Diebold
c32529ddd0 Get tests working 2020-03-16 18:38:19 +01:00
Florian Diebold
0f3a54dd4d wip 2020-03-16 18:38:19 +01:00
Florian Diebold
6305d094ac Attempt to implement ranking of rules when none matches perfectly (wip) 2020-03-16 18:38:19 +01:00
Florian Diebold
b973158aeb Make MBE expansion more resilient (WIP) 2020-03-16 18:38:19 +01:00
Aleksey Kladov
d3773ec152
Merge pull request #3612 from matklad/audit5
Fix audit caching better
2020-03-16 18:34:08 +01:00
Aleksey Kladov
589100ad44 Fix audit caching better 2020-03-16 18:26:33 +01:00
Aleksey Kladov
985836b9d3
Merge pull request #3611 from matklad/audit4
Fix cargo audit caching
2020-03-16 18:23:58 +01:00
Aleksey Kladov
a69118edd5 Fix cargo audit caching
See
https://github.com/actions/cache/issues/133#issuecomment-599102035
for chown bit
2020-03-16 18:17:53 +01:00
Aleksey Kladov
3ba5845edd
Merge pull request #3610 from matklad/audit3
Cache cargo-audit on CI
2020-03-16 18:10:43 +01:00
Aleksey Kladov
78879851bb Actually make npm audit more robust
In bash, && and || have the same priority.
2020-03-16 18:05:01 +01:00
Aleksey Kladov
baf10c3f16 Cache cargo-audit on CI
closes #3399
2020-03-16 17:57:07 +01:00
bors[bot]
adcc89137d
Merge #3584
3584: Switch to dynamic dispatch r=matklad a=matklad

Benches are in https://github.com/rust-analyzer/rust-analyzer/issues/1987#issuecomment-598807185

TL;DR: 

* 33% faster release build
* slightly worse/same perf
* no changes for debug build
* slightly smaller binary

cc @flodiebold I genuinely don't know if it is a good idea or not.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-16 16:42:58 +00:00
Aleksey Kladov
9faea2364d Use dyn Trait for working with databse
It improves compile time in `--release` mode quite a bit, it doesn't
really slow things down and, conceptually, it seems closer to what we
want the physical architecture to look like (we don't want to
monomorphise EVERYTHING in a single leaf crate).
2020-03-16 17:42:30 +01:00
Aleksey Kladov
648df02953
Merge pull request #3607 from murlakatamenka/master
Add installation notes for Arch Linux users
2020-03-16 17:42:17 +01:00
Aleksey Kladov
e50c570178
Merge pull request #3608 from matklad/audit2
Retry rust audit as well
2020-03-16 17:42:00 +01:00
Aleksey Kladov
ca99023185 Retry rust audit as well
https://github.com/rust-analyzer/rust-analyzer/runs/511553989?check_suite_focus=true#step:3:6
2020-03-16 17:35:52 +01:00
murlakatamenka
21eb29155c User Manual: fix AUR link 2020-03-16 19:01:02 +03:00
murlakatamenka
3410679041 Add installation notes for Arch Linux users 2020-03-16 18:54:03 +03:00
bors[bot]
e192162d90
Merge #3604
3604: Remove dat fixme r=matklad a=Veetaha

Cleanup as per #3603

Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-03-16 14:16:27 +00:00
Aleksey Kladov
0125b974f1
Merge pull request #3606 from matklad/audit
Make audit more reliable
2020-03-16 15:14:44 +01:00
Aleksey Kladov
1aa5d5dc21 Make audit more reliable
I've seen this transient error a couple of times:

https://github.com/rust-analyzer/rust-analyzer/runs/511162809?check_suite_focus=true#step:5:8
2020-03-16 15:13:38 +01:00
Aleksey Kladov
a00bab5781 ⬆️ npm 2020-03-16 14:57:32 +01:00
Aleksey Kladov
ebab250b6b Fix version 2020-03-16 13:39:13 +01:00
Veetaha
dd4ff92aa3
Remove dat fixme 2020-03-16 14:13:50 +02:00
bors[bot]
a007a123af
Merge #3573
3573: Check all crates of the workspace r=matklad a=matklad

Previously, if the root of the was was a real crate, only this crate
was checked.

Ideally, we might want some kind of config here (which might be just
overriding the whole command), but `--workspace` is def a nicer
default.

r? @kiljacken 

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-16 11:55:36 +00:00
bors[bot]
5bdc249b2c
Merge #3587
3587: Use WorkDoneProgress LSP API for initial load r=matklad a=slyngbaek

Addresses #3283

Rather than using custom UI for showing the loaded state. Rely
on the WorkDoneProgress API in 3.15.0
https://microsoft.github.io/language-server-protocol/specification#workDoneProgress.

No client-side work was necessary. The UI is not exactly what is
described in the issue but afaict that's how VS Code implements the LSP
API.

- The WorkDoneProgressEnd does not appear to display its message
  contents (controlled by vscode)

Co-authored-by: Steffen Lyngbaek <steffenlyngbaek@gmail.com>
2020-03-16 11:48:46 +00:00
bors[bot]
2eb1677b12
Merge #3603
3603: Fix crate display name dashes r=matklad a=SomeoneToIgnore

A follow-up of https://github.com/rust-analyzer/rust-analyzer/pull/3602#discussion_r392733525

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-03-16 10:33:13 +00:00
bors[bot]
200c275c2e
Merge #3534
3534: Feature: vscode impl nightlies download and installation r=Veetaha a=Veetaha

I need to test things more, but the core shape of the code is quite well-formed.
The main problem is that we save the release date only for nightlies and there are no means to get the release date of the stable extension (i.e. for this we would need to consult the github releases via a network request, or we would need to somehow save this info into package.json or any other file accessible from the extension code during the deployment step, but this will be very hard I guess).
So there is an invariant that the users can install nightly only from our extension and they can't do it manually, because when installing the nightly `.vsix` we actually save its release date to `globalState`

Closes: #3402

TODO:
- [x] More manual tests and documentation

cc @matklad @lnicola 

Co-authored-by: Veetaha <gerzoh1@gmail.com>
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-03-16 10:26:31 +00:00