Commit Graph
3783 Commits
Author SHA1 Message Date
Antonio ScandurraandNathan Sobo 1df22bbdec 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>
2022-04-19 15:30:46 +02:00
Antonio Scandurra b7e331152c Merge pull request #848 from zed-industries/out-of-sync-diagnostics
Use the entire `ProjectPath` to find open buffer for an LSP diagnostic
2022-04-19 13:03:19 +02:00
Antonio Scandurra ab111f672e 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.
2022-04-19 12:06:14 +02:00
Max Brunsfeld 6b8b0733b2 Merge pull request #823 from zed-industries/command-palette
Command palette
2022-04-18 18:24:31 -07:00
Max Brunsfeld c4b0b655e7 Use primary text color for keystrokes in command palette 2022-04-18 18:14:45 -07:00
Max Brunsfeld 54649856d8 Format action names more readably in command palette
Also add a unit test for the command palette
2022-04-18 18:12:43 -07:00
Max Brunsfeld b07ab44305 tmp 2022-04-18 17:30:17 -07:00
Max Brunsfeld c8badace6a Allow toggling other modals from the command palette 2022-04-18 17:11:39 -07:00
Max Brunsfeld c282add536 Highlight fuzzy match positions in command palette 2022-04-18 17:11:39 -07:00
Max Brunsfeld 04cbb7b727 Use Picker in Outline view 2022-04-18 17:11:39 -07:00
5b4f7a0f6c 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>
2022-04-18 17:11:39 -07:00
Max BrunsfeldandKeith Simmons 0cf719d1b8 Remove unused crossbeam-channel dependency in zed crate
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-18 17:11:39 -07:00
Max BrunsfeldandKeith Simmons c428098b2e Fix crash when dropping a task that is awaiting a call to Background::scoped
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-18 17:11:39 -07:00
Max Brunsfeld 385ea15c1b Make all pickers respect mouse clicks 2022-04-18 17:11:39 -07:00
Max Brunsfeld 72580120eb Use Picker in FileFinder 2022-04-18 17:11:39 -07:00
Max Brunsfeld bab5d43198 Use Picker in ProjectSymbolsView 2022-04-18 17:11:39 -07:00
Max Brunsfeld 662c01fe43 Use Picker in ThemeSelector 2022-04-18 17:11:39 -07:00
Max Brunsfeld 3db14eb424 Rename SelectorModal -> Picker, put it in its own crate 2022-04-18 17:11:39 -07:00
Max Brunsfeld 44a0e8a019 Add basic styling to keystrokes in command palette 2022-04-18 17:11:37 -07:00
Max BrunsfeldandAntonio Scandurra f573a7f164 Display key bindings in the command palette
They still need to be styled.

Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-04-18 17:11:08 -07:00
Max Brunsfeld 700c1b2d50 Start work on a command palette 2022-04-18 17:11:08 -07:00
Max Brunsfeld d54db9b4ae Add a gpui method for listing the available actions 2022-04-18 17:11:07 -07:00
Nate Butler 003cf16459 Merge pull request #833 from zed-industries/update-dark-theme-feature-color
update feature color in dark theme
2022-04-18 19:35:42 -04:00
Keith Simmons 4579e1f7c9 Merge pull request #812 from zed-industries/js-jsx-language
Add javascript and jsx specific languages
2022-04-18 16:19:54 -07:00
Keith Simmons 315ad8dfff Swap to parsing javascript as jsx 2022-04-18 15:26:57 -07:00
Keith Simmons c471dfd418 Merge pull request #825 from zed-industries/vim-change-delete
Add c and d operators to vim normal mode
2022-04-18 15:21:58 -07:00
Keith Simmons 6727a370c1 Revert d/c j and k binding special casing 2022-04-18 14:44:11 -07:00
Keith Simmons d7933ffd5c Merge jsx language into js 2022-04-18 14:21:23 -07:00
Nate Butler 2103d1bbf2 update feature color in dark theme 2022-04-17 22:37:08 -04:00
Keith Simmons 35557b222c 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
2022-04-15 16:05:50 -07:00
Nathan Sobo 46e0f5bce4 Merge pull request #824 from zed-industries/fix-cursor-hidden-after-rename
Always clear rename state when selections change
2022-04-15 15:22:07 -06:00
Antonio Scandurra 4beffbe00d 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.
2022-04-15 10:32:07 +02:00
Nathan Sobo beb2ec9065 Merge pull request #822 from zed-industries/focus-project-search-query
Fix focus bugs in `ProjectSearchView`
2022-04-14 12:25:59 -06:00
Max Brunsfeld d0089e79ef Merge pull request #817 from zed-industries/dynamic-editor-highlights
Store accessors for editor highlight colors not colors themselves
2022-04-14 10:36:38 -07:00
Antonio Scandurra 53944f3971 Fix tests 2022-04-14 18:50:45 +02:00
Antonio Scandurra a70882b79c Persist project search focus state
...so that we can re-focus the previously-active editor when switching back
to the project search tab.
2022-04-14 18:36:42 +02:00
Antonio Scandurra 5294b328d3 Introduce ViewContext::observe_focus 2022-04-14 18:22:55 +02:00
Nathan Sobo e221fb61ac 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
2022-04-14 08:52:24 -06:00
Nathan Sobo 10ee52fa86 Revert "Focus Project Search query editor always when deployed" 2022-04-14 07:53:15 -06:00
Antonio Scandurra 2637c742c8 Merge pull request #820 from zed-industries/optimize-line-len
Speed up `WrapSnapshot::line_len` using the indexed transforms
2022-04-14 13:10:09 +02:00
Antonio Scandurra 4fb8fff645 Fix warning 2022-04-14 13:03:46 +02:00
Antonio Scandurra 33d3501d8c Speed up WrapSnapshot::line_len using the indexed transforms 2022-04-14 13:01:29 +02:00
Antonio Scandurra bd4271d466 Introduce TabMap::line_len 2022-04-14 12:55:33 +02:00
Max Brunsfeld ab46332b65 Merge pull request #815 from zed-industries/stale-search-match-count
Notify when buffer search matches change
2022-04-13 15:41:30 -07:00
Max Brunsfeld 48a8cda091 Merge pull request #816 from zed-industries/render-icon-panic
Don't panic when allocating tiny_skia pixmap
2022-04-13 15:31:47 -07:00
Keith Simmons 23737d988d Store accessors for editor highlight colors not colors themselves 2022-04-13 15:30:57 -07:00
Max Brunsfeld 0746b4656d Merge pull request #814 from zed-industries/nav-history-scroll-position
Record scroll position in nav history
2022-04-13 15:23:53 -07:00
Keith Simmons f8bebdfb30 Don't panic when allocating tiny_skia pixmap 2022-04-13 14:57:16 -07:00
Keith Simmons 6d2be6e44d rename NavigationData anchor and offset to cursor_anchor and cursor_offset 2022-04-13 14:53:47 -07:00
Keith Simmons 104841d7f4 Notify when buffer search matches change 2022-04-13 14:49:18 -07:00