ZIm/assets/icons
Antonio Scandurra d238e1867e Overhaul assistant panel (#2610)
Closes
https://linear.app/zed-industries/issue/Z-2368/use-a-different-icon-for-the-assistant-panel
Closes
https://linear.app/zed-industries/issue/Z-2363/ship-the-assistant-only-on-preview
Closes
https://linear.app/zed-industries/issue/Z-2331/scrolling-makes-it-hard-to-read
Closes
https://linear.app/zed-industries/issue/Z-2306/allow-undo-and-collaboration-in-assistant

This pull request is a significant overhaul of the assistant panel,
which now uses a simple `Buffer` as opposed to a `MultiBuffer` to show
messages. Specifically, we track the start of each message with an
anchor located right after the newline (or `Anchor::MIN` for the first
message). When the anchor becomes invalid (that is, the newline is
deleted), we merge the message with the preceding ones. Crucially,
messages don't actually get deleted so that, if the newline anchor
becomes valid again (such as when undoing/redoing), we can restore the
messages as well.

As part of this overhaul, we are also improving the scrolling behavior
to maintain the viewport stable only when editing or moving the cursor,
but otherwise leave the scroll position unchanged when manually
scrolling up or down.

Note that with these changes, we are limiting access to the assistant to
users on preview (and dev), as we want to polish the behavior a little
more before shipping to the general public. Users on stable will still
be able to see the default settings/keybindings of the assistant, but I
think that's okay, as they won't be able to do anything with them.

Release Notes:

- Added support for undo/redo in the assistant (preview-only)
- Improved the scrolling behavior of the assistant when it was
generating responses. Now Zed will keep the viewport stable only when
editing or moving the cursor, but otherwise leave the scroll position
unchanged when manually scrolling up or down (preview-only)
- Changed the icon of the assistant panel (preview-only)

**Note for @JosephTLyons: given that we're feature flagging this, let's
make sure things on stable look reasonable and work correctly. Things to
look out for: ensure a stock installation works, changing the settings
on stable works, changing the keybinding on stable works.**
2023-06-14 14:11:02 +02:00
..
arrow_down_8.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_down_12.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_down_16.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_left_8.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_left_12.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_left_16.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_right_8.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_right_12.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_right_16.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
arrow_up_8.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_up_12.svg Update icons 2022-10-28 12:59:05 -04:00
arrow_up_16.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
arrow_up_right_8.svg Update icons 2022-10-28 12:59:05 -04:00
backspace _8.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
backspace _12.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
backspace _16.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
bolt_8.svg Update icons 2022-10-28 12:59:05 -04:00
bolt_12.svg Update icons 2022-10-28 12:59:05 -04:00
bolt_16.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
bolt_slash_8.svg Update icons 2022-10-28 12:59:05 -04:00
bolt_slash_12.svg Update icons 2022-10-28 12:59:05 -04:00
bolt_slash_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
caret_down_8.svg Update icons 2022-10-28 12:59:05 -04:00
caret_down_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
caret_down_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
caret_left_8.svg Update icons 2022-10-28 12:59:05 -04:00
caret_left_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
caret_left_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
caret_right_8.svg Update icons 2022-10-28 12:59:05 -04:00
caret_right_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
caret_right_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
caret_up_8.svg Update icons 2022-10-28 12:59:05 -04:00
caret_up_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
caret_up_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
check_8.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
check_12.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
check_16.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
chevron_down_8.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
chevron_down_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
chevron_down_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
chevron_left_8.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
chevron_left_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
chevron_left_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
chevron_right_8.svg Update icons 2022-10-28 12:59:05 -04:00
chevron_right_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
chevron_right_16.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
chevron_up_8.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
chevron_up_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
chevron_up_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
circle_check_8.svg Update icons 2022-10-28 12:59:05 -04:00
circle_check_12.svg Update icons 2022-10-28 12:59:05 -04:00
circle_check_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
circle_info_8.svg Update icons 2022-10-28 12:59:05 -04:00
circle_info_12.svg Update icons 2022-10-28 12:59:05 -04:00
circle_info_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
circle_up_8.svg Update icons 2022-10-28 12:59:05 -04:00
circle_up_12.svg Update icons 2022-10-28 12:59:05 -04:00
circle_up_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
circle_x_mark_8.svg Update icons 2022-10-28 12:59:05 -04:00
circle_x_mark_12.svg Update icons 2022-10-28 12:59:05 -04:00
circle_x_mark_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
cloud_8.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
cloud_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
cloud_slash_8.svg Update icons 2022-10-28 12:59:05 -04:00
cloud_slash_12.svg Update icons 2022-10-28 12:59:05 -04:00
copilot_16.svg Add new copilot state icons 2023-03-30 14:18:03 -04:00
copilot_disabled_16.svg Update icons 2023-03-30 14:32:51 -04:00
copilot_error_16.svg Update icons 2023-03-30 14:32:51 -04:00
copilot_init_16.svg Update icons 2023-03-30 14:32:51 -04:00
delete_8.svg Fix incorrectly named icons 2022-07-19 17:13:40 -04:00
delete_12.svg Fix incorrectly named icons 2022-07-19 17:13:40 -04:00
delete_16.svg Fix incorrectly named icons 2022-07-19 17:13:40 -04:00
disable_screen_sharing_12.svg Add control to toggle screen-sharing 2022-10-19 10:19:20 +02:00
dock_bottom_8.svg Update icons 2022-10-28 12:59:05 -04:00
dock_bottom_12.svg Update icons 2022-10-28 12:59:05 -04:00
dock_modal_8.svg Update icons 2022-10-28 12:59:05 -04:00
dock_modal_12.svg Update icons 2022-10-28 12:59:05 -04:00
dock_right_8.svg Update icons 2022-10-28 12:59:05 -04:00
dock_right_12.svg Update icons 2022-10-28 12:59:05 -04:00
download_8.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
download_12.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
ellipsis_14.svg Rearrange collab titlebar items to avoid movement of the toggle contacts button 2023-02-22 22:56:11 -08:00
enable_screen_sharing_12.svg Add control to toggle screen-sharing 2022-10-19 10:19:20 +02:00
feedback_16.svg Use an envelope as the feedback icon 2023-03-20 09:04:30 -06:00
file_8.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
file_12.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
file_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
folder_tree_8.svg Update icons 2022-10-28 12:59:05 -04:00
folder_tree_12.svg Update icons 2022-10-28 12:59:05 -04:00
folder_tree_16.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
git_diff_8.svg Update icons 2022-10-28 12:59:05 -04:00
git_diff_12.svg Add diff icon 2022-09-08 16:14:43 -04:00
github-copilot-dummy.svg Create copilot auth popup UI 2023-03-28 09:42:01 -07:00
leave_12.svg Add top level leave call button 2023-02-22 14:44:23 -05:00
link_out_12.svg Added erorr states and first-pass error handling to the copilot status bar item. 2023-03-30 14:10:57 -07:00
lock_8.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
logo_96.svg Add Zed logo icon 2023-03-08 16:45:35 -05:00
magnifying_glass_8.svg Update icons 2022-10-28 12:59:05 -04:00
magnifying_glass_12.svg Update icons 2022-10-28 12:59:05 -04:00
magnifying_glass_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
maximize_8.svg Update icons 2022-10-28 12:59:05 -04:00
minimize_8.svg Update icons 2022-10-28 12:59:05 -04:00
plus_8.svg Update icons 2022-10-28 12:59:05 -04:00
plus_12.svg Update icons 2022-10-28 12:59:05 -04:00
plus_16.svg Update icons 2022-10-28 12:59:05 -04:00
robot_14.svg Overhaul assistant panel (#2610) 2023-06-14 14:11:02 +02:00
speech_bubble_12.svg Start on an assistant panel based on multi-buffers 2023-05-26 10:09:55 -06:00
split_12.svg Update icons 2022-10-28 12:59:05 -04:00
terminal_8.svg Update icons 2022-10-28 12:59:05 -04:00
terminal_12.svg Update icons 2022-10-28 12:59:05 -04:00
terminal_16.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
triangle_exclamation_8.svg Update icons 2022-10-28 12:59:05 -04:00
triangle_exclamation_12.svg Update icons 2022-10-28 12:59:05 -04:00
triangle_exclamation_16.svg Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
unlock_8.svg Update icons 2022-10-28 12:59:05 -04:00
user_circle_8.svg Update icons 2022-10-28 12:59:05 -04:00
user_circle_12.svg Update icons 2022-10-28 12:59:05 -04:00
user_group_8.svg Update icons 2022-10-28 12:59:05 -04:00
user_group_12.svg Update icons 2022-10-28 12:59:05 -04:00
user_group_16.svg Use Fontawesome Icons 2022-07-26 12:45:09 -04:00
user_plus_8.svg Update icons 2022-10-28 12:59:05 -04:00
user_plus_12.svg Update icon 2023-03-13 13:47:58 -04:00
user_plus_16.svg Update icon 2023-03-13 13:47:58 -04:00
version_control_branch_12.svg Introduce a version control branch icon 2023-05-08 14:33:58 -07:00
x_mark_8.svg Update icons 2022-10-28 12:59:05 -04:00
x_mark_12.svg Update icons 2022-10-28 12:59:05 -04:00
x_mark_16.svg Update icons 2022-10-28 12:59:05 -04:00
zed_plus_copilot_32.svg Add zed plus copilot icon 2023-03-30 14:34:33 -04:00