05c44b9
Process incoming CLI requests on the main thread
Nathan Sobo
created
75f0326
Use ipc_channel crate to communicate between cli and app
Click to expand commit body
We still aren't handling CLI requests in the app, but this lays the foundation for bi-directional communication.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
b9511af
Merge pull request #860 from zed-industries/fix-more-project-diagnostics-cycles
Click to expand commit body
Don't emit event when LSP reports consecutive empty diagnostics
Antonio Scandurra
created
8ef6b1d
Don't emit event when LSP reports consecutive empty diagnostics
Click to expand commit body
This is related to #849: in that pull request we avoided *storing*
empty diagnostics, but we'd still report an event when receiving
consecutive empty diagnostics. So if the project diagnostics editor
was open, it could happen that opening a buffer would cause the
language server to report zero diagnostics. We would therefore close
the buffer because there were no diagnostics, but doing so would cause
the LSP to report another event with zero diagnostics. This would repeat
forever, causing Zed to use a lot of CPU and the UI not to refresh properly.
With this commit we will simply avoid emitting a `DiagnosticsUpdated` event
altogether if no diagnostics were present before *and* the LSP is reporting
a `PublishDiagnostics` event with no diagnostics in it.
Antonio Scandurra
created
c2fa7b9
Merge pull request #857 from zed-industries/file-finder-fixes
Click to expand commit body
File finder fixes
Max Brunsfeld
created
717ebe6
Don't cancel match updates when picker query changes
Click to expand commit body
The file finder often cancels an in-progress match task when
the project updates. But it still needs to take the matches
that it did find and add them to its results. So we should
not cancel the entire task, as this will cause the
partial results to be discarded.
Max Brunsfeld
created
4737967
Update file finder correctly when project files change
Max Brunsfeld
created
8ff0277
Handle linewise motions correctly and fix panic when executing invalid actions
Keith Simmons
created
93d307a
Navigate to best match when updating outline view query
Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo
,
Antonio Scandurra
,
Keith Simmons
, and
Max Brunsfeld
created
e8728f4
Merge pull request #849 from zed-industries/fix-project-diagnostic-ui-glitch
Click to expand commit body
Remove summaries that don't contain any errors or warnings
Antonio Scandurra
created
ef784cf
Remove summaries that don't contain any errors or warnings
Click to expand commit body
When opening a buffer, some language servers might start reporting
diagnostics. When closing a buffer, they might report that no diagnostics
are present for that buffer. Previously, we would keep an empty summary entry
which would cause us to open a buffer in the project diagnostics view, only to
drop it because it contained no diagnostics. However, the act of opening it
caused the language server to asynchronously report non-empty diagnostics.
We would therefore handle this as an update, but the previous closing of the
buffer would cause the language server to report empty diagnostics again. This
would cause the project diagnostics view to thrash infinitely between these two
states, pegging the CPU and constantly refreshing the UI.
With this commit we won't maintain empty summary entries for files that contain
no diagnostics, which fixes the above issue.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
1cd23df
Merge pull request #848 from zed-industries/out-of-sync-diagnostics
Click to expand commit body
Use the entire `ProjectPath` to find open buffer for an LSP diagnostic
Antonio Scandurra
created
eaa6637
Use the entire `ProjectPath` to find open buffer for an LSP diagnostic
Click to expand commit body
Previously, we would only compare the path relative to the worktree root, which
would cause Zed to sometimes update diagnostics on the wrong buffer. This
manifested in the project diagnostics not showing those errors/warnings while
the status bar and the tab title displayed a summary with errors/warnings.
This commit simply uses `Project::get_open_buffer` which correctly locates a
buffer with the given project path.
Antonio Scandurra
created
484204c
Reduce key icon size to avoid extra padding on command palette item