aboutsummaryrefslogtreecommitdiff
path: root/crates/rust-analyzer/src/reload.rs
Commit message (Collapse)AuthorAgeFilesLines
* Make it opt-inJonas Schievink2021-06-031-0/+6
|
* Check for subdirs in vfs loader exclusions.ammkrn2021-05-251-1/+5
| | | | | | | | The current logic used to transfer global_excludes into vfs exclusions only transfers global_excludes that are the parent of an item in dirs.include. This commit additionally adds an item from global_exclude to the vfs exclusions if the global_exclude is a child of an included item.
* Drag detached files towards loadingKirill Bulatov2021-05-231-2/+8
|
* Draft detached files retrievalKirill Bulatov2021-05-231-0/+1
|
* Add profiling spans under cargo_to_crate_graphLaurențiu Nicola2021-04-221-0/+1
|
* fix: don't spam repeated error messages when `cargo check` failsAleksey Kladov2021-04-121-7/+8
| | | | | | | Conceptually, using a *message* here is wrong, because this is a "status", rather than "point in time" thing. But statuses are an LSP extension, while messages are stable. As a compromise, send message only for more critical `metadata` failures, and only once per state change.
* feat: show errors from `cargo metadata` and initial `cargo check` in the ↵Aleksey Kladov2021-04-061-11/+30
| | | | | | status bar closes #3155
* More robust status notificationsAleksey Kladov2021-04-061-52/+67
|
* Use autoreload config to gate execution rather that stalenessAleksey Kladov2021-04-061-5/+1
|
* Improve readabilityAleksey Kladov2021-04-061-29/+28
| | | | | It's better to order functions in the order they are called, if there's ordering between them.
* internal: do not drop errors from cargo metadata/checkAleksey Kladov2021-04-061-40/+36
| | | | Work towards #3155
* internal: prepare to store OpQueue results in the queue itselfAleksey Kladov2021-04-051-2/+2
|
* a lot of clippy::style fixesMatthias Krüger2021-03-211-1/+1
|
* Migrate to user-centric config name for `cargo check` stuffAleksey Kladov2021-03-041-1/+1
|
* Fix slow tests sometimes failingFlorian Diebold2021-02-121-1/+16
| | | | | | | | | | 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.
* Only allow one proc-macro processEdwin Cheng2021-02-011-14/+16
|
* bug fixEdwin Cheng2021-01-281-1/+1
|
* Async Loading outdir and proc-macroEdwin Cheng2021-01-281-11/+77
|
* Make logger-based debugging more pleasantAleksey Kladov2021-01-281-1/+1
|
* Add config option to ignore directoriesAleksey Kladov2021-01-261-3/+13
|
* Avoid blocking the main loop when editing Cargo.tomlAleksey Kladov2021-01-181-9/+6
| | | | | | | | | | I've noticed a bunch of "main loop too long" warnings in console when typing in Cargo.toml. Profiling showed that the culprit is `rustc --print cfg` call. I moved it to the background project loading phase, where it belongs. This highlighted a problem: we generally use single `cfg`, while it really should be per crate.
* Add profile callAleksey Kladov2021-01-181-0/+1
|
* Honor client's dynamic registration capsAleksey Kladov2021-01-101-20/+25
| | | | cc https://github.com/rust-analyzer/rust-analyzer/pull/5516#issuecomment-757520828
* Fix progress token is already registered crashAleksey Kladov2021-01-101-6/+18
| | | | | | | | | | | | | | | 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.
* Report progress for cargo metadata and output-dirEdwin Cheng2021-01-071-4/+30
|
* Speed up snapshotingAleksey Kladov2021-01-061-1/+1
| | | | Config can be fairly big, no need to deep clone it frequently
* More maintainable configAleksey Kladov2021-01-061-13/+13
| | | | | | | 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
* More maintainable caps configAleksey Kladov2021-01-051-1/+1
| | | | | The idea here is that we preserve client's config as is, without changes. This gets rid of state!
* Remove dummy ProcMacroClient in favor of OptionJonas Schievink2020-12-071-4/+4
|
* Downgrade "failed to load" error to warningJonas Schievink2020-11-271-1/+1
|
* SimplifyAleksey Kladov2020-11-171-1/+5
|
* Cleanup workspace loading a tiny bitAleksey Kladov2020-11-131-6/+1
|
* Add support for loading rustc private cratesXavier Denis2020-11-111-1/+3
|
* Re-export base_db from ide_dbIgor Aleksanov2020-10-241-1/+1
|
* Move ide::AnalysisChange -> base_db::ChangeAleksey Kladov2020-10-021-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.
* Spawn a flycheck instance per workspaceJonas Schievink2020-09-271-7/+15
|
* Merge #6018bors[bot]2020-09-201-1/+1
|\ | | | | | | | | | | | | | | 6018: Correct project_root path for ProjectJson. r=jonas-schievink a=woody77 It was already the folder containing the rust-project.json file, not the file itself. This also removes the Option-ness of it, since it's now an infallible operation to set the member value. Co-authored-by: Aaron Wood <[email protected]>
| * Correct project_root path for ProjectJson.Aaron Wood2020-09-161-1/+1
| | | | | | | | It was already the folder containing the rust-project.json file, not the file itself.
* | Don't re-read open files from disk when reloading a workspaceLaurențiu Nicola2020-09-181-4/+7
|/
* Add support for custom flycheck commands with JSON project workspacesAaron Wood2020-09-161-7/+11
| | | | | Enable flychecks with JSON project workspaces if an override command was provided as part of the client configuration.
* Report better errors in project.json/sysrootJonas Schievink2020-09-111-1/+1
|
* Improve loggingAleksey Kladov2020-08-251-1/+4
|
* Merge #5782bors[bot]2020-08-171-1/+4
|\ | | | | | | | | | | | | | | | | | | 5782: Fix StatusNotification r=matklad a=vsrs This PR fixes the following: As per specification `params` property in [NotificationMessage ](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#notificationMessage) should be `array | object` while RA uses `"loading" | "ready" | "invalid" | "needsReload"`. Co-authored-by: vsrs <[email protected]>
| * Fix StatusNotificationvsrs2020-08-171-1/+4
| |
* | Rename ra_ide -> ideAleksey Kladov2020-08-131-1/+1
| |
* | Rename ra_db -> base_dbAleksey Kladov2020-08-131-1/+1
| |
* | Rename ra_project_model -> project_modelPavan Kumar Sunkara2020-08-131-3/+3
| |
* | Rename ra_proc_macro_srv -> proc_macro_srvPavan Kumar Sunkara2020-08-131-1/+1
| |
* | Rename ra_prof -> profileAleksey Kladov2020-08-121-4/+3
|/
* Expose package roots more directlyAleksey Kladov2020-07-211-23/+17
|