Antonio Scandurra
4aa2858b2b
Transfer focus to root view only if previously-focused view was dropped
2023-05-22 18:05:08 +02:00
Antonio Scandurra
146809eef0
Merge branch 'main' into panels
2023-05-22 14:10:17 +02:00
Antonio Scandurra
5a8fb18c20
Show workspace only after initializing it
2023-05-19 19:35:00 +02:00
Kirill Bulatov
583b15badc
When the file is deleted via project panel, close it in editors
2023-05-19 18:52:30 +03:00
Mikayla Maki
89d8bb1425
WIP: Add persistence to new docks
2023-05-17 17:34:20 -07:00
Max Brunsfeld
1f0e79ee9d
Merge branch 'main' into setting-store
2023-05-17 14:56:35 -07:00
Julia
9e5983305b
Update font-kit to resolve panics when loading malformed fonts
2023-05-17 13:38:54 -04:00
Max Brunsfeld
89204e85c0
Merge branch 'main' into setting-store
2023-05-17 09:55:24 -07:00
Antonio Scandurra
747fbfadeb
Notify old/new ancestors of the focused view when they change
2023-05-17 17:12:12 +02:00
Antonio Scandurra
981129ef8e
Show a panel/pane as zoomed only if it's the active item in workspace
2023-05-17 15:06:58 +02:00
Max Brunsfeld
39618ae32d
Define language settings in the language crate
2023-05-16 17:29:53 -07:00
Julia
d61b12a05b
Disable usvg's text feature flags to include less dependency code
2023-05-16 18:44:16 -04:00
Antonio Scandurra
f87ae6032e
Don't rely on action propagation for zooming in and out
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-05-16 10:34:50 -06:00
Antonio Scandurra
adf361b374
Implement zooming for panes and docks
2023-05-16 11:49:48 +02:00
Kirill Bulatov
18e0ee44a6
Remove redundant scopes and actions to fix the focus toggle on ESC
...
co-authored-by: Antonio <antonio@zed.dev>
2023-05-15 13:10:15 +03:00
Nathan Sobo
ba50b35de6
wip
2023-05-13 14:34:09 -06:00
Mikayla Maki
41bef2e444
Refactor out git status into FileName component
...
Integrate file name component into the editor's tab content
2023-05-13 02:26:45 -07:00
Nathan Sobo
bd795d7607
Preserve panel size when re-docking between left and right
2023-05-12 15:15:11 -06:00
Nathan Sobo
214354b4da
Make panels independently resizable
2023-05-12 09:44:14 -06:00
Kirill Bulatov
89352a2bdc
Merge pull request #2463 from zed-industries/kb/reapply-modal-accessibility
...
Reintroduce more accesible modal keybindings
2023-05-12 06:11:04 +03:00
Mikayla Maki
defc9c8591
Merge pull request #2455 from zed-industries/git-status-viewer
...
Add Git Status to the project panel
2023-05-11 16:13:34 -07:00
Kirill Bulatov
f12dffa60c
Reintroduce more accesible modal keybindings
...
Brings commit 475fc40923
back
2023-05-11 20:59:10 +03:00
Joseph Lyons
0ab94551f4
Revert "More keybindings in macOs modals with buttons"
...
This reverts commit 1398a12062
.
2023-05-11 11:37:34 -04:00
Petros Amoiridis
21e1bdc8cd
Fix yellow to be yellow
2023-05-10 17:37:36 -07:00
Max Brunsfeld
cee7edabf9
Ensure the SettingsStore global is added in tests
2023-05-10 16:39:59 -07:00
Antonio Scandurra
9b9d53fcf8
Focus the root view if the previously-focused view isn't rendered
2023-05-10 15:40:46 +02:00
Nathan Sobo
0d78266ddb
Replace todo with unimplemented to reduce distractions
2023-05-09 16:41:10 -06:00
Mikayla Maki
8d561d6408
Make dock not eagerly steal focus from sub items
2023-05-09 12:00:09 -07:00
Mikayla Maki
3570810516
Add API for accessing git branch
2023-05-08 14:33:58 -07:00
Mikayla Maki
2cf928c85a
Fixed clicks falling through the modal terminal
...
co-authored-by: Antonio <antonio@zed.dev>
2023-05-08 10:54:12 -07:00
Kirill Bulatov
706f6f495a
Add a test
2023-05-08 19:36:51 +03:00
Kirill Bulatov
714734d279
Add whitespaces rendering
2023-05-08 19:36:51 +03:00
Kirill Bulatov
2d8c88ad73
Draw tabs with svg icons in editor code only
2023-05-08 19:36:51 +03:00
Kirill Bulatov
f0a88b3337
Make invisibles display configurable
2023-05-08 19:36:51 +03:00
Kirill Bulatov
ad731ea6d2
Draft invisibles' tabs display
2023-05-08 19:36:51 +03:00
Antonio Scandurra
080a1f00a3
Delay focus_in
event for window activation till after layout
2023-05-05 10:47:42 +02:00
Antonio Scandurra
b9ed327b94
Replace usages of is_parent_view_focused
with is_self_focused
...
Previously, this was used because we didn't have access to the current
view and `EventContext` was an element-only abstraction. Now that the
`EventContext` wraps the current view's `ViewContext` we can simply check
for the view's focus and avoid querying ancestors.
2023-05-05 10:08:22 +02:00
Antonio Scandurra
80ad59a620
Make focusing the parent an effect to avoid querying ancestors
2023-05-05 10:04:54 +02:00
Antonio Scandurra
da19edc3e3
Merge branch 'main' into implicit-ancestry
2023-05-04 14:39:58 +02:00
Antonio Scandurra
5cc6304fa6
Verify keystrokes can be queried while views are on the stack
2023-05-04 12:09:32 +02:00
Antonio Scandurra
3d679ddb26
Avoid re-allocating KeymapContext
after every view notification
2023-05-04 12:04:30 +02:00
Antonio Scandurra
18e39ef2fa
Cache view's type id and keymap context into a separate map
...
During `layout`, we now pass a mutable reference to the element's
parent view. This is a recursive process that causes the view to
be removed from `AppContext` and then re-inserted back into it once
the layout is complete.
As such, querying parent views during `layout` does not work as such
views will have been removed from `AppContext` and not yet re-inserted
into it. This caused a bug in `KeystrokeLabel`, which used the `keystrokes_for_action`
method to query its ancestors to determine their type id and keymap context.
Now, any time a view notifies, we will cache its keymap context so that
we don't need to query the parent view during `layout`.
2023-05-04 10:47:56 +02:00
Antonio Scandurra
7b7a495be3
Remove stray dbg!
statement
2023-05-04 09:56:49 +02:00
Antonio Scandurra
f6f18be9c3
Remove WindowContext::is_child_focused
2023-05-04 09:53:35 +02:00
Antonio Scandurra
67a3891f15
Make dispatch_event related methods public to the crate only
2023-05-04 09:53:35 +02:00
Antonio Scandurra
92183e0d72
Ensure querying keystrokes or actions is safe
...
This is achieved by moving `available_actions` into `AsyncAppContext` (where
we know no view/window is on the stack) and `keystrokes_for_action` into `LayoutContext`
where we'll fetch the previous frame's ancestors and notify the current view if those
change after we perform a layout.
2023-05-04 09:53:31 +02:00
Antonio Scandurra
040cc4d4c3
Allow notifying views when the ancestry of another view is outdated
2023-05-03 19:25:00 +02:00
Antonio Scandurra
7250754f8e
Make dispatch_keystroke public to the crate only
2023-05-03 19:13:17 +02:00
Antonio Scandurra
9e8f852afb
Remove ViewContext::is_child
2023-05-03 19:09:07 +02:00
Antonio Scandurra
e9ed40da37
Remove the ability to retrieve the view's parent
2023-05-03 16:52:55 +02:00
Antonio Scandurra
7f137ed3dd
Compute view ancestry at layout time
2023-05-03 16:36:14 +02:00
Antonio Scandurra
7f345f8bf5
Separate Window::build_scene
into layout
and paint
2023-05-03 12:18:16 +02:00
Antonio Scandurra
c3cf9e3185
Merge pull request #2436 from zed-industries/close-window-end-call
...
Move methods querying window state into `AsyncAppContext`
2023-05-03 10:27:05 +02:00
Kirill Bulatov
1398a12062
More keybindings in macOs modals with buttons
...
Closes https://github.com/zed-industries/community/issues/1095
by forcing the non-Cancel button to get a focus.
Due to the way macOs handles buttons on modals, the focus gain had to be
achieved via certain button addition order, rather than conventional
"setFocus"-ish API, see the related comment for details.
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-05-02 21:10:20 +03:00
Antonio Scandurra
70f8cf4cf6
Move methods querying window state into AsyncAppContext
2023-05-02 19:38:48 +02:00
Antonio Scandurra
794446bf8b
Move debug_elements
to AsyncAppContext
...
Previously, `debug_elements` was available on `WindowContext`. If that
method was called while having a borrow out to a view, it would panic because
the view would already have been borrowed.
By moving it to an `AsyncAppContext` we ensure the method can't be called while
a view is being used.
2023-05-02 11:09:40 +02:00
Antonio Scandurra
4c1cba6def
Remove unnecessary Element
impl for RootElement
2023-05-02 10:09:57 +02:00
Antonio Scandurra
6c931ab9da
Inline test-only AppContext
methods
2023-05-01 16:49:17 +02:00
Antonio Scandurra
eb2cce98a7
Move dispatch_action_any_action_at
to AsyncAppContext
2023-05-01 16:40:57 +02:00
Antonio Scandurra
c4472b0786
Remove ViewContext::dispatch_action
2023-05-01 16:27:36 +02:00
Antonio Scandurra
d815fc88ae
Remove ViewContext::dispatch_any_action
2023-05-01 14:24:00 +02:00
Antonio Scandurra
029538fe21
Make dispatch_global_action
private
2023-05-01 11:45:35 +02:00
Antonio Scandurra
106ebeb386
Remove obsolete presenter modules
2023-04-28 17:37:25 +02:00
Antonio Scandurra
489b1f6a63
Merge remote-tracking branch 'origin/main' into simplify-action-dispatch
2023-04-28 17:31:12 +02:00
Antonio Scandurra
1c5376a560
Remove impl_internal_actions
macro
2023-04-28 17:29:57 +02:00
Max Brunsfeld
7258db7a4e
Merge pull request #2417 from zed-industries/hover-markdown
...
Render markdown more correctly in the editor hover popover
2023-04-27 14:15:04 -07:00
Max Brunsfeld
8eb9c6563a
Generalize Text element to let you add arbitrary scene primitives for runs of text
2023-04-27 13:58:06 -07:00
Max Brunsfeld
7960067cf9
Fix bug where Text element would wrap at the right glyph in the wrong run
2023-04-26 15:33:10 -07:00
Max Brunsfeld
1bbcff543b
Add API for adding mouse regions within Text
2023-04-26 12:00:26 -07:00
Antonio Scandurra
6317e885c7
Don't allow strong view handles to be read/updated with an AsyncAppContext
...
This avoids an invitation to hold strong view handles across async await
points, which is a common source of leaks.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-26 13:36:13 +02:00
Antonio Scandurra
689e878bd8
Use a WeakViewHandle
in Client
for view message handlers
2023-04-26 12:21:02 +02:00
Antonio Scandurra
57beec6071
Allow direct read/update of WeakViewHandle
only in AsyncAppContext
2023-04-26 12:20:57 +02:00
Antonio Scandurra
2b6830c798
Remove unnecessary calls to WeakViewHandle::upgrade
2023-04-26 11:13:46 +02:00
Antonio Scandurra
94c2eaad23
Replace ViewContext::spawn
with ViewContext::spawn_weak
2023-04-26 10:23:27 +02:00
Antonio Scandurra
7ca412ade3
Merge remote-tracking branch 'origin/main' into fewer-context-traits
2023-04-26 09:54:58 +02:00
Max Brunsfeld
a7145021b6
Extract a named struct from text_layout::Line's style runs
2023-04-25 14:05:23 -07:00
Max Brunsfeld
ebbe52e6b0
🎨 Specify more dependencies at the workspace level
2023-04-24 17:41:55 -07:00
Max Brunsfeld
abdccf7393
Use a workspace dependency for the futures crate
2023-04-24 09:43:31 -07:00
Antonio Scandurra
c165fb9be5
Remove ReadView
and UpdateView
traits
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-24 17:36:14 +02:00
Antonio Scandurra
a6115d9330
Remove UpdateModel
trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-24 16:52:09 +02:00
Antonio Scandurra
a9417f3d2e
Remove ReadModelWith
trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-24 16:44:54 +02:00
Antonio Scandurra
5f500d34b2
Remove UpgradeModelHandle
trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-24 16:40:30 +02:00
Antonio Scandurra
b8fab6fde9
Remove UpgradeViewHandle
trait
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2023-04-24 16:33:27 +02:00
Nathan Sobo
e6604d1641
Fix missing actions in the command palette
...
Previously, the workspace view was on the stack when we were computing the
available actions, which excluded it. This is a stopgap. We should find a
better solution ASAP.
2023-04-21 15:59:29 -06:00
Nathan Sobo
83bf3d071d
WIP
2023-04-21 15:36:52 -06:00
Nathan Sobo
55db28e074
Eliminate ReadModel trait
2023-04-21 15:05:19 -06:00
Nathan Sobo
5dac95c47c
Eliminate ReadView trait
2023-04-21 15:03:57 -06:00
Nathan Sobo
993dbf86cb
Merge remote-tracking branch 'origin/main' into into-element
2023-04-21 14:27:25 -06:00
Nathan Sobo
c1810e8ec9
Fix formatting
2023-04-21 13:09:36 -06:00
Nathan Sobo
fe492eacbf
Refine naming of element-related types and traits
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-21 13:06:37 -06:00
Antonio Scandurra
03619dfa55
Rename Drawable::boxed to into_element and make containers generic
...
Multi-element are now generic over any drawable child, which can be converted
into an element.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-21 12:43:19 -06:00
Antonio Scandurra
4ac894ffbe
Remove unnecessary lifetime parameter from WindowContext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-21 18:06:53 +02:00
Antonio Scandurra
a860a6cd62
Make App::notify_view
private
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-21 16:50:57 +02:00
Antonio Scandurra
8c7f821d14
Introduce a new WindowContext::remove_window
API
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-21 16:39:53 +02:00
Antonio Scandurra
31e906d068
Avoid double borrow of views on up
and up_out
in DragAndDrop
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-21 16:19:51 +02:00
Antonio Scandurra
c76b9794e4
Merge branch 'main' into window_context_2
2023-04-21 10:58:08 +02:00
Max Brunsfeld
32c57bcd22
Store buffer's diagnostic sets in a smallvec
2023-04-20 08:58:41 -07:00
Antonio Scandurra
0d5eea8169
Track active window id in test platform
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-20 17:22:11 +02:00
Antonio Scandurra
d9bb37c649
Add WindowContext::update_default_global
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-20 17:13:13 +02:00
Antonio Scandurra
c52b6328b7
Merge branch 'main' into window_context_2
2023-04-20 16:01:47 +02:00
Nathan Sobo
5514349b6b
Add Component elements
2023-04-18 22:49:06 -06:00
Joseph T. Lyons
614a9c8977
Merge pull request #2377 from zed-industries/add-tab-tooltips
...
Add tab tooltips
2023-04-18 14:37:38 -04:00
Antonio Scandurra
136e599051
Merge branch 'main' into window_context_2
2023-04-18 17:29:37 +02:00
Antonio Scandurra
31e6bb4fc1
Return Result
from AsyncAppContext::update_view
2023-04-18 12:03:53 +02:00
Antonio Scandurra
493a418c91
WIP
2023-04-17 18:52:48 +02:00
Antonio Scandurra
38ab6b123f
Make production code compile again
2023-04-17 12:33:33 +02:00
Antonio Scandurra
bed94455b9
Avoid calling focus_in
when creating window
...
This is redundant because when creating a window we will receive
an activation event if the window was effectively focused. And if
it wasn't, we shouldn't call `focus_in`.
2023-04-17 11:57:51 +02:00
Joseph Lyons
ebe57254e0
Add tab tooltips
2023-04-15 06:46:14 -04:00
Max Brunsfeld
c329546570
Extract randomized test CI process into a script
2023-04-14 14:25:55 -07:00
Antonio Scandurra
f09e21aa93
WIP: force using (at least) a window context to update views
2023-04-14 17:08:13 +02:00
Antonio Scandurra
a820862165
Take WindowContext
in workspace::ItemHandle
methods
2023-04-14 16:36:23 +02:00
Antonio Scandurra
2652f65bee
Fix handle_window_activation_effect
updating the wrong view
2023-04-14 12:33:13 +02:00
Antonio Scandurra
98dce89379
Pass WindowContext
to ViewHandle::is_focused
2023-04-14 12:12:08 +02:00
Antonio Scandurra
74ca223114
Fix formatting for the entire workspace
2023-04-14 12:08:33 +02:00
Antonio Scandurra
33bc47dbe2
Merge branch 'main' into window_context_2
2023-04-14 12:07:09 +02:00
Antonio Scandurra
183b9ef809
Make full-screen and window bounds callbacks take a WindowContext
2023-04-14 11:56:31 +02:00
Antonio Scandurra
7394bf1cdc
Fix most of the warnings
2023-04-14 10:51:53 +02:00
Antonio Scandurra
5666e8301e
Log an error when a scene fails to build
2023-04-14 10:32:56 +02:00
Antonio Scandurra
9ef79735dc
Move more window-specific methods from AppContext
to WindowContext
2023-04-14 10:29:35 +02:00
Antonio Scandurra
c62357db02
Fix window activation
2023-04-14 08:24:01 +02:00
Antonio Scandurra
84d2605ccf
Avoid passing cx
when emitting from CallbackCollection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-13 16:53:44 +02:00
Antonio Scandurra
ff774786bf
Reimplement AppContext::handle_focus_effect
2023-04-13 16:21:39 +02:00
Antonio Scandurra
4900e04ff3
Fix window refreshing
2023-04-13 12:19:11 +02:00
Antonio Scandurra
702c4ce403
Uncomment List
tests and fix related problems in WindowContext
2023-04-13 12:01:18 +02:00
Nathan Sobo
b89c4e06be
WIP: Compiling, many warnings, haven't tested
2023-04-12 12:54:24 -06:00
Nathan Sobo
4cb13fb39c
WIP
2023-04-12 12:22:26 -06:00
Nathan Sobo
a25f962185
WIP
2023-04-12 12:13:35 -06:00
Nathan Sobo
40896352ff
wip
2023-04-12 10:28:53 -06:00
Nathan Sobo
868301bedb
WIP
2023-04-12 10:07:17 -06:00
Antonio Scandurra
83070a19c4
WIP
2023-04-12 15:55:43 +02:00
Nathan Sobo
b54f08db77
WIP
2023-04-12 06:51:03 -06:00
Nathan Sobo
d9e4136b02
WIP
2023-04-11 21:56:37 -06:00
Nathan Sobo
e6cc132b19
WIP
2023-04-11 18:48:00 -06:00
Nathan Sobo
e115baa60c
WIP
2023-04-11 18:21:56 -06:00
Antonio Scandurra
9e6d865882
Prevent already dropped model from being upgraded during release
2023-04-11 10:43:05 +02:00
Nathan Sobo
3de8fe0f87
WIP
2023-04-10 17:27:47 -06:00
Nathan Sobo
6638407ff9
WIP: Everything shredded
2023-04-10 16:10:32 -06:00
Antonio Scandurra
016343e65d
Merge branch 'main' into randomized-tests-operation-script
2023-04-10 08:45:22 +02:00
Nathan Sobo
7536645eea
WIP
2023-04-08 08:01:05 -06:00
Nathan Sobo
9d23a98157
WIP
2023-04-08 06:43:39 -06:00
Nathan Sobo
2186de38ab
Merge AppContext impl blocks
2023-04-07 11:54:08 -06:00
Nathan Sobo
2615a11f7c
Don't export platform::* from gpui
...
I'd like to avoid cluttering the top-level namespace with all the platform-
specific types.
2023-04-07 11:45:53 -06:00
Nathan Sobo
de9bf6dfbd
Merge MutableAppContext into AppContext
...
There may have been a good reason for the difference at some point, or I was
still learning Rust. But now it's just &mut AppContext vs &AppContext.
2023-04-06 15:49:03 -06:00
Max Brunsfeld
1064b14779
Don't use TestPlan's rng in fake LSP handlers
...
These should use the test context's rng, so that they behave the same whether
a pre-recorded plan was used, or the plan is being generated.
2023-04-05 17:50:04 -07:00
Max Brunsfeld
2d63ed3ca4
Merge branch 'main' into randomized-tests-operation-script
2023-04-05 17:10:20 -07:00
Julia
6e3bf7fed4
Hesitant possible fix for lock screen crash
...
This may cause issues in this situations but as I cannot repro this I'm
making the call to try something and see how it plays out
2023-04-05 14:01:54 -04:00
Julia
77bb52f72c
Prioritize displaying right statusbar items overtop left items if needed
2023-04-05 12:08:52 -04:00
Antonio Scandurra
79d5bb45dc
Clear Copilot suggestions when it gets disabled from the settings
2023-04-04 10:45:56 +02:00
Max Brunsfeld
7b0a6c0dfa
Add an 'on_failure' attribute to gpui tests
...
This lets us perform a finalization step when a randomized test fails.
2023-04-03 18:16:08 -07:00
Max Brunsfeld
c960277349
Merge branch 'main' into randomized-tests-operation-script
2023-04-03 13:09:25 -07:00