0c98168
v0.28.1
Antonio Scandurra created
0c98168
v0.28.1
Antonio Scandurra created
b9511af
Merge pull request #860 from zed-industries/fix-more-project-diagnostics-cycles
Don't emit event when LSP reports consecutive empty diagnostics
Antonio Scandurra created
8ef6b1d
Don't emit event when LSP reports consecutive empty diagnostics
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
File finder fixes
Max Brunsfeld created
717ebe6
Don't cancel match updates when picker query changes
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
93d307a
Navigate to best match when updating outline view query
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
360b876
v0.28.0
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
e8728f4
Merge pull request #849 from zed-industries/fix-project-diagnostic-ui-glitch
Remove summaries that don't contain any errors or warnings
Antonio Scandurra created
ef784cf
Remove summaries that don't contain any errors or warnings
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
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
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
d99c74d
Merge pull request #823 from zed-industries/command-palette
Command palette
Max Brunsfeld created
0af129d
Use primary text color for keystrokes in command palette
Max Brunsfeld created
d8ad0d8
Format action names more readably in command palette
Also add a unit test for the command palette
Max Brunsfeld created
a4f2590
tmp
Max Brunsfeld created
11eba96
Allow toggling other modals from the command palette
Max Brunsfeld created
f5377c2
Highlight fuzzy match positions in command palette
Max Brunsfeld created
3bbc021
Use Picker in Outline view
Max Brunsfeld created
c56e2ea
Fix hang when dropping ::scoped future under deterministic executor
Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Keith Simmons <keith@zed.dev>
Max Brunsfeld , Nathan Sobo , and Keith Simmons created
df0b577
Remove unused crossbeam-channel dependency in zed crate
Co-authored-by: Keith Simmons <keith@zed.dev>
Max Brunsfeld and Keith Simmons created
d0413ac
Fix crash when dropping a task that is awaiting a call to Background::scoped
Co-authored-by: Keith Simmons <keith@zed.dev>
Max Brunsfeld and Keith Simmons created
2065756
Make all pickers respect mouse clicks
Max Brunsfeld created
c7527f9
Use Picker in FileFinder
Max Brunsfeld created
c75ffc5
Use Picker in ProjectSymbolsView
Max Brunsfeld created
7b16860
Use Picker in ThemeSelector
Max Brunsfeld created
7964464
Rename SelectorModal -> Picker, put it in its own crate
Max Brunsfeld created
bde52d5
Add basic styling to keystrokes in command palette
Max Brunsfeld created
3901d9d
Display key bindings in the command palette
They still need to be styled. Co-authored-by: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
4630071
Start work on a command palette
Max Brunsfeld created
99f8466
Add a gpui method for listing the available actions
Max Brunsfeld created
2a72c61
Merge pull request #833 from zed-industries/update-dark-theme-feature-color
update feature color in dark theme
Nate Butler created
5c6a2ac
Merge pull request #812 from zed-industries/js-jsx-language
Add javascript and jsx specific languages
Keith Simmons created
26f2aa4
Swap to parsing javascript as jsx
Keith Simmons created
eb77976
Merge pull request #825 from zed-industries/vim-change-delete
Add c and d operators to vim normal mode
Keith Simmons created
dd25ab5
Revert d/c j and k binding special casing
Keith Simmons created
dcd5922
Merge jsx language into js
Keith Simmons created
ec704ca
update feature color in dark theme
Nate Butler created
6327804
Add c and d operators to vim normal mode
Extracted motions from normal mode Changed vim_submode to be vim_operator to enable better composition of operators
Keith Simmons created
670757e
Merge pull request #824 from zed-industries/fix-cursor-hidden-after-rename
Always clear rename state when selections change
Nathan Sobo created
2695b13
Always clear rename state when selections change
At some point during the implementation of rename, we added logic for invalidating the rename state when the selection moved outside the original rename range. After transitioning to displaying renames as a block decoration, we don't need that anymore given that a new, temporary editor is used instead. This commit removes that invalidation logic and always calls `Editor::take_rename` when the editor selections change. Doing so also fixes a bug that was causing Zed to hide the cursor when clicking on the editor to dismiss the rename.
Antonio Scandurra created
9820c6b
Merge pull request #822 from zed-industries/focus-project-search-query
Fix focus bugs in `ProjectSearchView`
Nathan Sobo created
3cdda79
Merge pull request #817 from zed-industries/dynamic-editor-highlights
Store accessors for editor highlight colors not colors themselves
Max Brunsfeld created
77d3cc3
Fix tests
Antonio Scandurra created
ce3a31d
Persist project search focus state
...so that we can re-focus the previously-active editor when switching back to the project search tab.
Antonio Scandurra created
5a8297a
Introduce `ViewContext::observe_focus`
Antonio Scandurra created
27057fd
Only process a single focus effect per batch
This allows us to focus the query editor of the project search when deploying it. Previously, a complex interplay between focus events was preventing this from working in an intuitive way. What happened previously: - We'd activate the project search, which enqueued a focus effect for the project search view - We'd focus the query editor, which enqueued an effect - We'd process the focus effect for the search view, which would enqueue an effect to transfer focus to the results editor - We'd process the effect to focus the query editor - We'd process the effect to focus the results editor Now... - We activate the project search pane item, enqueuing a focus effect for the project search itself - We focus the query editor and *remove* the previous pending focus change effect - We process the focus effect
Nathan Sobo created
c420386
Revert "Focus Project Search query editor always when deployed"
Nathan Sobo created
c4e0307
Merge pull request #820 from zed-industries/optimize-line-len
Speed up `WrapSnapshot::line_len` using the indexed transforms
Antonio Scandurra created
6d33697
Fix warning
Antonio Scandurra created