about summary refs log tree commit diff
path: root/crates/rust-analyzer/src/global_state.rs
AgeCommit message (Collapse)AuthorLines
2022-05-25fix: Clear native diagnostics for files when they are deletedLukas Wirth-0/+4
2022-05-16minor: renameAleksey Kladov-1/+1
2022-04-28minor: Record snippet config errorsLukas Wirth-1/+1
2022-04-16internal: more visibility into why things happenAleksey Kladov-1/+2
2022-04-16fix: Fix proc-macro change check being invertedLukas Wirth-1/+1
2022-04-15fix: Fix source root panic in global state when checking out older git revsLukas Wirth-21/+17
2022-04-14internal: Show more project building errors to the userLukas Wirth-1/+5
2022-04-09minor: bump lsp-server versionLukas Wirth-1/+5
2022-02-14correct the description of Struct GlobalStatedoki-1/+1
2021-10-30Set server status to warning when proc-macro sources changeLukas Wirth-1/+12
2021-09-13Shuffle code around to avoid an allocationLaurențiu Nicola-6/+10
2021-09-13Fix Cargo.toml change detectionLaurențiu Nicola-3/+3
2021-08-31minor: improve readabilityAleksey Kladov-2/+2
naming, layout & comments help!
2021-08-30switch `log` crate to `tracing`Dezhi Wu-1/+1
2021-08-22internal: incentivize rust-analyzed developers to fix panicsAleksey Kladov-0/+8
It's good that rust-analyzer doesn't belly-up on a panic in some random assist. It is less good that rust-analyzer devs only know that the assists are buggy when they are actively looking at the logs.
2021-08-22internal: reduce crate interdependenceAleksey Kladov-3/+2
I don't think there's anything wrong with project_model depending on proc_macro_api directly -- fundamentally, both are about gluing our pure data model to the messy outside world. However, it's easy enough to avoid the dependency, so why not. As an additional consideration, `proc_macro_api` now pulls in `base_db`. project_model should definitely not depend on that!
2021-08-09internal: drop latest requests trackingAleksey Kladov-9/+1
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-5/+5
2021-07-18fix: potential bugs when build scripts do not match the current projectAleksey Kladov-9/+25
2021-07-18internal: simplify handling of the build scriptsAleksey Kladov-7/+10
2021-06-13clippy::redudant_borrowMaan2003-5/+5
2021-06-03Make it opt-inJonas Schievink-3/+6
2021-05-27Update salsaJonas Schievink-2/+2
2021-05-23Drag detached files towards loadingKirill Bulatov-0/+1
2021-04-30Ensure that only one cache priming task can run at a timeBoris-Chengbiao Zhou-0/+2
Fixes #8632.
2021-04-06More robust status notificationsAleksey Kladov-17/+6
2021-04-06Prepare for more stateless status reportingAleksey Kladov-10/+18
2021-04-06internal: do not drop errors from cargo metadata/checkAleksey Kladov-3/+10
Work towards #3155
2021-04-05internal: prepare to store OpQueue results in the queue itselfAleksey Kladov-2/+5
2021-02-16Fix bitrotted module nameAleksey Kladov-1/+1
2021-02-16Enable offset-encoding capabilityAleksey Kladov-2/+2
2021-02-16Implement utf8 offsetsAleksey Kladov-2/+2
2021-02-16Make it easy to add additional context for offset conversionAleksey Kladov-4/+7
2021-02-12Fix slow tests sometimes failingFlorian Diebold-0/+2
In some situations we reloaded the workspace in the tests after having reported to be ready. There's two fixes here: 1. Add a version to the VFS config and include that version in progress reports, so that we don't think we're done prematurely; 2. Delay status transitions until after changes are applied. Otherwise the last change during loading can potentially trigger a workspace reload, if it contains interesting changes.
2021-01-29Async Loading outdir and proc-macroEdwin Cheng-3/+9
2021-01-10Fix progress token is already registered crashAleksey Kladov-0/+3
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.
2021-01-06Speed up snapshotingAleksey Kladov-4/+4
Config can be fairly big, no need to deep clone it frequently
2021-01-06More maintainable configAleksey Kladov-1/+1
Rather than eagerly converting JSON, we losslessly keep it as is, and change the shape of user-submitted data at the last moment. This also allows us to remove a bunch of wrong Defaults
2020-12-09Introduce anchored_pathAleksey Kladov-3/+4
They allow to represent paths like `#[path = "C:\path.rs"] mod foo;` in a lossless cross-platform & network-transparent way.
2020-12-07Remove dummy ProcMacroClient in favor of OptionJonas Schievink-2/+2
2020-11-16Latest LSP 3.16 protocolkjeremy-2/+2
Pulls in https://github.com/gluon-lang/lsp-types/pull/186
2020-11-02Remove more unreachable pubsAleksey Kladov-1/+1
2020-10-24Re-export base_db from ide_dbIgor Aleksanov-1/+1
2020-10-02Move ide::AnalysisChange -> base_db::ChangeAleksey Kladov-2/+2
This seems like a better factoring logically; ideally, clients shouldn't touch `set_` methods of the database directly. Additionally, I think this should remove the unfortunate duplication in fixture code.
2020-09-27Spawn a flycheck instance per workspaceJonas Schievink-2/+2
2020-08-13Rename ra_ide -> ideAleksey Kladov-1/+1
2020-08-13Rename ra_db -> base_dbAleksey Kladov-1/+1
2020-08-13Rename ra_project_model -> project_modelPavan Kumar Sunkara-1/+1
2020-08-12Rename ra_prof -> profileAleksey Kladov-2/+1
2020-08-10Return InvalidRequest if Shutdown has been requestedJeremy Kolb-0/+2
From the LSP 3.16 spec: "If a server receives requests after a shutdown request those requests should error with InvalidRequest."