Commit Graph
39175 Commits
Author SHA1 Message Date
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
Mikayla Maki 3216d220cb Fix race condition in diff base initializaiton (#2513)
fixes
https://linear.app/zed-industries/issue/Z-1657/diff-markers-in-gutter-do-not-show-up-until-after-first-save

Release Notes:

- Fixes a race condition on buffer initialization that would cause git
diffs to not load.
2023-05-22 18:43:59 -07:00
Mikayla Maki 0ab4e0c702 Add run until parked for test 2023-05-22 18:40:12 -07:00
Mikayla Maki 029295c13f Load diff base for buffers that are opening but not yet opened when repositories are discovered 2023-05-22 18:26:33 -07:00
Mikayla Maki 0466fadb53 Update scrollbar styling 2023-05-22 16:23:36 -07:00
Mikayla Maki 83e8922cc8 Fixed contrast in project panel and scrollbar (#2512)
Redo of https://github.com/zed-industries/zed/pull/2504 

This makes the different git locations individually style-able

Release Notes:

- Improve git contrast (preview only)
2023-05-22 15:59:02 -07:00
Mikayla Maki b3d5acd22d fmt 2023-05-22 15:53:29 -07:00
Mikayla Makiandnate ffd3927a70 Fixed contrast in project panel and scrollbar
co-authored-by: nate <nate@zed.dev>
2023-05-22 15:51:31 -07:00
Mikayla Maki 5ff4abac78 Revert "Touch up git in project panel and scroll bar styling" (#2511)
Reverts zed-industries/zed#2504, due to accidentally pulling in main
2023-05-22 15:36:15 -07:00
Mikayla Maki 2a904640c8 Revert "Touch up git in project panel and scroll bar styling" 2023-05-22 15:31:14 -07:00
Mikayla Maki 3b10631e92 WIP: Touch up git in project panel and scroll bar styling (#2504)
This makes the different git locations individually style-able

Release Notes:

* Improve git contrast (preview only)
2023-05-22 15:11:10 -07:00
Mikayla Maki c627091f51 fmt 2023-05-22 15:04:51 -07:00
Mikayla Maki 1e309017ec Merge branch 'main' into git-project-panel-and-scrollbar-styling 2023-05-22 15:02:28 -07:00
Mikayla Maki 9ac11de5f6 remove border from thumb 2023-05-22 14:56:55 -07:00
Nate Butler 2b2cbe8c04 Update project panel & scroll bar git colors 2023-05-22 17:47:52 -04:00
Mikayla Maki f267663b57 Only fire update diff base when the dot repo is scanned (#2510)
This PR fixes a bug in the firing of the UpdatedRepositories event which
caused it to flood collaboration with new messages on every file save.

Release Notes:

* Fixed a bug in repository detection that caused it to fire
over-eagerly (preview only)
2023-05-22 14:11:19 -07:00
Mikayla Maki 3052891543 Only fire update diff base when the dot repo is scanned 2023-05-22 13:57:07 -07:00
Max Brunsfeld 7a6deb9cba Clear old diagnostics when restarting a language server (#2509)
Previously, restarting a language server did not clear out the
diagnostics that were published by that server. Those diagnostics would
stick around forever.

Release Notes:

* Fixed a bug where restarting a language server would sometimes leave
buffers with stale diagnostics associated with that server.
2023-05-22 13:06:32 -07:00
Max Brunsfeld 9dd6826cbc Clear old diagnostics when restarting a language server 2023-05-22 12:53:22 -07:00
Mikayla Maki ae90297ff9 Adjust scrollbar settings to be expandable (#2507)
Note that this PR cannot be cherrypicked into preview, as it relies on
the new settings infrastructure.

Switches settings from `show_scrollbars: "auto"` to `scrollbar: {show:
"auto", git_diffs: true}`.

fixes
https://linear.app/zed-industries/issue/Z-1650/scroll-bar-feature-settings

Release Notes:

- Changed scrollbar settings from `show_scrollbars: "auto"` to
`scrollbar: {show: "auto", git_diffs: true}`. (preview only)
2023-05-22 12:51:21 -07:00
Mikayla Maki a0ff26b029 Diagnostics pane was not focusable with the mouse (#2506)
fixes
https://linear.app/zed-industries/issue/Z-1432/cant-cmd-w-an-empty-diagnostics-in-a-split-pane

Release Notes:

* Fixed a bug where the diagnostics pane could not be focused or closed
in certain circumstances.
2023-05-22 12:44:39 -07:00
Mikayla Maki 430d0ad098 Switch back to 2023-05-22 12:16:47 -07:00
Mikayla Maki 05abea12f0 fmt 2023-05-22 12:13:23 -07:00
Mikayla Maki 571b6ba990 Adjust scrollbar settings to be expandable 2023-05-22 12:12:56 -07:00
Joseph Lyons 89b5c89e17 Update pull_request_template.md 2023-05-22 15:00:57 -04:00
Joseph Lyons 55f765d07b Add example of changelog line in PR template 2023-05-22 14:53:07 -04:00
Mikayla Maki d60fbbc3d8 fmt 2023-05-22 11:46:52 -07:00
Mikayla Maki dce5088f27 Fix diagnostic pane not being closeable 2023-05-22 11:44:23 -07:00
Max Brunsfeld 34eda434c9 Fix spurious setting error log messages (#2498)
Fixes a bug introduced in
https://github.com/zed-industries/zed/pull/2448, where error messages
would be logged if the user config didn't specify certain fields like
`journal` or `telemetry`.
2023-05-22 11:44:21 -07:00
Joseph Lyons 0452ebf652 Indent all release note lines for each PR 2023-05-22 14:44:05 -04:00
Julia cf6fba36ac Add paragraph based vertical movements (#2502)
Very selfish patch I worked on yesterday, I kept saying I wanted these
and finally decided to just add them. Feedback on the keybindings
welcome

Release Notes:

* Added `MoveToStartOfParagraph` and `MoveToEndOfParagraph` movements
for paragraph based vertical navigation
2023-05-22 14:31:34 -04:00
Mikayla Maki 56585cfbce Fix perf problem with scrollbars in large multibuffers (#2505)
Remove scrollbars from multibuffers

Release Notes:

* Removes git scrollbar highlights from multibuffers (preview only)
2023-05-22 11:11:27 -07:00
Mikayla Maki 4d9078ac3a Diagnostics pane was not focusable with the mouse 2023-05-22 11:10:13 -07:00
Mikayla Maki 741c63a247 fmt 2023-05-22 11:04:36 -07:00
Mikayla Makiandmax b9fb1b649a Make scrollbar content detection cheaper
Remove scrollbars from multibuffers

co-authored-by: max <max@zed.dev>
2023-05-22 10:55:44 -07:00