about summary refs log tree commit diff
path: root/crates/rust-analyzer/src/lib.rs
AgeCommit message (Collapse)AuthorLines
2022-06-02Bring the version command output in line with other rust toolsLukas Wirth-13/+15
2022-06-01fix: Fix completions disappearing when typing two keys in quick successionLukas Wirth-1/+1
2022-05-16minor: renameAleksey Kladov-1/+1
2022-05-05Lower values of char and byte literalsLaurențiu Nicola-1/+0
2021-08-15internal: optimize compile timeAleksey Kladov-2/+3
cargo llvm-lines shows that path_to_error bloats the code. I don't think I've needed this functionality recently, seems that we've fixed most of the serialization problems. So let's just remove it. Should be easy to add back if we ever need it, and it does make sense to keep the `from_json` function around.
2021-08-09internal: drop latest requests trackingAleksey Kladov-1/+0
From the dawn of time, when dinosaurs roamed the and we didn't have hierarchical profiling, there was the `latest_requests` infra we used to track the time of ten last requests. Today, no one is actually using it and, what's more, it itself became pretty useless -- LSP grew way more chatty, and 10 requests don't really paint any kind of picture. Personally, it's been years since I last looked at latest requests in the status output. So, let's remove a tiny bit of state from the big ball of complexity that is `GlobalState` and `main_loop`!
2021-07-26internal: prepare to track changes to mem_docsAleksey Kladov-1/+1
2021-05-04internal: add integrated completion benchmarkAleksey Kladov-1/+1
2021-03-30internal: switch from CLI to internal benchmarkingAleksey Kladov-0/+3
We have a CLI for benchmarking, but no one actually uses it it seems. Let's try switching to "internal" benchmarks, implemented as rust tests. They should be easier to "script" to automate tracking of perf regressions.
2021-02-16Fix bitrotted module nameAleksey Kladov-1/+1
2021-01-10Fix progress token is already registered crashAleksey Kladov-0/+1
After we started reporting progress when running cargo check during loading, it is possible to crash the client with two identical progress tokens. This points to a deeper issue: we might be running several cargo checks concurrently, which doesn't make sense. This commit linearizes all workspace fetches, making sure no updates are lost. As an additional touch, it also normalizes progress & result reporting, to make sure they stand in sync.
2020-12-31Merge #7106bors[bot]-0/+1
7106: Split textDocument/formatting TextEdit with diff r=matklad a=Jesse-Bakker #7044 Co-authored-by: Jesse Bakker <github@jessebakker.com>
2020-12-31Split textDocument/formatting TextEdit with diffJesse Bakker-0/+1
2020-12-23Try serde_path_to_error for LSP InitializeParamsLaurențiu Nicola-1/+1
2020-12-11Move print_memory_usage to cli.rsJonas Schievink-22/+0
2020-12-11Avoid panic when collecting memory metricsJonas Schievink-1/+2
2020-10-30Respond with JSON-RPC error if we failed to deserialize requestAleksey Kladov-4/+6
Historically, we intentinally violated JSON-RPC spec here by hard crashing. The idea was to poke both the clients and servers to fix stuff. However, this is confusing for server implementors, and falls down in one important place -- protocol extension are not always backwards compatible, which causes crashes simply due to version mismatch. We had once such case with our own extension, and one for semantic tokens. So let's be less adventerous and just err on the err side!
2020-08-13Rename ra_ide -> ideAleksey Kladov-2/+2
2020-08-12Rename ra_prof -> profileAleksey Kladov-5/+5
2020-07-25Add rustc-perf to metricsAleksey Kladov-1/+1
2020-07-24Add DocumentData to represent in-memory document with LSP infokjeremy-0/+1
2020-07-15Add --memory-usage to analysis-benchJonas Schievink-0/+21
2020-06-26Move progress reporting to utilsAleksey Kladov-1/+1
2020-06-26Add new module for project loading stuffAleksey Kladov-0/+1
2020-06-25Move request dispatcher to a separate fileAleksey Kladov-0/+1
2020-06-25Move TaskPool into GlobalStateAleksey Kladov-0/+1
2020-06-25Scale progress downAleksey Kladov-4/+2
There are two reasons why we don't want a generic ra_progress crate just yet: *First*, it introduces a common interface between separate components, and that is usually undesirable (b/c components start to fit the interface, rather than doing what makes most sense for each particular component). *Second*, it introduces a separate async channel for progress, which makes it harder to correlate progress reports with the work done. Ie, when we see 100% progress, it's not blindly obvious that the work has actually finished, we might have some pending messages still.
2020-06-25Reduce visibilityAleksey Kladov-1/+21
2020-06-24Flatten module hierarchyAleksey Kladov-5/+7
2020-06-23New VFSAleksey Kladov-1/+1
2020-06-20Move ReqQueue to lsp-serverAleksey Kladov-1/+1
2020-06-03Rename WorldState -> GlobalStateAleksey Kladov-1/+1
2020-05-10req -> lsp_extAleksey Kladov-2/+1
2020-05-10Simplify proto conversionAleksey Kladov-1/+3
Trait based infra in conv.rs is significantly more complicated than what we actually need here.
2020-04-06Check for eprintln on CIAleksey Kladov-11/+2
2020-04-01Centralize client capabilitiesAleksey Kladov-2/+1
2020-04-01Centralize all configAleksey Kladov-2/+1
2020-03-10Move FeatureFlagsAleksey Kladov-0/+1
2020-02-24Teach the server about Semantic Tokens proposed LSPkjeremy-0/+1
2020-02-18Rename folderAleksey Kladov-0/+54