Prior we were only updating the diagnostics pane when it is either unfocued, saved or when a disk based diagnostic run finishes (aka cargo check). The reason for this is simple, we do not want to take away the excerpt under the users cursor while they are typing if they manage to fix the diagnostic. Additionally we need to prevent dropping the changed buffer before it is saved. Delaying updates was a simple way to work around these kind of issues, but comes at a huge annoyance that the diagnostics pane is not actually reflecting the current state of the world but some snapshot of it instead making it less than ideal to work within it for languages that do not leverage disk based diagnostics (that is not rust-analyzer, and even for rust-analyzer its annoying). This PR changes this. We now always live update the view but take care to retain unsaved buffers as well as buffers that contain a cursor in them (as well as some other "checkpoint" properties). Release Notes: - Improved diagnostics pane to live update when editing within its editor
52 lines
1.3 KiB
TOML
52 lines
1.3 KiB
TOML
[package]
|
|
name = "diagnostics"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/diagnostics.rs"
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
collections.workspace = true
|
|
component.workspace = true
|
|
ctor.workspace = true
|
|
editor.workspace = true
|
|
gpui.workspace = true
|
|
indoc.workspace = true
|
|
language.workspace = true
|
|
log.workspace = true
|
|
lsp.workspace = true
|
|
markdown.workspace = true
|
|
project.workspace = true
|
|
rand.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
settings.workspace = true
|
|
text.workspace = true
|
|
theme.workspace = true
|
|
ui.workspace = true
|
|
util.workspace = true
|
|
workspace.workspace = true
|
|
itertools.workspace = true
|
|
|
|
[dev-dependencies]
|
|
client = { workspace = true, features = ["test-support"] }
|
|
editor = { workspace = true, features = ["test-support"] }
|
|
gpui = { workspace = true, features = ["test-support"] }
|
|
language = { workspace = true, features = ["test-support"] }
|
|
markdown = { workspace = true, features = ["test-support"] }
|
|
lsp = { workspace = true, features=["test-support"] }
|
|
serde_json.workspace = true
|
|
theme = { workspace = true, features = ["test-support"] }
|
|
unindent.workspace = true
|
|
workspace = { workspace = true, features = ["test-support"] }
|
|
pretty_assertions.workspace = true
|
|
zlog.workspace = true
|