Commit Graph

15886 Commits

Author SHA1 Message Date
Conrad Irwin
979db25e91 Extend test to cover go_to_line behavior too
(It's also been broken and fixed a few times along the way)
2023-12-12 20:53:54 -07:00
Conrad Irwin
a2f0accb74 Fix opening GoToLine from Command
This was broken because of the async hop introduced by should_dismiss.

Change that API to instead be syncronous, and require that implementors
(of which there is only one) to call dismiss again if they want to.
2023-12-12 20:46:27 -07:00
Conrad Irwin
c94c6614ed
vim2 (#3619)
Fix vim command tests by restoring the spawn in command palette's
confirm


Release Notes:

- N/A
2023-12-12 19:40:54 -07:00
Conrad Irwin
630997db28 And restore the command palette spawn behaviour 2023-12-12 19:27:09 -07:00
Conrad Irwin
b65129437f
vim2 (#3618)
- Uncomment editor event tests
- Uncomment vim search tests

Just command left

Release Notes:

- N/A
2023-12-12 19:19:08 -07:00
Conrad Irwin
1a86e4ff96 Fix vim toggle on welcome 2023-12-12 19:03:54 -07:00
Conrad Irwin
a9349267ec hah, oops 2023-12-12 18:54:35 -07:00
Marshall Bowers
573377d9f9
Fix workspace sizing (#3617)
This PR fixes the sizing of the workspace, specifically with regards to
the center pane.

This fixes the issue where the tab bar would get clipped when its width
exceeded the size of the screen.

<img width="1298" alt="Screenshot 2023-12-12 at 8 36 15 PM"
src="https://github.com/zed-industries/zed/assets/1486634/592d7c6d-6901-4bd4-b5e7-e30bcad67e21">

Release Notes:

- N/A
2023-12-12 20:42:48 -05:00
Conrad Irwin
a656d11fed Fix vim2 search tests 2023-12-12 18:39:42 -07:00
Max Brunsfeld
e09b07ddae
Allow dragging tabs (#3616) 2023-12-12 16:20:37 -08:00
Max Brunsfeld
6362221363 Scroll the tab bar to show the active tab
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Marshall <marshall@zed.dev>
2023-12-12 15:42:33 -08:00
Max Brunsfeld
a579713a45 Allow dragging and dropping tabs
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Marshall <marshall@zed.dev>
2023-12-12 15:07:03 -08:00
Max Brunsfeld
a4a501603e Start work on dragging tabs 2023-12-12 15:04:49 -08:00
Julia
2e00da5a79
zed2 notification panel (#3603)
Release Notes:

- N/A
2023-12-12 18:04:47 -05:00
Joseph T. Lyons
5f5b86ee24
Use release channel display name for feedback (#3615)
Release Notes:

-  N/A
2023-12-12 17:50:29 -05:00
Julia
29413bc72c Fix defer handle double lease
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-12-12 17:47:12 -05:00
Joseph T. Lyons
a63b4c598c Use release channel display name for feedback 2023-12-12 17:29:37 -05:00
Conrad Irwin
3088cbea68 Uncomment vim search tests 2023-12-12 15:29:17 -07:00
Conrad Irwin
c43969eaed Uncomment editor event tests 2023-12-12 15:29:10 -07:00
Julia
51ceb52931 Fix borked layout 2023-12-12 17:22:49 -05:00
Joseph T. Lyons
c9aa4a0e00 Fix placeholder text 2023-12-12 16:56:43 -05:00
Marshall Bowers
e489e2e583
Enable scrolling in tab bar (#3614)
This PR enables scrolling horizontally in the tab bar.

Currently this requires holding down <kbd>Shift</kbd> for the scroll to
activate. We'll need to look into this.

Scrolling also currently works when there is a split in the editor, as
the non-split view goes down a different rendering path that does not
constrain the pane width, which breaks a number of things.

Release Notes:

- N/A
2023-12-12 16:38:25 -05:00
Julia
01d4e711d8 Get notifications rendering in panel 2023-12-12 16:31:26 -05:00
Julia
d3eff6371e Panel showing up 2023-12-12 16:14:43 -05:00
Marshall Bowers
d2feaa41a5
Extract TabBar component (#3613)
This PR extracts a new `TabBar` component from the tab bar
implementation in the workspace.

Release Notes:

- N/A
2023-12-12 15:50:05 -05:00
Max Brunsfeld
31a4892a55
Avoid notifying editor when wrap width changes (#3612)
Wrap width is already assigned from within draw. It can be called
multiple times as taffy iteratively computes the layout.

This fixes a hang we were seeing in nightly when opening the chat panel.
2023-12-12 12:32:05 -08:00
Max Brunsfeld
f5ca514bf0 Avoid notifying editor when wrap width changes
Wrap width is already assigned from within draw. It can be called multiple
times as taffy iteratively computes the layout.

Co-authored-by: Nathan <nathan@zed.dev>
2023-12-12 12:06:38 -08:00
Piotr Osiewicz
2a22208518
Project search2 tests (#3611)
Release Notes:

- N/A
2023-12-12 19:35:15 +01:00
Max Brunsfeld
b3e1514b00
Avoid caching zed build script if git state has changed (#3610)
@as-cii and @SomeoneToIgnore noticed a bug where Zed nightly would
continuously report that an update was available. This nightly
auto-update logic depends on the `ZED_COMMIT_SHA` constant, which is
compiled into the app via an rustc environment variable that is assigned
in the `zed2` build script.

I think the bug was caused by the `zed2` build script's output being
cached on our CI, when building the nightly app bundle. The result was
that the `publish-nightly` action updated the "current SHA" for nightly,
but uploaded an artifact whose `ZED_COMMIT_SHA` was cached from an
earlier version.

I've added a line to the `build.rs` that triggers a rerun if the
`.git/logs/HEAD` file has been changed. I think this should prevent the
unwanted caching.
2023-12-12 10:27:57 -08:00
Julia
52e72d9648 Builds and runs 2023-12-12 13:07:17 -05:00
Max Brunsfeld
e3ed3b8c1c Avoid caching zed build script if git state has changed 2023-12-12 09:55:56 -08:00
Julia
fd6320b136 Finish fixing up Avatar using URI 2023-12-12 11:49:04 -05:00
Antonio Scandurra
e53b9f5ccf Fix Div::active not working
Somehow a condition got inverted and caused the bug.
2023-12-12 17:40:22 +01:00
Antonio Scandurra
35670368a5 Remove focus_listeners from Interactive
We're not using these anymore.
2023-12-12 17:39:07 +01:00
Julia
44d40625fe Start changing Avatar to use URI
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-12-12 11:27:40 -05:00
Piotr Osiewicz
cc97b04627
Buffer search channel notes (#3608)
We were registering `deploy` only on editors, which did succeed for
channel notes; however, channel note does not have an associated
workspace (that we pulled from the editor). It made more sense to just
register these actions for a workspace, notwithstanding the editor.

This PR also fixes a bunch of cx.dispatch_action calls to call the
handler directly instead (e.g. instead of dispatching ReplaceNext we
just call buffer_search_bar.replace_next instead) as otherwise these
actions are not handled if the buffer search bar does not have the
focus.

Release Notes:

- N/A
2023-12-12 17:09:37 +01:00
Marshall Bowers
a334a21f3e
Prevent panes from overflowing the window (#3609)
This PR fixes an issues where it was possible for panes to overflow the
window (for instance, by having a large number of tabs in the tab bar).

Release Notes:

- N/A
2023-12-12 11:01:49 -05:00
Antonio Scandurra
c0846d6f74
Set cursor style only if we're the active window (#3607)
Release Notes:

- N/A
2023-12-12 16:56:32 +01:00
Piotr Osiewicz
13f9fec0bd fixup! Move away from using cx.dispatch_action in buffer search 2023-12-12 16:38:58 +01:00
Piotr Osiewicz
be57059195 Move away from using cx.dispatch_action in buffer search 2023-12-12 16:36:00 +01:00
Antonio Scandurra
b87c45e6f5 Set cursor style only if we're the active window 2023-12-12 16:32:45 +01:00
Kirill Bulatov
4684440202
Fix focus issues with gpui2 docks (#3606)
* Fixed dock toggling not focusing the terminal element
* Fixed loosing focus on dock close (e.g. cmd-d on the last terminal in
the dock)
* Removed element stateless focus API since it would not work when the
element is not rendered, update all API usages to the stateful one via
`gpui::Subscription`

Release Notes:

- N/A
2023-12-12 17:26:39 +02:00
Kirill Bulatov
0140bb862e Fix the tests
Co-authored-by: Antonio <antonio@zed.dev>
2023-12-12 17:19:12 +02:00
Kirill Bulatov
ca8e8d1065 Finish removing all dangerous focus APIs 2023-12-12 16:11:14 +02:00
Nate Butler
9f21fe2d50 Futher outline 2023-12-12 09:10:12 -05:00
Antonio Scandurra
97eae4b081
Improve rendering performance in gpui2 (#3605)
The biggest improvements come from preventing element moves where
unnecessary, and when they are absolutely needed, try to make the struct
we're moving as small as possible. Having big structs on the stack (such
as `Interactivity`) increases the cost of moving but also reduces
opportunities for other compiler optimizations (e.g., inlining).

One more notable change was using `FxHashMap` and `FxHashSet` in hot
code paths where we don't need those collections to be resistant to DoS.

Another thing I am seeing a lot in the profiler is interacting with
`StackingOrder` (cloning it, searching for it, inserting into the
`Scene`). I have some thoughts on how to optimize that but I punted on
it because performance seems to be pretty good now.

Release Notes:

- N/A
2023-12-12 15:09:43 +01:00
Antonio Scandurra
6159a59534 Fix assertions now that we use different hash functions 2023-12-12 14:59:51 +01:00
Kirill Bulatov
2cde1a2e15 Re-focus window on workspace on corresponding window blur
Co-authored-by: Antonio <antonio@zed.dev>
2023-12-12 15:36:20 +02:00
Piotr Osiewicz
1c437a2b92 Register buffer search listener on new workspaces and not editors 2023-12-12 14:23:52 +01:00
Kirill Bulatov
717b2885f8 Attempt to remove the dangeous element focus API 2023-12-12 15:07:27 +02:00