ZIm/crates
Kirill Bulatov d1ad96782c
Rework task modal (#10341)
New list (used tasks are above the separator line, sorted by the usage
recency), then all language tasks, then project-local and global tasks
are listed.
Note that there are two test tasks (for `test_name_1` and `test_name_2`
functions) that are created from the same task template:
<img width="563" alt="Screenshot 2024-04-10 at 01 00 46"
src="https://github.com/zed-industries/zed/assets/2690773/7455a82f-2af2-47bf-99bd-d9c5a36e64ab">

Tasks are deduplicated by labels, with the used tasks left in case of
the conflict with the new tasks from the template:
<img width="555" alt="Screenshot 2024-04-10 at 01 01 06"
src="https://github.com/zed-industries/zed/assets/2690773/8f5a249e-abec-46ef-a991-08c6d0348648">

Regular recent tasks can be now removed too:
<img width="565" alt="Screenshot 2024-04-10 at 01 00 55"
src="https://github.com/zed-industries/zed/assets/2690773/0976b8fe-b5d7-4d2a-953d-1d8b1f216192">

When the caret is in the place where no function symbol could be
retrieved, no cargo tests for function are listed in tasks:
<img width="556" alt="image"
src="https://github.com/zed-industries/zed/assets/2690773/df30feba-fe27-4645-8be9-02afc70f02da">


Part of https://github.com/zed-industries/zed/issues/10132
Reworks the task code to simplify it and enable proper task labels.

* removes `trait Task`, renames `Definition` into `TaskTemplate` and use
that instead of `Arc<dyn Task>` everywhere
* implement more generic `TaskId` generation that depends on the
`TaskContext` and `TaskTemplate`
* remove `TaskId` out of the template and only create it after
"resolving" the template into the `ResolvedTask`: this way, task
templates, task state (`TaskContext`) and task "result" (resolved state)
are clearly separated and are not mixed
* implement the logic for filtering out non-related language tasks and
tasks that have non-resolved Zed task variables
* rework Zed template-vs-resolved-task display in modal: now all reruns
and recently used tasks are resolved tasks with "fixed" context (unless
configured otherwise in the task json) that are always shown, and Zed
can add on top tasks with different context that are derived from the
same template as the used, resolved tasks
* sort the tasks list better, showing more specific and least recently
used tasks higher
* shows a separator between used and unused tasks, allow removing the
used tasks same as the oneshot ones
* remote the Oneshot task source as redundant: all oneshot tasks are now
stored in the inventory's history
* when reusing the tasks as query in the modal, paste the expanded task
label now, show trimmed resolved label in the modal
* adjusts Rust and Elixir task labels to be more descriptive and closer
to bash scripts

Release Notes:

- Improved task modal ordering, run and deletion capabilities
2024-04-11 02:02:04 +03:00
..
activity_indicator Add auto-update system for extensions (#9890) 2024-03-28 15:41:22 -04:00
anthropic Check license generation for every PR to avoid license-less crate additions (#10033) 2024-04-01 12:16:16 +03:00
assets Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
assistant Rework task modal (#10341) 2024-04-11 02:02:04 +03:00
audio Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
auto_update Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
breadcrumbs Remove line breaks when displaying file names in the project panel (#10231) 2024-04-10 08:30:13 -06:00
call Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
channel chat panel: Fix new messages indicator appearing when message was deleted (#10278) 2024-04-10 12:21:45 +02:00
cli Windows: Enable clippy deny warnings (#9920) 2024-03-28 11:55:35 -04:00
client Flip the optionality of the auto_update setting (#10302) 2024-04-08 20:16:05 -04:00
clock Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collab Fix cleanup of LSP request status messages (#10336) 2024-04-09 17:34:51 -04:00
collab_ui Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
color Fix hex_to_hsla inside the color crate (#9412) 2024-03-15 16:58:46 -04:00
command_palette Encapsulate CommandPaletteFilter and CommandPaletteInterceptor (#9402) 2024-03-15 12:37:25 -04:00
command_palette_hooks Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
copilot Improve the ergonomics of creating local buffers (#10347) 2024-04-10 08:32:51 -06:00
copilot_ui Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
db Fix issues with extension API that come up when moving Svelte into an extension (#9611) 2024-03-22 17:29:06 -07:00
diagnostics Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
editor Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
extension Fix panic when loading malformed Wasm files (#10370) 2024-04-10 14:13:43 -04:00
extension_api Improve extension API documentation (#10322) 2024-04-09 10:38:29 -04:00
extension_cli Add git blame (#8889) 2024-03-28 18:32:11 +01:00
extensions_ui Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
feature_flags Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
feedback Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
file_finder Fix assorted linux issues (#10061) 2024-04-01 17:22:59 -07:00
file_icons tasks: Use icons instead of secondary text in a modal (#10264) 2024-04-08 11:41:54 +02:00
fs Fix git blame not working correctly with submodules (#10114) 2024-04-03 13:49:12 +02:00
fsevent Add rs-notify implementation of fs::watch (#9040) 2024-03-08 22:18:44 -08:00
fuzzy Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
git Fix crash when joining two consecutive lines (#10000) 2024-04-05 15:45:29 +02:00
go_to_line Line numbers short mode (#10354) 2024-04-10 12:08:07 +02:00
google_ai Fix licensing errors 2024-03-20 15:52:02 +01:00
gpui linux: wayland: fix cursor set_icon (#10374) 2024-04-10 12:59:33 -07:00
gpui_macros Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
image_viewer Remove line breaks when displaying file names in the project panel (#10231) 2024-04-10 08:30:13 -06:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
language Rework task modal (#10341) 2024-04-11 02:02:04 +03:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools Compute scrollbar markers asynchronously (#10080) 2024-04-03 12:21:17 +02:00
languages Rework task modal (#10341) 2024-04-11 02:02:04 +03:00
live_kit_client Add a schema to extensions, to prevent installing extensions on too old of a Zed version (#9599) 2024-03-20 17:33:26 -04:00
live_kit_server Merge prost dependecies (#9522) 2024-03-18 20:33:20 -06:00
lsp Show status of LSP actions (#9818) 2024-04-06 19:48:11 -07:00
markdown_preview markdown preview: Improve live preview (#10205) 2024-04-08 21:17:40 +02:00
media Revert "Revert "Revert dependency updates in #9836 (#10089)"" 2024-04-02 13:12:38 -06:00
menu Fix the linux keymap (#9829) 2024-03-26 16:10:09 -07:00
multi_buffer Improve the ergonomics of creating local buffers (#10347) 2024-04-10 08:32:51 -06:00
node_runtime Allow extensions to define more of the methods in the LspAdapter trait (#9554) 2024-03-20 12:47:04 -07:00
notifications Fix mention notifications are not updated after message change and not removed after a message is deleted (#9847) 2024-04-02 20:40:00 -06:00
open_ai Hard code max token counts for supported models (#9675) 2024-03-21 20:30:33 -06:00
outline Restore --all-targets for clippy (#9346) 2024-03-14 12:39:45 -04:00
picker tab_switcher: Add tab close buttons (#9968) 2024-04-03 17:28:51 +02:00
prettier Fix prettier-plugin-organize-imports plugin removes used imports (#9598) 2024-03-21 08:23:15 +01:00
project Rework task modal (#10341) 2024-04-11 02:02:04 +03:00
project_panel Remove line breaks when displaying file names in the project panel (#10231) 2024-04-10 08:30:13 -06:00
project_symbols Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
quick_action_bar Improve Find/Replace shortcuts (#10297) 2024-04-08 22:07:59 -07:00
recent_projects Fix Recent Documents List (continues #8952) (#9919) 2024-03-29 23:17:25 +02:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rich_text Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rope Fix caret movement issue for some special characters (#10198) 2024-04-10 13:01:25 -06:00
rpc Query code actions and hovers from all related local language servers (from remote clients) (#10111) 2024-04-03 13:34:56 +03:00
search Improve the ergonomics of creating local buffers (#10347) 2024-04-10 08:32:51 -06:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
settings Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
snippet Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sqlez Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sqlez_macros Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
story Enable clippy::eq_op (#9369) 2024-03-14 17:05:07 -04:00
storybook windows: Support compiling with MinGW toolchain (part 2) (#9843) 2024-03-28 10:40:07 -07:00
sum_tree Compute scrollbar markers asynchronously (#10080) 2024-04-03 12:21:17 +02:00
tab_switcher tab_switcher: Add tab close buttons (#9968) 2024-04-03 17:28:51 +02:00
task Rework task modal (#10341) 2024-04-11 02:02:04 +03:00
tasks_ui Rework task modal (#10341) 2024-04-11 02:02:04 +03:00
telemetry_events Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
terminal Rework task modal (#10341) 2024-04-11 02:02:04 +03:00
terminal_view Rework task modal (#10341) 2024-04-11 02:02:04 +03:00
text Improve the ergonomics of creating local buffers (#10347) 2024-04-10 08:32:51 -06:00
theme Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
theme_importer themes: Add pane_group.border color (#9986) 2024-04-01 12:07:26 -04:00
theme_selector Add support for applying theme after extension is installed (#9529) 2024-03-20 11:13:58 -04:00
time_format notification panel: rework time formatting (#8997) 2024-03-12 21:02:04 -06:00
ui Remove line breaks when displaying file names in the project panel (#10231) 2024-04-10 08:30:13 -06:00
ui_text_field Introduce TextField by adding the ui_text_field crate (#10361) 2024-04-10 11:53:25 -04:00
util Add a few tests to cover other folder names (#10356) 2024-04-10 18:47:53 -04:00
vcs_menu Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
vim Improve the ergonomics of creating local buffers (#10347) 2024-04-10 08:32:51 -06:00
welcome Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
workspace Refactor workspace notifications to use explicit NotificationId type (#10342) 2024-04-10 17:21:23 -04:00
worktree Improve the ergonomics of creating local buffers (#10347) 2024-04-10 08:32:51 -06:00
zed Rework task modal (#10341) 2024-04-11 02:02:04 +03:00
zed_actions Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00