c9aa4a0
Fix placeholder text
Joseph T. Lyons created
c9aa4a0
Fix placeholder text
Joseph T. Lyons created
e489e2e
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
Marshall Bowers created
01d4e71
Get notifications rendering in panel
Julia created
d3eff63
Panel showing up
Julia created
d2feaa4
Extract `TabBar` component (#3613)
This PR extracts a new `TabBar` component from the tab bar implementation in the workspace. Release Notes: - N/A
Marshall Bowers created
31a4892
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.
Max Brunsfeld created
f5ca514
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>
Max Brunsfeld and Nathan created
2a22208
Project search2 tests (#3611)
Release Notes: - N/A
Piotr Osiewicz created
b3e1514
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.
Max Brunsfeld created
52e72d9
Builds and runs
Julia created
e3ed3b8
Avoid caching zed build script if git state has changed
Max Brunsfeld created
fd6320b
Finish fixing up Avatar using URI
Julia created
e53b9f5
Fix Div::active not working
Somehow a condition got inverted and caused the bug.
Antonio Scandurra created
3567036
Remove `focus_listeners` from `Interactive`
We're not using these anymore.
Antonio Scandurra created
44d4062
Start changing Avatar to use URI
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
Julia and Antonio Scandurra created
cc97b04
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
Piotr Osiewicz created
a334a21
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
Marshall Bowers created
c0846d6
Set cursor style only if we're the active window (#3607)
Release Notes: - N/A
Antonio Scandurra created
13f9fec
fixup! Move away from using cx.dispatch_action in buffer search
Piotr Osiewicz created
be57059
Move away from using cx.dispatch_action in buffer search
Piotr Osiewicz created
b87c45e
Set cursor style only if we're the active window
Antonio Scandurra created
4684440
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
Kirill Bulatov created
0140bb8
Fix the tests
Co-authored-by: Antonio <antonio@zed.dev>
Kirill Bulatov and Antonio created
ca8e8d1
Finish removing all dangerous focus APIs
Kirill Bulatov created
9f21fe2
Futher outline
Nate Butler created
97eae4b
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
Antonio Scandurra created
6159a59
Fix assertions now that we use different hash functions
Antonio Scandurra created
2cde1a2
Re-focus window on workspace on corresponding window blur
Co-authored-by: Antonio <antonio@zed.dev>
Kirill Bulatov and Antonio created
1c437a2
Register buffer search listener on new workspaces and not editors
Piotr Osiewicz created
717b288
Attempt to remove the dangeous element focus API
Kirill Bulatov created
43b8d65
Transfer focus to the workspace when window focus is lost
Antonio Scandurra created
137104e
Fix dock panels not focusing their contents on toggle
Co-authored-by: Antonio <antonio@zed.dev>
Kirill Bulatov and Antonio created
706dd82
Improve project panel autoreveal ergonomics (#3604)
Part of https://linear.app/zed-industries/issue/Z-1386/add-equivalent-setting-to-vscodes-auto-reveal-exclude Deals with https://github.com/zed-industries/community/issues/800 * add a `project_panel::auto_reveal_entries` config entry to allow disabling auto reveal in project panel (auto reveal is enabled by default) * add a `pane::RevealInProjectPanel` action (and a pane tab context menu entry) to manually reveal any file entry * stop auto revealing gitignored directories at all We can add the auto reveal exclude globs later, if needed, but let's try to keep the config simpler and start with a more minimalist approach. Release Notes: - Improved project panel auto reveal mechanics: gitignored files are not auto revealed anymore; a `auto_reveal_entries = true` config option for `project_panel` is added; a `pane::RevealInProjectPanel` action and a corresponding buffer tab context menu were added
Kirill Bulatov created
b871f90
Use `FxHashMap` and `FxHashSet` in hot code paths
We can also use these maps and sets in place of `SeaHasher` because they are also deterministic. Note that we're not swapping std's `HashMap` and `HashSet` wholesale inside of `collections` because on the server we need cryptographically secure collections.
Antonio Scandurra created
385c830
Make each DispatchNode smaller by allocating more
Antonio Scandurra created
d9b0828
Port to gpui2
Kirill Bulatov created
721d761
Add tests
Kirill Bulatov created
f312c58
Reduce the stack size of `Interactivity` at the cost of more allocations
Antonio Scandurra created
27d6432
Rework the way project panel auto reveals entries
* gitignored entries are never auto revealed * `project_panel::auto_reveal_entries = true` settings entry was added, setting it to `false` will disable the auto reveal * `pane::RevealInProjectPanel` action was added that activates the project panel and reveals the entry it got triggered on (including the gitignored ones)
Kirill Bulatov created
e7094cc
Don't move `interactivity` unnecessarily during `layout`
Antonio Scandurra created
b503edf
Avoid cloning entries in `CollabPanel::render_signed_in`
Antonio Scandurra created
3767162
Start port of notification panel
Julia created
a9f817f
Allow dragging and dropping files in the project panel (#3602)
Also, fix a bug that prevented drag and drop from working in the collab panel.
Max Brunsfeld created
6f5b106
Fix detection of topmost region under the dragged item
Co-authored-by: Mikayla <mikayla@zed.dev>
Max Brunsfeld and Mikayla created
9cb6f66
WIP
Nate Butler created
39a115b
Take a first pass at styling the welcome screen (#3601)
This PR is a first pass at styling the welcome screen in Zed2. Here's the current state: <img width="1237" alt="Screenshot 2023-12-11 at 7 00 43 PM" src="https://github.com/zed-industries/zed/assets/1486634/a0cbd5ca-7331-4785-bf46-f83fc4cb3bb6"> Release Notes: - N/A
Marshall Bowers created
cbce49f
Start work on dragging entries in the project panel
Max Brunsfeld created
a208229
Use Box instead of Rc for List event handlers
Max Brunsfeld created
149e90c
vim2 (#3597)
- MOAR TESTS [[PR Description]] Release Notes: - N/A
Conrad Irwin created
75c1f0e
Add `w_vw` and `h_vh` to `StyledExt` for setting sizes in viewport units (#3600)
This PR adds `w_vw` and `h_vh` methods to `StyledExt`. These methods are the same as their `w` and `h` counterparts, but operate in viewport units, giving us the equivalent of `vw` and `vh` in CSS. You can see them in action in this story: ``` cargo run -p storybook2 -- components/viewport_units ``` Release Notes: - N/A
Marshall Bowers created