Commit Graph

8596 Commits

Author SHA1 Message Date
Steffen Lyngbaek
b6d6277362 Completition for type name? #3418
Iterate through TupleStructPat's until a MatchArm if
one exists. Store in a new is_pat_bind_and_path bool
and allow the `complete_scope` to find matches.

Added some tests to ensure it works in simple and nested cases.
2020-03-19 14:12:00 -07:00
bors[bot]
1ba03c6995
Merge #3656
3656: Simplify arenas r=matklad a=matklad

At the moment, Arena is paranetrized by two types: index and data. The original motivation was to allow index to be defined in the downstream crate, so that you can add inherent impls to the index. 

However, it seems like we've never actually used that capability, so perhaps we should switch to a generic Index impl? This PR tries this out, switching only `raw.rs` and parts of `hir_def`. 

wdyt?

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-19 17:47:43 +00:00
Aleksey Kladov
f840fcb2f5 Simplify Arena to use a generic index 2020-03-19 18:46:30 +01:00
bors[bot]
988f1dda6b
Merge #3658
3658: More direct CargoWorkspace r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-19 17:01:14 +00:00
Aleksey Kladov
fc230b943b Simplify Sysroot 2020-03-19 17:59:31 +01:00
Aleksey Kladov
516fe293a8 More direct CargoWorkspace 2020-03-19 17:53:31 +01:00
bors[bot]
d013a05fee
Merge #3655
3655: Downgrade vscode-langaugeclient r=matklad a=matklad

Looks like it broke completion :(



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-19 14:23:48 +00:00
Aleksey Kladov
7adcadd279 Downgrade vscode-langaugeclient
Looks like it broke completion :(
2020-03-19 15:08:10 +01:00
bors[bot]
774043759f
Merge #3652
3652: Cleanup imports r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-19 11:37:00 +00:00
Aleksey Kladov
7e2bca4ec3 Cleanup imports 2020-03-19 12:36:33 +01:00
bors[bot]
525feb0acd
Merge #3651
3651: Merge nested use trees r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-19 11:19:24 +00:00
Aleksey Kladov
0c55c06944 Merge nested use trees 2020-03-19 12:18:59 +01:00
bors[bot]
11f2c6908b
Merge #3650
3650: Generalize r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-19 10:38:59 +00:00
Aleksey Kladov
ef3bf906c4 Generalize 2020-03-19 11:38:26 +01:00
Aleksey Kladov
13af63a403
Merge pull request #3641 from darinmorrison/rollup-typescript
Some improvements to rollup and ts config
2020-03-19 11:26:00 +01:00
bors[bot]
5b0a7c7d16
Merge #3649
3649: ⬆️ npm r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-19 09:31:03 +00:00
Aleksey Kladov
8f8f6b47de ⬆️ npm 2020-03-19 10:30:41 +01:00
Aleksey Kladov
ee4fe18ac8 Don't trigger stable release when pushing to nightly branch 2020-03-19 09:48:36 +01:00
Aleksey Kladov
b792e4abbd
Merge pull request #3635 from matklad/tags
Simplify extension tag sniffing
2020-03-19 09:38:08 +01:00
Aleksey Kladov
3d1cb5e20f Simplify extension tag sniffing 2020-03-19 09:37:03 +01:00
bors[bot]
aca3c3086e
Merge #3629
3629: Alternative aproach to plugin auto update r=matklad a=matklad

This is very much WIP (as in, I haven't run this once), but I like the result so far.

cc @Veetaha 

The primary focus here on simplification:

* local simplification of data structures and control-flow: using union of strings instead of an enum, using unwrapped GitHub API responses
* global simplification of control flow: all logic is now in `main.ts`, implemented as linear functions without abstractions. This is stateful side-effective code, so arguments from [Carmack](http://number-none.com/blow/john_carmack_on_inlined_code.html) very much apply. We need all user interractions, all mutations, and all network requests to happen in a single file. 
* as a side-effect of condensing everything to functions, we can get rid of various enums. The enums were basically a reified control flow:

```
enum E { A, B }

fn foo() -> E {
    if cond { E::A } else { E::B }
}

fn bar(e: E) {
    match e {
        E::A => do_a(),
        E::B => do_b(),
    }
}

==>>

fn all() {
    if cond { do_a() } else { do_b() }
}
```

* simplification of model: we don't need to reinstall on settings update, we can just ask the user to reload, we don't need to handle nightly=>stable fallback, we can ask the user to reinstall extension, (todo) we don't need to parse out the date from the version, we can use build id for nightly and for stable we can write the info directly into package.json.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-19 08:06:48 +00:00
Aleksey Kladov
fb6e655de8 Rewrite auto-update
Everything now happens in main.ts, in the bootstrap family of
functions. The current flow is:

* check everything only on extension installation.
* if the user is on nightly channel, try to download the nightly
  extension and reload.
* when we install nightly extension, we persist its release id, so
  that we can check if the current release is different.
* if server binary was not downloaded by the current version of the
  extension, redownload it (we persist the version of ext that
  downloaded the server).
2020-03-19 09:04:59 +01:00
Aleksey Kladov
55336722b3
Merge pull request #3646 from Veetaha/feature/revive-npm-audit
cicd: revive npm audit
2020-03-18 23:32:16 +01:00
Darin Morrison
630888df5b Target es2019 (code 1.43 uses chromium 78) 2020-03-18 16:30:34 -06:00
Darin Morrison
0ec20234a7 Add typing annotations for rollup config 2020-03-18 16:30:34 -06:00
bors[bot]
21a35b49ee
Merge #3645
3645: cargo update r=matklad a=CAD97

Closes #3644 as well.

Would setting up [dependabot](https://dependabot.com/) make sense for this repository?

Co-authored-by: CAD97 <cad97@cad97.com>
2020-03-18 21:24:23 +00:00
CAD97
27d9516105 cargo update 2020-03-18 17:17:45 -04:00
veetaha
e1e41c8b32 cicd: revive npm audit 2020-03-18 23:15:48 +02:00
bors[bot]
b376cabe5e
Merge #3643
3643: Use match_ast r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-18 19:52:10 +00:00
Aleksey Kladov
0bf903411c Use match_ast 2020-03-18 20:51:47 +01:00
bors[bot]
b28d411866
Merge #3640
3640: Merge imports assist r=matklad a=matklad

Work towards #2220



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-18 18:35:11 +00:00
Aleksey Kladov
3f6dc20d3c Merge imports assist
Work towards #2220
2020-03-18 19:34:47 +01:00
Aleksey Kladov
4e50efcfc5 Strongly-typed generic methods for editing nodes 2020-03-18 19:34:47 +01:00
bors[bot]
12c952f801
Merge #3637
3637: Update dependencies and fix minimist CVE r=matklad a=darinmorrison

This PR just updates some dependencies and also regenerates the `package-lock.json` to fix the recent [minimist CVE](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7598) (a dependency of eslint).

Co-authored-by: Darin Morrison <darinmorrison@users.noreply.github.com>
2020-03-18 16:38:17 +00:00
Darin Morrison
482a7c2262 Update deps; regen lock file; fix minimist CVE 2020-03-18 10:36:11 -06:00
bors[bot]
198510760d
Merge #3636
3636: Reduce visibility r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-18 15:49:08 +00:00
Aleksey Kladov
3c88ef76d6 Reduce visibility 2020-03-18 16:48:45 +01:00
bors[bot]
f0a1b64d7e
Merge #3634
3634: Make xtask dist more reliable r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-18 12:28:28 +00:00
Aleksey Kladov
e511b3280f Make xtask dist more reliable 2020-03-18 13:23:44 +01:00
bors[bot]
2a3543d195
Merge #3630
3630: Feature: remove dat fixme r=matklad a=Veetaha



Co-authored-by: veetaha <veetaha2@gmail.com>
2020-03-18 08:44:46 +00:00
Aleksey Kladov
a8ddea8d1c Don't filter release by fork
This syntax does not work for some reason

https://github.com/rust-analyzer/rust-analyzer/runs/515231288?check_suite_focus=true
2020-03-18 09:43:49 +01:00
veetaha
4d83961acb ra_hir_def: remove dat fixme 2020-03-18 02:35:49 +02:00
Aleksey Kladov
46c618f7d9 Disable npm audit, as it blocks unrelated PR without a way to fix
https://github.com/rust-analyzer/rust-analyzer/pull/3582#issuecomment-600107117
2020-03-17 15:43:14 +01:00
Aleksey Kladov
ec1312ef38
Merge pull request #3582 from kiljacken/out-dir-from-check
Update OUT_DIR based on `cargo check` output
2020-03-17 15:42:02 +01:00
Emil Lauridsen
2dd887de47 Use dyn-ref instead of impl to impact compile times the least 2020-03-17 14:56:53 +01:00
Emil Lauridsen
5af81b8456 Slight readablity improvement 2020-03-17 14:56:14 +01:00
Emil Lauridsen
e154132c91 Remove outDirOverrides 2020-03-17 14:55:44 +01:00
Emil Lauridsen
f84deffd72 Support loading OUT_DIR for CLI runs 2020-03-17 14:47:05 +01:00
Emil Lauridsen
9e7dbb1abd Remove unused config from VSCode ext 2020-03-17 14:47:05 +01:00
Emil Lauridsen
4fb79f2ca0 Support specifying OUT_DIR in json project 2020-03-17 14:47:05 +01:00