aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #3629bors[bot]2020-03-1913-691/+265
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * Rewrite auto-updateAleksey Kladov2020-03-1913-691/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | Merge pull request #3646 from Veetaha/feature/revive-npm-auditAleksey Kladov2020-03-181-2/+2
|\ \ | | | | | | cicd: revive npm audit
| * | cicd: revive npm auditveetaha2020-03-181-2/+2
| | |
* | | Merge #3645bors[bot]2020-03-181-10/+10
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * | cargo updateCAD972020-03-181-10/+10
|/ /
* | Merge #3643bors[bot]2020-03-182-12/+15
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3643: Use match_ast r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Use match_astAleksey Kladov2020-03-182-12/+15
|/ /
* | Merge #3640bors[bot]2020-03-188-72/+274
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3640: Merge imports assist r=matklad a=matklad Work towards #2220 bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Merge imports assistAleksey Kladov2020-03-188-25/+225
| | | | | | | | | | | | Work towards #2220
| * | Strongly-typed generic methods for editing nodesAleksey Kladov2020-03-181-47/+49
|/ /
* | Merge #3637bors[bot]2020-03-182-91/+158
|\ \ | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * | Update deps; regen lock file; fix minimist CVEDarin Morrison2020-03-182-91/+158
|/ /
* | Merge #3636bors[bot]2020-03-181-28/+28
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 3636: Reduce visibility r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Reduce visibilityAleksey Kladov2020-03-181-28/+28
|/
* Merge #3634bors[bot]2020-03-181-12/+29
|\ | | | | | | | | | | | | | | | | | | | | 3634: Make xtask dist more reliable r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Make xtask dist more reliableAleksey Kladov2020-03-181-12/+29
|/
* Merge #3630bors[bot]2020-03-181-1/+0
|\ | | | | | | | | | | | | | | 3630: Feature: remove dat fixme r=matklad a=Veetaha Co-authored-by: veetaha <[email protected]>
| * ra_hir_def: remove dat fixmeveetaha2020-03-181-1/+0
| |
* | Don't filter release by forkAleksey Kladov2020-03-181-1/+0
|/ | | | | | This syntax does not work for some reason https://github.com/rust-analyzer/rust-analyzer/runs/515231288?check_suite_focus=true
* Disable npm audit, as it blocks unrelated PR without a way to fixAleksey Kladov2020-03-171-2/+2
| | | | https://github.com/rust-analyzer/rust-analyzer/pull/3582#issuecomment-600107117
* Merge pull request #3582 from kiljacken/out-dir-from-checkAleksey Kladov2020-03-1718-176/+315
|\ | | | | Update OUT_DIR based on `cargo check` output
| * Use dyn-ref instead of impl to impact compile times the leastEmil Lauridsen2020-03-172-3/+3
| |
| * Slight readablity improvementEmil Lauridsen2020-03-171-1/+1
| |
| * Remove outDirOverridesEmil Lauridsen2020-03-173-15/+0
| |
| * Support loading OUT_DIR for CLI runsEmil Lauridsen2020-03-175-48/+81
| |
| * Remove unused config from VSCode extEmil Lauridsen2020-03-171-1/+0
| |
| * Support specifying OUT_DIR in json projectEmil Lauridsen2020-03-172-3/+22
| |
| * Change existing OUT_DIR override config to make use of new infrastructureEmil Lauridsen2020-03-178-57/+26
| |
| * Support loading OUT_DIR from cargo check at launchEmil Lauridsen2020-03-1710-114/+248
|/
* Merge #3626bors[bot]2020-03-176-127/+142
|\ | | | | | | | | | | | | | | | | | | | | | | | | 3626: Check that no file contains trailing ws r=matklad a=matklad rustfmt allows trailing spaces in string literals unfortunately. bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Check that no file contains trailing wsAleksey Kladov2020-03-176-127/+142
|/ | | | rustfmt allows trailing spaces in string literals unfortunately.
* Merge #3625bors[bot]2020-03-171-2/+2
|\ | | | | | | | | | | | | | | 3625: Fix typo r=flodiebold a=phynalle It doesn't need any description! I just fixed a typo. haha Co-authored-by: phynalle <[email protected]>
| * Fix typophynalle2020-03-171-2/+2
| |
* | Merge pull request #3613 from bjorn3/patch-1Aleksey Kladov2020-03-171-0/+3
|\ \ | |/ |/| Fix cargo registry caching for builds
| * Fix cargo registry caching for buildsbjorn32020-03-161-0/+3
| |
* | Merge #3580bors[bot]2020-03-1714-181/+471
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * | Small fixesFlorian Diebold2020-03-161-4/+2
| | |
| * | Some more refactoringFlorian Diebold2020-03-162-58/+76
| | |
| * | Some cleanupFlorian Diebold2020-03-161-5/+7
| | |
| * | Turn ExpandResult into structFlorian Diebold2020-03-166-43/+63
| | |
| * | Fix remaining test failureFlorian Diebold2020-03-162-9/+11
| | |
| * | Fix performance problemFlorian Diebold2020-03-162-32/+37
| | |
| * | Better fix for stuck parser?Florian Diebold2020-03-161-3/+3
| | |
| * | Add test, remove printlnsFlorian Diebold2020-03-164-3/+53
| | |
| * | Get tests workingFlorian Diebold2020-03-165-7/+19
| | |
| * | wipFlorian Diebold2020-03-165-94/+160
| | |
| * | Attempt to implement ranking of rules when none matches perfectly (wip)Florian Diebold2020-03-163-11/+51
| | |
| * | Make MBE expansion more resilient (WIP)Florian Diebold2020-03-1610-91/+168
| |/
* | Merge #3624bors[bot]2020-03-173-131/+145
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3624: Tidier tidy checks r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>