aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Replace ad hocery with scienceAleksey Kladov2020-07-075-57/+82
| | | |
* | | | Merge #4972bors[bot]2020-07-076-24/+68
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4972: Gzip artifacts r=Veetaha a=Veetaha [Here is the test release](https://github.com/Veetaha/rust-analyzer/releases/tag/2020-06-21) Change in size: `~ 25 MB -> ~ 8 MB (gzipped)` The time to gzip during the dist build takes a somewhat considerable amount of time tho. Having already compiled artifacts this takes in debug mode: ``` ~/dev/rust-analyzer (feat/gzip-binaries) $ time cargo xtask dist Finished dev [unoptimized] target(s) in 0.06s Running `target/debug/xtask dist` > cargo build --manifest-path ./crates/rust-analyzer/Cargo.toml --bin rust-analyzer --release Finished release [optimized] target(s) in 0.05s > strip ./target/release/rust-analyzer real 0m34.331s user 0m34.245s sys 0m0.078s ``` In release mode this is much faster: ``` ~/dev/rust-analyzer (feat/gzip-binaries) $ time cargo run -p xtask --release -- dist Finished release [optimized] target(s) in 0.04s Running `target/release/xtask dist` > cargo build --manifest-path ./crates/rust-analyzer/Cargo.toml --bin rust-analyzer --release Finished release [optimized] target(s) in 0.06s > strip ./target/release/rust-analyzer real 0m2.401s ``` **[UPD]** adding a profile override for `miniz_oxide` does the thing to ensure good performrance We might need to notify all other ra plugins' maintainers about the change in our GH releases if we merge this PR, or we could leave uncompressed files along with gzipped for a while until everyone migrates. Co-authored-by: Veetaha <[email protected]>
| * | | Gzip artifactsVeetaha2020-07-076-24/+68
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: bjorn3 <[email protected]> Override miniz_oxide to build it with optimizations Building this crate with optimizations decreases the gzipping part of `cargo xtask dist` from `30-40s` down to `3s`, the overhead for `rustc` to apply optimizations is miserable on this background
* | | Merge #5253bors[bot]2020-07-073-3/+47
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5253: Automate rust-analyzer promotion r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Automate rust-analyzer promotionAleksey Kladov2020-07-072-4/+30
| | | |
| * | | .Aleksey Kladov2020-07-072-1/+19
|/ / /
* | | Merge #5252bors[bot]2020-07-071-19/+90
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5252: Fix symbol search in salsa r=matklad a=matklad Previous solution for binning paths into disjoint directories was simple and fast -- just a single binary search. Unfortunatelly, it wasn't coorrect: if the ditr are /d /d/a /d/c then partitioning the file /d/b/lib.rs won't pick /d as a correct directory. The correct solution here is a trie, but it requires exposing path components. So, we use a poor man's substitution -- a *vector* of sorted paths, such that each bucket is prefix-free closes #5246 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Fix symbol search in salsaAleksey Kladov2020-07-071-19/+90
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous solution for binning paths into disjoint directories was simple and fast -- just a single binary search. Unfortunatelly, it wasn't coorrect: if the ditr are /d /d/a /d/c then partitioning the file /d/b/lib.rs won't pick /d as a correct directory. The correct solution here is a trie, but it requires exposing path components. So, we use a poor man's substitution -- a *vector* of sorted paths, such that each bucket is prefix-free closes #5246
* | | Merge #5250bors[bot]2020-07-071-12/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5250: :arrow_up: backtrace r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | :arrow_up: backtraceAleksey Kladov2020-07-071-12/+12
|/ / /
* | | Merge pull request #5249 from matklad/ciAleksey Kladov2020-07-072-5/+7
|\ \ \ | | | | | | | | check cargo.lock
| * | | check cargo.lockAleksey Kladov2020-07-071-1/+1
| | | |
| * | | Upstream salsaAleksey Kladov2020-07-071-4/+6
|/ / /
* | | Merge #5248bors[bot]2020-07-071-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5248: Upstream salsa r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Upstream salsaAleksey Kladov2020-07-071-1/+1
|/ / /
* | | Merge #5244bors[bot]2020-07-078-1/+74
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5244: Add a command to compute memory usage statistics r=matklad a=jonas-schievink This allows inspecting memory usage on a live rust-analyzer instance after it has been used interactively. This will only work with `--features jemalloc`, so maybe it should print something more useful when that's not available? Right now it will just print 0 Bytes for every query. Co-authored-by: Jonas Schievink <[email protected]>
| * | | Add a command to compute memory usage statisticsJonas Schievink2020-07-078-1/+74
| | | |
* | | | Merge #5247bors[bot]2020-07-075-1217/+417
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5247: Modernize unqualified reference completion tests r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Modernize unqualified reference completion testsAleksey Kladov2020-07-075-1214/+415
| | | | |
| * | | | cleanupAleksey Kladov2020-07-071-3/+2
| |/ / /
* | | | Merge #5245bors[bot]2020-07-072-8/+8
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5245: Refactor AssistBuilder to manage a SourceChange r=matklad a=theduke `AssistBuilder` now managaes a full `SourceChange` instead of a `Vec<SourceFileEdit>`. This prepares AssistBuilder to handle creation of new files. Co-authored-by: Christoph Herzog <[email protected]>
| * | | Refactor AssistBuilder to manage a SourceChangeChristoph Herzog2020-07-072-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `AssistBuilder`` now managaes a full `SourceChange` instead of a Vec<SourceFileEdit>. This prepares AssistBuilder to handle creation of new files.
| | | |
| \ \ \
| \ \ \
| \ \ \
*---. \ \ \ Merge #5235 #5236 #5241bors[bot]2020-07-079-21/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5235: Don't ping people in PRs r=matklad a=lnicola 5236: Disable ES module interop r=matklad a=lnicola 5241: Clippy perf warnings r=matklad a=kjeremy Removes redundant clones Co-authored-by: Laurențiu Nicola <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]> Co-authored-by: kjeremy <[email protected]>
| | | * | | | Clippy perf warningskjeremy2020-07-066-16/+9
| | | |/ / / | | | | | | | | | | | | | | | | | | Removes redundant clones
| | * | | | Disable ES module interopLaurențiu Nicola2020-07-062-4/+2
| | | | | |
| * | | | | Update docs/dev/README.mdAleksey Kladov2020-07-071-1/+1
| | | | | |
| * | | | | Don't ping people in PRsLaurențiu Nicola2020-07-061-1/+1
| | | | | |
* | | | | | Merge #5243bors[bot]2020-07-071-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5243: Consider EPERM error as other vscode processes using rust-analyzer r=matklad a=Veetaha According to: https://github.com/rust-analyzer/rust-analyzer/issues/5009#issuecomment-654561497 Co-authored-by: Veetaha <[email protected]>
| * | | | | | Consider EPERM error as other vscode processes using rust-analyzerVeetaha2020-07-071-1/+1
| | |_|/ / / | |/| | | |
* | | | | | Merge #5242bors[bot]2020-07-0715-103/+86
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5242: Switch to fully dynamically dispatched salsa r=matklad a=matklad This improves compile times quite a bit bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Switch to fully dynamically dispatched salsaAleksey Kladov2020-07-0715-103/+86
|/ / / / / | | | | | | | | | | | | | | | This improves compile times quite a bit
* | | | | Merge #5240bors[bot]2020-07-061-12/+12
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5240: Update crates r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | | | Update crateskjeremy2020-07-061-12/+12
|/ / / / /
* | | | | Merge #5239bors[bot]2020-07-061-0/+2
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5239: sponsors link r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | sponsors linkAleksey Kladov2020-07-061-0/+2
|/ / / /
* | | | Merge #5234bors[bot]2020-07-061-6/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5234: Fix: allow for binaries from $PATH to pass validity check r=matklad a=Veetaha Tackles https://github.com/rust-analyzer/rust-analyzer/pull/5229#issuecomment-654151387 cc @matklad @lnicola Apparently `fs.existsSync()` works only with real paths and not with `$PATH` env var Co-authored-by: Veetaha <[email protected]>
| * | | Fix: allow for binaries from $PATH to pass validity checkVeetaha2020-07-061-6/+2
| | | |
* | | | Merge #5233bors[bot]2020-07-061-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5233: Update salsa r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Update salsaJonas Schievink2020-07-061-2/+2
|/ / / /
* | | | Merge #5229bors[bot]2020-07-064-18/+49
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5229: Improve client logging (use output channel and more log levels) r=matklad a=Veetaha The improvements: * Separate output channel allows viewing the logs belonging to only our extension (without the intervention of other vscode extensions) * All the objects in the output channel are always expanded so users only need to `Ctrl + A and Ctrl + C` to copy the entire output to send us and nothing more (e.g. currently users need to expand the object which is not obvious for them and we may lose the logs this way, see two comments: https://github.com/rust-analyzer/rust-analyzer/issues/5009#issuecomment-651361137 * More log levels allows us to be more granular in disabling only optional verbose debug-level output and leave the logs for us as developers to understand the context of user issues. * For `log.error(...)` invocations we reveal `Rust Analyzer Client` channel automatically so that users don't have to do any additional actions to get the logs output window visible Demo: ![image](https://user-images.githubusercontent.com/36276403/86535275-d7795f80-bee7-11ea-8c30-135c83c1bc7d.png) Co-authored-by: Veetaha <[email protected]>
| * | | Revert "Dispose logger on extension deactivation"Veetaha2020-07-052-6/+0
| | | | | | | | | | | | | | | | | | | | This reverts commit 13872543e074adc153b440660beda441fd562f53. That commit was wrong because we use-after-free the logger
| * | | Dispose logger on extension deactivationVeetaha2020-07-052-0/+6
| | | |
| * | | Improve client logging (use output channel and more log levels)Veetaha2020-07-054-18/+49
| | |/ | |/|
* | | Merge #5231bors[bot]2020-07-061-29/+14
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 5231: Simplify file watcher r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Simplify file watcherAleksey Kladov2020-07-061-29/+14
|/ /
* | Merge #5228bors[bot]2020-07-052-6/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5228: Fix typo r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Fix typoAleksey Kladov2020-07-052-6/+6
| | |
* | | Merge #5227bors[bot]2020-07-051-3/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 5227: AbsPath r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | AbsPathAleksey Kladov2020-07-051-3/+3
|/ /
* | Merge #5226bors[bot]2020-07-041-265/+199
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5226: Modernise item completion tests r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>