Commit Graph
25009 Commits
Author SHA1 Message Date
Nathan Sobo fd20c8703d Clean up 2023-05-24 11:08:00 -06:00
Max Brunsfeld 866c3a529a Make toggle dock actions appear in the command palette (#2525)
This makes the `Toggle{Left,Right,Bottom}Dock` actions deserializable
from empty JSON, so that they can be constructed for the command
palette. It also fixes a bug in GPUI's `available_actions` method, in
which we'd include key bindings for actions of the same type but
different values.

Note that, for now, the command palette will perform the *focusing*
version of the actions. I'm not totally sure this is the right behavior,
but it seems more useful to me.

Release Notes:

N/A
2023-05-24 10:07:34 -07:00
Nathan Sobo 0d72a3bec6 Merge remote-tracking branch 'origin/main' into zmd 2023-05-24 11:04:07 -06:00
Max Brunsfeld ec20b724e3 Make toggle dock actions appear in the command palette 2023-05-24 09:58:41 -07:00
Nathan Sobo 5039e887da Only run AI agent on dev and preview 2023-05-24 10:58:33 -06:00
Antonio Scandurra a3f820017e WIP 2023-05-24 18:45:47 +02:00
Nathan Sobo 9918b9bed2 WIP 2023-05-24 10:26:14 -06:00
Nathan Sobo 5afb7afabe WIP 2023-05-24 09:53:08 -06:00
Nathan Sobo fafc29ea06 WIP 2023-05-24 09:38:37 -06:00
Nathan Sobo 6999aaefca WIP 2023-05-24 09:21:50 -06:00
Nathan Sobo 6c05d378e1 WIP 2023-05-24 09:12:16 -06:00
Antonio Scandurra 8923a3a967 Polish panel experience (#2523)
In this pull request we improved key bindings (as described below) and
added tooltips.

Add these release notes to the panels release notes:

- The left, right and bottom dock can be toggled and focused at the same
time respectively via `cmd-b`, `cmd-r` and `cmd-j`. Holding `shift` will
toggle them without changing the focus.
2023-05-24 16:23:24 +02:00
Antonio ScandurraandNathan Sobo 4275468260 Show keystroke in panel tooltips
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-24 16:13:58 +02:00
Antonio ScandurraandNathan Sobo f93d20ac5a Only focus new terminal if the panel contains focus
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-24 16:04:02 +02:00
Antonio ScandurraandNathan Sobo 57eb51fb3d Use cmd-b/cmd-r/cmd-j to toggle left/right/bottom dock and focus when opening
Also, bind the same keys with shift to toggle the dock without focusing.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-24 15:59:06 +02:00
Antonio Scandurra 69c844c8e0 Fix opening excerpt when the cursor is at the end of a multi-buffer (#2522)
Fixes
https://linear.app/zed-industries/issue/Z-987/option-enter-doesnt-open-buffer-from-multibuffer-if-on-the-last-line

This was caused by seeking with a right bias, which in the case of the
last excerpt in the buffer would seek past the end of the buffer. This
commit changes the behavior to move the cursor back to the previous
excerpt if we overshoot, to ensure we always land on an excerpt.

Release Notes:

- Fixed a bug that prevented opening excerpts when the cursor was at the
end of a multi-buffer.
2023-05-24 15:08:18 +02:00
Antonio Scandurra 6d264ad544 Fix opening excerpt when the cursor is at the end of a multi-buffer
This was caused by seeking with a right bias, which in the case of the
last excerpt in the buffer would seek past the end of the buffer.  This
commit changes the behavior to move the cursor back to the previous excerpt
if we overshoot, to ensure we always land on an excerpt.
2023-05-24 15:02:57 +02:00
Antonio Scandurra 8841d9dfa4 Show maximize/minimize icon for panes and terminal panel (#2521)
Closes
https://linear.app/zed-industries/issue/Z-1790/show-zoomunzoom-icons-for-panes-and-terminal-panel

![CleanShot 2023-05-24 at 11 07
04@2x](https://github.com/zed-industries/zed/assets/482957/b27d002c-6443-440b-88d0-cfa06d902477)
2023-05-24 11:44:39 +02:00
Antonio Scandurra be36a5087a Provide tooltips for pane buttons 2023-05-24 11:18:30 +02:00
Antonio Scandurra 8e24fcbb15 Show maximize/minimize icon for panes and terminal panel 2023-05-24 11:00:12 +02:00
Antonio Scandurra 8f9d85f675 Prevent empty panes from being zoomed (#2520)
Closes
https://linear.app/zed-industries/issue/Z-1789/empty-panes-should-not-be-zoomable
2023-05-24 10:51:52 +02:00
Antonio Scandurra 7560d902df Prevent empty panes from being zoomed 2023-05-24 10:34:56 +02:00
Joseph T. Lyons 5570f8e5d6 Update terminal panel tooltip (#2519)
The actions in Zed now call this the Terminal Panel and the crate is
called that as well, so I think the tooltip should be updated to use
that same name.

Release Notes:

N/A
2023-05-23 22:33:08 -04:00
Joseph Lyons 4110ada013 Update terminal panel tooltip 2023-05-23 22:23:38 -04:00
Nathan Sobo 5310b6da60 WIP 2023-05-23 18:16:49 -06:00
Nathan Sobo 50cde5ee41 WIP 2023-05-23 18:04:33 -06:00
Nathan Sobo ffc94fa07a WIP 2023-05-23 15:25:34 -06:00
Joseph T. Lyons 8c51eed98b add toggle right and bottom dock actions (#2518)
Release Notes:

N/A
2023-05-23 13:59:45 -04:00
Joseph Lyons 2867a622c5 add toggle right and bottom dock actions 2023-05-23 13:53:56 -04:00
Joseph T. Lyons 611aa7b69a Add architecture to clickhouse event request body (#2514)
See title

Release Notes:

N/A
2023-05-23 11:11:17 -04:00
Nathan Sobo 5b165a609c WIP 2023-05-23 08:52:21 -06:00
Antonio Scandurra ec71aeaea0 Update LiveKit client SDK to 1.0.12 (#2516)
Fixes
https://linear.app/zed-industries/issue/Z-1756/screen-sharing-is-slow-and-sometimes-doesnt-work-at-all

Release Notes:

* Fixed some cases where screen-sharing would have low bitrate or
completely fail to start.
2023-05-23 16:19:12 +02:00
Antonio ScandurraandJulia Risley b9140a1a32 Update LiveKit client SDK to 1.0.12
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-05-23 15:32:55 +02:00
Nathan Sobo 75626c771c WIP 2023-05-23 01:56:28 -06:00
Nathan Sobo 60a74a9b3f WIP 2023-05-23 01:52:37 -06:00
Nathan Sobo cc2cac108a WIP 2023-05-23 01:23:01 -06:00
Antonio Scandurra 3d9b657f99 Allow multiple docks to be visible at once and only let them contain panels (#2450)
Closes
https://linear.app/zed-industries/issue/Z-1188/allow-docks-to-be-visible-on-left-bottom-right

To prepare the way for the AI assistant, we want to revamp the way docks
and panels work. In this PR, we replace the dock as it currently exists
with 3 independent docks at the left, bottom, and right edge of the
workspace. To replace the "expanded" dock, we will introduce a zoom
feature that works on any pane and some panels. When showing a dock with
an active panel that is zoomed, it will automatically appear zoomed.
This replicates the expanded dock experience. If you unzoom, the panel
will still be visible.

### Panels only

We want to simplify these docks to only allow them to contain *panels*.
By doing this, we don't need to give each dock a tab bar, minimizing
clutter in the workspace. Each panel will remember its size, and the
dock will adjust to that size when the panel is toggled. This will allow
each panel to take up the amount of space that makes sense for its use
case.

There will be 3 kinds of panels:

* Project panel: This currently lives in the left "sidebar", which this
PR renames to the left dock. Users will be able to left click the icon
and switch the project panel to the right dock.
* Terminal panel: This is the primary user of the previous dock. Now all
terminals will live in a terminal panel, which can be docked at the
left, bottom, or right. This dock will contain tabs, but only for
terminals. Terminals will still be able to be dragged into the
workspace, but by default, the first new terminal will live in the
terminal panel which lives in one of the 3 docks.
* Feedback: Instead of opening a pane, let's explore making this a panel
instead.

### Status bar icons

A nice feature of this change is that it simplifies our status bar by
eliminating the dock button. We will only show icons for specific
panels. Panel in the left dock will appear at the left side of the
status bar. Panels in the right dock on the far right, panels in the
bottom will appear on the right, to the immediate left of the buttons
for right panels. Left clicking any panel button will allow it to be
redocked to any valid location for that panel.

### Paving the way for the AI assistant

I'm envisioning the assistant living in the far right panel by default.
So in the stock config, you'll have the project panel on the left,
terminal on the bottom, assistant on the right, and code in the middle.
Let's fucking go!
2023-05-23 09:09:43 +02:00
Antonio Scandurra 4e34feced3 Improve styling of bottom and right docks 2023-05-23 09:02:45 +02:00
Antonio Scandurra dee6f22ca2 Merge remote-tracking branch 'origin/main' into panels 2023-05-23 08:24:28 +02:00
Nathan Sobo b6b499e627 WIP 2023-05-23 00:22:21 -06:00
Nathan Sobo e10499e163 WIP 2023-05-23 00:16:44 -06:00
Nathan Sobo 116e5f499e WIP 2023-05-22 23:43:02 -06:00
Nathan Sobo 2f2061db74 WIP 2023-05-22 23:11:27 -06:00
Mikayla Maki eb32b3829c Add initial project panel settings (#2515)
This PR adds project panel settings for disabling git status.

Release Notes:

- Adds `project_panel: { git_status: bool }` to the settings, for
controlling whether git status information appears.
2023-05-22 20:43:24 -07:00
Mikayla Maki 0f5e271f17 Add other setting init 2023-05-22 20:38:30 -07:00
Mikayla Maki a8c4c826fe Add init_settings to tests 2023-05-22 20:33:18 -07:00
Mikayla Maki 44bff08fd7 fmt 2023-05-22 20:25:27 -07:00
Mikayla Maki b9317166d5 Add initial project panel settings 2023-05-22 20:23:07 -07:00
Nathan Sobo 6fe2c44718 WIP: Stream in completions
Drop dependency on tokio introduced by async-openai and do it ourselves.

The approach I'm taking of replacing instead of appending is causing issues. Need to just append.
2023-05-22 20:28:22 -06:00
Joseph Lyons fb29c7dc40 Add architecture to clickhouse event request body 2023-05-22 21:45:58 -04:00