Commit graph

7496 commits

Author SHA1 Message Date
bors[bot]
af5042bd61
Merge #3115
3115: vscode: remove chmod in favour of an option to createWriteStream() r=matklad a=Veetaha

Inspired by [cpptools code](0d91db0e06/Extension/src/packageManager.ts (L385-L386))

Co-authored-by: Veetaha <gerzoh1@gmail.com>
2020-02-11 21:35:49 +00:00
bors[bot]
6f685df681
Merge #3114
3114: Don't let unknown match arms fall back to ! r=kjeremy a=flodiebold



Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-02-11 20:48:31 +00:00
Veetaha
b834b37682 vscode: remove chmod in favour of an option to createWriteStream() 2020-02-11 22:34:52 +02:00
Florian Diebold
43df7c3d53 Don't let unknown match arms fall back to ! 2020-02-11 21:09:11 +01:00
bors[bot]
00e672a51b
Merge #3112
3112: Return early, return often r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-11 17:38:05 +00:00
Aleksey Kladov
f3dd0a05bb Return early, return often 2020-02-11 18:36:12 +01:00
Aleksey Kladov
adfed5c689 Fix join lines when two rules match 2020-02-11 18:33:25 +01:00
bors[bot]
305d921982
Merge #3064
3064: Handle macro token cases for rename r=matklad a=edwin0cheng

Fixes #2957

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-02-11 15:46:05 +00:00
Aleksey Kladov
3c98681d4e Third time's a charm? 2020-02-11 11:44:29 +01:00
Aleksey Kladov
a0b065a296 Fix release 2020-02-11 11:23:04 +01:00
Aleksey Kladov
ed077b741d
Merge pull request #3086 from matklad/auto-publish-extension
Publish VS Code extension automatically
2020-02-11 11:08:40 +01:00
Aleksey Kladov
27ddb127db Publish VS Code extension automatically 2020-02-11 10:55:44 +01:00
bors[bot]
f55d74dc0d
Merge #3083 #3101
3083: Update some crates r=matklad a=kjeremy



3101: vscode: filter out arm linux from using prebuilt binaries r=matklad a=Veetaha

Closes #3076

Co-authored-by: kjeremy <kjeremy@gmail.com>
Co-authored-by: Veetaha <gerzoh1@gmail.com>
2020-02-11 09:32:32 +00:00
bors[bot]
98aa709fa7
Merge #3100
3100: vscode: add error handling to downloadFile() r=matklad a=Veetaha

Inspired by #3094.

Co-authored-by: Veetaha <gerzoh1@gmail.com>
2020-02-11 09:25:31 +00:00
bors[bot]
af9a9abbd8
Merge #3092
3092: vscode: fix binary is not functional on windows r=matklad a=Veetaha

This is my first approach to fix this error, need to double-check this on windows still...
Fixes #3087
Fixes #3090 

Co-authored-by: Veetaha <gerzoh1@gmail.com>
2020-02-11 09:07:23 +00:00
bors[bot]
6ac871b1df
Merge #3102
3102: Better error messages while deserializing r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-11 08:47:36 +00:00
Aleksey Kladov
44425eaebc Better error messages while deserializing 2020-02-11 09:46:45 +01:00
Veetaha
2344dac183 vscode: filter out arm linux from using prebuilt binaries 2020-02-11 02:29:11 +02:00
Veetaha
f2c66605c2 vscode: add error handling to downloadFile() 2020-02-11 02:14:04 +02:00
Veetaha
78ee964f7c vscode: fix ebusy error on windows 2020-02-10 23:12:20 +02:00
bors[bot]
f8d6d6f23b
Merge #3074
3074: Or patterns r=matthewjasper a=matthewjasper

Works towards #2458

Co-authored-by: Matthew Jasper <mjjasper1@gmail.com>
2020-02-10 20:14:08 +00:00
Matthew Jasper
49b53cd7a0 Address review comments 2020-02-10 20:11:44 +00:00
bors[bot]
29f5e7eebf
Merge #3084
3084: More specific error if `rustc --print sysroot` fails r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-10 16:05:27 +00:00
Aleksey Kladov
5a71eb8749 More specific error if rustc --print sysroot fails 2020-02-10 17:04:18 +01:00
kjeremy
f51e3a357e Update some crates 2020-02-10 10:42:56 -05:00
Aleksey Kladov
5b703bdc58 eamcs is now upstreamed 2020-02-10 15:55:21 +01:00
Aleksey Kladov
727dcf5231
Merge pull request #3081 from matklad/with-output
xtask release
2020-02-10 15:37:12 +01:00
Aleksey Kladov
57147d7471 xtask release 2020-02-10 15:34:04 +01:00
bors[bot]
46a474866e
Merge #3080
3080: More convenient run_with_output r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-10 14:16:42 +00:00
Aleksey Kladov
1b6acc391a More convenient run_with_output 2020-02-10 15:16:07 +01:00
bors[bot]
33df947d62 Merge #3079
3079: Add note r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-10 09:53:54 +00:00
Aleksey Kladov
bbd9013bca Add note 2020-02-10 10:53:31 +01:00
bors[bot]
b4ac3dda78 Merge #3075
3075: Migrate u32::from(TextUnit) as usize to .to_usize() r=matklad a=Veetaha

@matklad I see 29 uses of `.to_usize()` cast, wouldn't it be reasonable to change `TextUnit(u32)` to `TextUnit(usize)` ? Or do you have reasons to stick with `u32` here?

Co-authored-by: Veetaha <gerzoh1@gmail.com>
2020-02-10 09:06:01 +00:00
bors[bot]
abeadb29ce Merge #3077
3077: Move build prerequisites into build section r=matklad a=dvermd



Co-authored-by: dvermd <315743+dvermd@users.noreply.github.com>
2020-02-10 06:53:42 +00:00
dvermd
7fb0311ac8 Move build prerequisites into build section 2020-02-10 06:55:10 +01:00
Veetaha
139479e8a3 move to to_usize() 2020-02-10 01:57:43 +02:00
Matthew Jasper
504e2a46bd Update tests for or-patterns 2020-02-09 22:06:28 +00:00
Matthew Jasper
8c8d0bb34f Add or- and parenthesized-patterns 2020-02-09 22:06:15 +00:00
bors[bot]
c48c0f370a Merge #3072
3072: vscode: removed unnecessary awaits feature r=matklad a=Veetaha

Found a feature that when the user has no internet connection the whole extension is blocked by waiting for the user to dismiss the error message and for making a sanity-check dns resolution.

Co-authored-by: Veetaha <gerzoh1@gmail.com>
2020-02-09 20:33:50 +00:00
Veetaha
e709f113c1 vscode: changed dns sanity-check url from google.com to example.com 2020-02-09 22:27:01 +02:00
bors[bot]
2eb1c34f85 Merge #3071
3071: Freshen docs for prebuilt binaries and raLspServer setting r=matklad a=Veetaha

Better documented breaking changes as per an incident in #2988
Follow up for #3053 


Co-authored-by: Veetaha <gerzoh1@gmail.com>
2020-02-09 20:21:47 +00:00
Veetaha
5d39f6d3b2 vscode: add on-success logic to dns resolution sanity check 2020-02-09 22:00:33 +02:00
Veetaha
fa7b91a2f7 vscode: removed unnecessary awaits 2020-02-09 21:55:29 +02:00
Veetaha
843d00ec9d docs: quick fix inner link in docs 2020-02-09 21:40:39 +02:00
Veetaha
3ebbeb46d4 docs: more documentation on prebuilt binaries all-editors-wise 2020-02-09 21:25:24 +02:00
Veetaha
e18661f62b docs: Freshen docs for prebuilt binaries and raLspServer setting 2020-02-09 20:19:23 +02:00
bors[bot]
1b9b13b4b4
Merge #3068
3068: Do not import anything if first segment of the qualified path resolves r=matklad a=SomeoneToIgnore

Part of initial https://github.com/rust-analyzer/rust-analyzer/pull/3061, closing 2nd issue mentioned in the last comment there.

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-02-09 15:32:39 +00:00
Kirill Bulatov
d39d401612 Fix rebase leftovers 2020-02-09 17:25:51 +02:00
Kirill Bulatov
48abcaaabe Do not import anything if first segment of FQN resolves 2020-02-09 17:22:59 +02:00
bors[bot]
360890fcec
Merge #3053
3053: Feature: downloading lsp server from GitHub r=matklad a=Veetaha

This is currently very WIP, I may need to change this and that, add "download language server command", logging stuff (for future bug reports), etc., but it already works.
Also didn't test this on windows yet and mac (don't have the latter)

The quirks:
* Downloaded binary doesn't have executable permissions by default, that's why we ~~`chmod 111`~~ (**[UPD]** `chmod 755` as per @lnicola [suggestion](https://github.com/rust-analyzer/rust-analyzer/pull/3053#discussion_r376694456)) for it.
* To remove installed binary run `rm /${HOME}/.config/Code/User/globalStorage/matklad.rust-analyzer/ra_lsp_server-linux`, ~~note that `-f` flag is necessary, because of `111` permissions (I think this should be changed)~~ (**[UPD]** --force is no longer needed due to 755 permissions).

I also tried to keep things simple and not to use too many dependencies, all the ones added have 0 dependencies, (`ts-not-nil` is my personal npm package, that imitates `unwrap()` in TypeScript)

**[UPD]** I reduced throttle latency of progress indicator to 200ms for smoother UX


// TODO:
- [x] ~~Add `Rust Analyzer: Download latest language server` vscode command.~~ **[UPD]**: having reviewed the code and estimated available options I concluded that this feature requires too many code changes, I'd like to extract this into a separate PR after we merge this one.
- [x] Add some logging for future debugging
- [x] ~~Gracefully handle the case when language server is not available (e.g. no internet connection, user explicitly rejected the download, etc.)~~ **[UPD]** Decided to postpone better implementation of graceful degradation logic as per [conversation](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Deployment.20and.20installation/near/187758550).

Demo (**[UPD]** this is a bit outdated, but still mainly reflects the feature):
![ra-github-release-download-mvp](https://user-images.githubusercontent.com/36276403/74077961-4f248a80-4a2d-11ea-962f-27c650fd6c4c.gif)

Related issue: #2988 #3007 

Co-authored-by: Veetaha <gerzoh1@gmail.com>
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-02-09 15:21:12 +00:00