K Simmons
6bc17cc9a4
Fix remaining test failures
2022-09-13 13:17:49 -07:00
Antonio Scandurra
97ccb16c97
Rework status bar item to use a custom view
2022-09-13 16:20:34 +02:00
Antonio Scandurra
b3dd09a0f2
🎨
2022-09-13 14:50:18 +02:00
Antonio Scandurra
a34eaa3606
Pass reused
parameter to Presenter::dispatch_event
for status items
2022-09-13 14:49:49 +02:00
Antonio Scandurra
11d47f5c72
Use a transparent layer for status bar
...
This allows the compositor to blend the GPUI view with the background.
2022-09-13 14:11:50 +02:00
Antonio Scandurra
a9c2881831
Set contents scale and drawable size when creating status metal layer
2022-09-13 14:11:50 +02:00
Antonio Scandurra
2acd215bb8
Wire up event handling for status items
2022-09-13 14:11:50 +02:00
Antonio Scandurra
6578af6f3b
WIP: Start rendering GPUI views to macOS status bar
2022-09-13 14:11:48 +02:00
Antonio Scandurra
f50c6af001
Encapsulate metal layer into Renderer
2022-09-13 14:10:13 +02:00
Antonio Scandurra
e803dd9f72
Remove platform::WindowContext
trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
1c810d7e8d
WIP: Show status bar item with a backing metal layer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
2b9fe0a2e6
WIP
2022-09-13 14:10:13 +02:00
Antonio Scandurra
c03300df29
WIP: Start on App::add_status_bar_item
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
21c91a29e7
Add the ability to hide the titlebar when creating windows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
ca618b02b6
Render surfaces correctly when encoded in 420YpCbCr8BiPlanarFullRange
2022-09-13 14:10:13 +02:00
Antonio Scandurra
d407f521db
WIP: render screen-sharing frames
2022-09-13 14:10:13 +02:00
Antonio Scandurra
a02e388ea2
Honor scale factor when rendering
2022-09-13 14:10:13 +02:00
Antonio Scandurra
fcf6aa15eb
Return results for fallible media APIs
2022-09-13 14:10:13 +02:00
Antonio Scandurra
79a7a0e0e7
Capture screen in BGRA8 and render it in capture
example app
2022-09-13 14:10:13 +02:00
Nathan Sobo
37da841716
Start on using CVMetalTextureCache
2022-09-13 14:10:13 +02:00
Nathan Sobo
531ffc01c9
Pass CVImageBuffers into GPUI instead of IOSurfaces
2022-09-13 14:10:13 +02:00
Nathan Sobo
0430bbf7d9
WIP: Start on Renderer::render_surfaces but really it's nothing
2022-09-13 14:10:13 +02:00
Antonio Scandurra
c4110edb78
Extract io_surface
crate and invoke custom callback on frame sample
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
e12eaf8c58
Start on Scene::push_surface
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
30a3c0fb46
WIP
2022-09-13 14:10:13 +02:00
Antonio Scandurra
45519cdd27
WIP
2022-09-13 14:10:13 +02:00
Nathan Sobo
7918bf39f5
Make capture example its own crate
2022-09-13 14:10:13 +02:00
Nathan Sobo
ad0f75f386
Add capture example to GPUI
...
Added a linker arg to the GPUI build script. Not sure if we'll want to bake
this into GPUI or do it via another crate, but this is convenient for
exploration for now.
2022-09-13 14:10:13 +02:00
K Simmons
df59b28aaf
Extract panel resize code from sidebar into Resizable element
...
Make resizable work in vertical axis
Make dock resizable
Have dock preserve size based on Anchor position
Make pane buttons work more correctly in pathological cases
Sync status bar dock button with dock visibility/anchor position
Co-Authored-By Mikayla Maki <mikayla@zed.dev>
2022-09-12 18:32:15 -07:00
Mikayla Maki
31a3fdb23e
Started to make the dock better, major issue's resizing child elements
2022-09-12 14:53:26 -07:00
K Simmons
f2b72eb6d2
WIP working on resizable dock
2022-09-12 14:24:57 -07:00
K Simmons
444417203b
Move workspace overlay elements into an actual overlay in order to get proper stacking context depths
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:34:12 -07:00
K Simmons
6b26965074
Permanent fix to repeat MouseRegion Tag failure in Workspace
...
Polish tab bar buttons
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:34:10 -07:00
K Simmons
69ecbb644d
DOCK WORKING!
...
Update editor element to use mouse regions instead of dispatch event for mouse events
Fix bug in presenter where mouse region handlers were stored on click and called instead of more up to date handlers from subsequent renders
Changed MouseRegion to require discriminants in all cases
Add scroll wheel event to MouseRegion
Polished a bunch of dock inconsistencies
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:32:20 -07:00
K Simmons
28965dc5b6
Make MouseRegion Click handlers, also handle Down events by default.
2022-09-11 14:19:35 -07:00
Mikayla Maki
d189972a0d
Merge branch 'terminal-scrolling-sensitivity' into terminal-polishing
2022-09-02 15:48:49 -07:00
Mikayla Maki
1502c19208
Polished scrolling significantly
2022-09-02 15:47:35 -07:00
Mikayla Maki
7730039e31
Sketched out program manager API
2022-09-01 20:07:30 -07:00
K Simmons
227cc66594
Simulate mouse up if mouse was released outside window, don't report dragged payload if it was dragged from a different window
2022-08-31 14:06:38 -07:00
K Simmons
3cc07c1099
Fix some drag and drop issues including the mouse cursor not being locked to pointer, tooltips being incorrect when a dragged tab is used, and some subscription leaks from panes
2022-08-26 15:43:15 -07:00
K Simmons
042ece00b1
Drag and drop tabs working. all known bugs fixed
2022-08-25 11:14:24 -07:00
K Simmons
de3acbd75b
Introduce ReorderBehavior to pane, and address drag and drop offset error
2022-08-23 15:41:59 -07:00
K Simmons
13e9336049
Merge branch 'main' into drag-and-drop
2022-08-22 17:18:29 -07:00
K Simmons
e44536344a
Removed EventHandler from workspace in favor of mouse event handler
2022-08-22 16:49:14 -07:00
K Simmons
0f43ef9331
Dispatch Event refactoring. Appears to be workingCo-Authored-By: nathan@zed.dev
2022-08-22 16:16:40 -07:00
K Simmons
b97940be9b
more wip but currently beach balling
2022-08-22 16:16:39 -07:00
K Simmons
3fb4e6356c
Rework presenter dispatch_event to allow isolated propogation of individual MouseRegionEvent types Co-Authored-By: mikayla@zed.dev
2022-08-22 16:16:39 -07:00
K Simmons
0d6125889f
WIP
2022-08-22 16:16:39 -07:00
K Simmons
ab9f073443
fixed merge errors
2022-08-22 16:16:39 -07:00
K Simmons
133c194f4a
wip tab drag and drop
2022-08-22 16:16:39 -07:00
K Simmons
86fdd55fd4
Combined presenter mouse region event dispatching and added support up_out, and drag_over
2022-08-22 16:16:39 -07:00
K Simmons
a650c146f1
more event wip
2022-08-22 16:16:39 -07:00
K Simmons
53add253b6
wip new mouse region events
2022-08-22 16:16:39 -07:00
Mikayla Maki
1de68a724c
Debugged mouse reporting for now. Remaining bugs are GPUI level bugs
2022-08-19 15:11:49 -07:00
Mikayla Maki
9f9bafd2a7
Merge branch 'terminal-mouse' of github.com:zed-industries/zed into terminal-mouse
2022-08-19 13:04:34 -07:00
Mikayla Maki
efd3247ce4
Added modifiers to scroll wheel eevent
2022-08-19 12:10:12 -07:00
Mikayla Maki
cb0bd340b9
Merge branch 'main' into terminal-mouse
2022-08-18 17:41:19 -07:00
Mikayla Maki
37ca7a6658
Half way done with mouse reporting
2022-08-18 17:37:24 -07:00
Julia
1f7db46d98
Merge pull request #1537 from zed-industries/fix-goto-links-with-selections
...
Fix goto links with selections
2022-08-18 18:49:21 -04:00
ForLoveOfCats
b8b951deab
Clear last-mouse-moved pressed button when that button gets a mouse-up
...
This fixes an annoying issue where if the last mouse moved event was
during a drag it would never trigger mouse cursor changes until next
mouse move reset it. It makes sense to continue to not change the cursor
while the button is pressed so instead this tracks when the mouse button
is released in order to update the mouse move event
2022-08-18 18:34:01 -04:00
Mikayla Maki
0fef72ac5f
Merge pull request #1524 from zed-industries/ime-finalize
...
IME Changes: Tracking PR
2022-08-18 13:27:30 -07:00
Mikayla Maki
6652d41864
Fixed cursor blinking, added other cursor shape rendering
2022-08-18 11:28:18 -07:00
Antonio Scandurra
06f9516d31
Fix crash when closing a window while in full-screen mode
...
This commit delays closing the native window to the next tick to
avoid borrowing either `WindowState` or `MutableAppContext` twice.
2022-08-18 14:59:17 +02:00
Antonio Scandurra
75c9b90c76
Add failing unit test for buffer opening cancellation
2022-08-17 11:55:34 +02:00
Antonio Scandurra
da805b3d13
Merge pull request #1526 from zed-industries/crash-on-file-prompt-with-japanese-keyboard-layout
...
Fix crash when attempting to show file prompt while using Japanese keyboard layout
2022-08-17 09:56:09 +02:00
Mikayla Maki
1f82c0c8bf
Repeat key problems fixed.
2022-08-16 23:00:09 -07:00
Mikayla Maki
2f2e5506ce
Merged main into ime-finalize
2022-08-16 22:57:07 -07:00
Mikayla Maki
aa75fbe56c
Fix panic on main
2022-08-16 22:36:24 -07:00
Mikayla Maki
94ba282e76
Checkpoint, alt-n l is very broken. Bisecting.
2022-08-16 22:12:06 -07:00
Max Brunsfeld
e4eead6477
Fix crash when attempting to show file prompt while using Japanese keyboard layout
2022-08-16 17:44:58 -07:00
Mikayla Maki
18dc12218f
Begin work on IME changes
2022-08-16 13:01:35 -07:00
Antonio Scandurra
b94366ab90
Add zed::ToggleFullScreen
bound to ctrl-cmd-f
2022-08-15 11:53:37 +02:00
Mikayla Maki
e2200109e6
Make clippy happy
2022-08-11 15:47:56 -07:00
Mikayla Maki
804c4c512b
Merge branch 'main' into ime-stuff
2022-08-11 15:35:42 -07:00
K Simmons
42c01c5b10
minor rustfmt fix
2022-08-11 11:35:11 -07:00
ForLoveOfCats
8ba2f77148
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
K Simmons
d68f227ec4
Fix failing tests
2022-08-10 16:26:53 -07:00
K Simmons
6f180ed822
Pane focus working. Modals seem broken now
2022-08-09 17:15:54 -07:00
K Simmons
690ea57211
WIP compiling but failing with circular reference
2022-08-09 17:15:52 -07:00
K Simmons
6442ec59e7
Switch action dispatch to use MutableAppContext parent utilities and delete parent map from presenter
2022-08-09 17:09:28 -07:00
K Simmons
4271eb3624
Event dispatch moved to MutableAppContext. No longer dispatches from presenter. Not currently handling key presses properly
2022-08-09 17:09:16 -07:00
Mikayla Maki
45c0539de0
changed name of subscription mapping and moved out to file
...
Co-authored-by: Keith <keith@zed.dev>
2022-08-09 16:59:13 -07:00
Mikayla Maki
1044b7d7d2
checkpoint, no idea what's happening
2022-08-09 16:15:53 -07:00
ForLoveOfCats
3d9821b430
Jankily adjust left padding on workspace title in fullscreen
...
This could seriously be done better
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:32 -04:00
ForLoveOfCats
43b9f3beb3
Invalidate view when entering/exiting fullscreen
...
This is required for `render_titlebar` to eventually adapt to
fullscreen status to affect the size of left padding on workspace
name to account for the traffic lights presence/absence
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:32 -04:00
ForLoveOfCats
46fef69b1a
Refactor notification/observation callback pattern in MutableAppContext
...
Pull out duplicate code and clarify some misc behavior. Some of this
existing API feels like it's probably incorrect but that needs more
thorough investigation
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:25 -04:00
ForLoveOfCats
ab760493cf
Route whether or not a window is fullscreen down into GPUI
...
This still needs to be able to invalidate things to be useful
but it's a good first cut at just making the information available
to platform-agnostic code
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:12 -04:00
Max Brunsfeld
6e76bd32da
Merge pull request #1462 from zed-industries/crash-on-goto-diagnostic
...
Fix two crashes related to diagnostics and bugs in mouse-based columnar selection
2022-08-03 12:04:56 -07:00
Max Brunsfeld
096f4693d3
Fix crash and wrong columnar selection when mousing over block lines
2022-08-03 10:19:06 -07:00
Antonio Scandurra
7cbf76ce80
Implement default macOS menu items
...
- `Zed -> Hide`, bound to `cmd-h`
- `Zed -> Hide Others`, bound to `alt-cmd-h`
- `Zed -> Show All`
- `Window -> Minimize`, bound to `cmd-m`
- `Window -> Zoom`
2022-08-03 15:13:30 +02:00
ForLoveOfCats
2c70583ef0
Add cmd+shift+click
action for triggering go to type definition
2022-07-29 17:00:07 -04:00
Antonio Scandurra
6a718dc4da
Don't insert input when the fn
key is held
2022-07-27 12:01:44 +02:00
Antonio Scandurra
d3f14fb1c2
Dispatch application menu events if custom key equivalent wasn't found
2022-07-27 11:46:47 +02:00
Antonio Scandurra
fe7ba09d52
Honor shift when converting keystroke to native key equivalent
2022-07-27 09:28:56 +02:00
Max Brunsfeld
ea82b9353d
Log instead of showing an alert when exiting due to no GPU
...
Showing the alert resulted in a panic because tasks
dispatched to the app's main GCD queue continue
to run even while the alert is displayed.
2022-07-25 16:13:28 -07:00
Max Brunsfeld
ab037fe844
Simulate calling of text-insertion APIs in TestAppContext::dispatch_keystroke
2022-07-25 12:20:12 -07:00
Max Brunsfeld
a54d9f1697
Add comment about noop performKeyEquivalent function
2022-07-25 11:42:54 -07:00
Antonio Scandurra
acdfb933e8
Honor shift if pressing command switches keyboard
2022-07-25 11:01:38 +02:00
Antonio Scandurra
7b009c8bbe
Merge branch 'main' into ime-support-2
2022-07-22 16:03:38 +02:00
Antonio Scandurra
2bfa3b9006
Synthesize CGEvents instead of using charactersByApplyingModifiers
2022-07-22 15:51:34 +02:00
Antonio Scandurra
622596619c
Honor ⌘ when Dvorak-QWERTY is used
2022-07-22 14:52:24 +02:00
Antonio Scandurra
136550de9f
Discard shift
when it causes keyboard to output a different character
2022-07-22 08:15:44 +02:00
Keith Simmons
9286e5ea04
Merge pull request #1396 from zed-industries/better-empty-pane
...
Fix Pane Focus Issues
2022-07-21 15:07:03 -07:00
Max Brunsfeld
6d264502b2
Remove print statements
2022-07-21 13:44:58 -07:00
Max Brunsfeld
7c575990be
Remove the set_selected_text_range method from the InputHandler trait
2022-07-21 12:22:12 -07:00
Antonio Scandurra
509f54bf20
Don't dispatch keydown event if editor is still composing
2022-07-21 17:37:32 +02:00
Antonio Scandurra
97ce3998ec
Position IME input according to where the selection is rendered
2022-07-21 17:35:40 +02:00
Antonio Scandurra
3c5d7e001e
Always mark keydown events as handled to suppress beep
2022-07-21 15:53:21 +02:00
Antonio Scandurra
3d6c257551
🎨
2022-07-21 14:39:22 +02:00
Antonio Scandurra
b2f2c5b055
Handle keydown event even when charactersIgnoringModifiers
is empty
...
This allows the input system to work in the presence of dead keys.
2022-07-21 14:36:47 +02:00
Antonio Scandurra
101a0663d3
Remove input
from KeyDownEvent
2022-07-21 14:29:27 +02:00
Antonio Scandurra
f170582c26
Remove println
statements from NSTextInputClient protocol functions
2022-07-21 13:51:31 +02:00
Antonio Scandurra
a4ceae3cf2
Remove unused {cancel,finish}_composition
methods
2022-07-21 13:48:56 +02:00
Antonio Scandurra
481078ae22
Restructure IME composition to not follow Chromium so closely
2022-07-21 13:41:55 +02:00
Antonio Scandurra
b02681ee8a
Treat NSTextInputClient ranges as UTF-16
2022-07-21 13:41:35 +02:00
Antonio Scandurra
eda60effed
Honor setting the selected range in addition to marking text
2022-07-21 08:57:20 +02:00
K Simmons
225055ed5d
Address some issues where panes don't get focused properly, make the focused pane more obvious, and prevent splitting of the pane with no items
2022-07-20 18:52:32 -07:00
Max Brunsfeld
0b81a4dfae
Call methods on the focused view during input events
2022-07-20 16:44:26 -07:00
Max Brunsfeld
1b0e93b153
Change interpretation of marked_text and edit when handling input
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev
2022-07-20 09:53:49 -07:00
Antonio Scandurra
42ac4bf9fc
WIP
2022-07-20 18:06:29 +02:00
Antonio Scandurra
2ea0b89e7c
WIP
2022-07-20 15:07:09 +02:00
K Simmons
1cfaac1bc5
Fix clipping when dragging the mouse with vim-mode enabled and adjust single line editor selections
2022-07-19 17:18:17 -07:00
Keith Simmons
c2868a39e8
Merge pull request #1388 from zed-industries/mouse-region-refactor
...
Mouse Region Refactor
2022-07-19 16:50:12 -07:00
Antonio Scandurra
7757fbe241
Implement NSTextInputClient
protocol on window using no-ops
2022-07-19 14:52:02 +02:00
Antonio Scandurra
456a390166
Add character palette menu item
2022-07-19 14:51:57 +02:00
Max Brunsfeld
7998771d9f
Avoid panic when unable to access a GPU
...
This will remove noise from our panic logs.
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-07-18 14:13:12 -07:00
K Simmons
deeefed7eb
Change mouse_event_handler to use HandlerSet
2022-07-18 10:08:14 -07:00
K Simmons
ec25fa9260
Extract handler set from MouseRegion
2022-07-18 09:54:48 -07:00
K Simmons
8add81350e
Rework presenter and MouseRegion to use Handler hashmap rather than individual fields
2022-07-17 23:19:32 -07:00
Antonio Scandurra
8e2e5b5cf0
Don't borrow window state mutably until we need to invoke resize callback
2022-07-13 10:38:34 +02:00
Antonio Scandurra
c53fa4941a
Ensure no borrows are held when activating window or creating prompts
2022-07-13 10:37:55 +02:00
Antonio Scandurra
d4e0f73ffe
Drop window borrow before calling makeKeyAndOrderFront
...
We're seeing some stack traces where calling `makeKeyAndOrderFront`
could invoke `setFrameSize`, which is causing a double borrow.
2022-07-13 10:19:46 +02:00
Mikayla Maki
41e83b6be2
Fixes terminal launch issues and adds tests for queries
2022-07-12 17:45:11 -07:00
Keith Simmons
8d34fe7e94
Refactor terminal connection into a model which can be copied between terminal views
...
Refactor terminal modal code to use TerminalConnection model handle so we aren't storing TerminalViews in the globals
Adjust INSTANCE_BUFFER_SIZE in renderer to handle pathological terminal renders
Co-authored-by: mikayla.c.maki@gmail.com
2022-07-08 16:10:09 -07:00
Mikayla Maki
e628b49dfd
First pass at selections complete
2022-07-07 17:31:38 -07:00
Mikayla Maki
be94f614a7
fix merge conflicr
2022-07-07 17:24:55 -07:00
Mikayla Maki
ca877245be
Finished merge of drag update
2022-07-07 16:12:24 -07:00
Mikayla Maki
bbd0c0d44d
Merge branch 'main' into gpui-changes
2022-07-07 16:08:32 -07:00
Mikayla Maki
9fd2bf2fa1
Updated drag API to pass old,new, instead of delta,new
2022-07-07 16:07:24 -07:00
Nathan Sobo
805c06ee76
Merge pull request #1298 from zed-industries/mouse-region-refactor
...
Mouse Event Refactor
2022-07-07 16:43:36 -06:00
Mikayla Maki
2a6e23ff28
Hoisted assert clipboard into TestAppContext
2022-07-07 14:55:25 -07:00
Mikayla Maki
9b6167aad8
added inline hint
2022-07-07 14:51:34 -07:00
Mikayla Maki
2c6dcb82ef
GPUI change proposals
2022-07-07 14:51:34 -07:00
Mikayla Maki
1cfe8688ca
Merge pull request #1304 from zed-industries/deploy-panic
...
Fixed working directory issues, added tests.
2022-07-07 12:14:57 -07:00
Mikayla Maki
02525c5bbe
Added a way to change the timeout with state
2022-07-07 12:04:17 -07:00
Mikayla Maki
baa011ccf4
added inline hint
2022-07-06 17:57:32 -07:00
Mikayla Maki
b2fa511acd
GPUI change proposals
2022-07-06 17:52:20 -07:00
Keith Simmons
c139f1e6b6
combine branches of events in from_native
2022-07-06 16:59:58 -07:00
Keith Simmons
bcb553f233
Combine platform mouse events to use common MouseEvent struct and remove MouseDragged event in favor of MouseMoved
2022-07-06 16:37:56 -07:00
Keith Simmons
686e57373b
pull event data out into individual Event structs
2022-07-06 15:36:42 -07:00
Antonio Scandurra
980730a4e1
Report whether a view was focused or blurred when observing focus
2022-07-06 15:53:40 +02:00
Mikayla Maki
342d38a9fb
Working on grid rendering
2022-07-05 15:10:34 -07:00
Antonio Scandurra
a5c39acf4c
Always finish previous autosave before starting a new one
2022-07-05 17:51:01 +02:00
Antonio Scandurra
d43e8b270a
Add unit test for ViewContext::observe_window_activation
2022-07-05 17:51:01 +02:00
Antonio Scandurra
d589017a80
Add ViewContext::observe_window_activation
2022-07-05 17:51:01 +02:00
Antonio Scandurra
7a6010e7dc
Fix unsafe memory access when converting entity handles
2022-07-05 17:50:57 +02:00
Max Brunsfeld
6f49f4a9cf
Recalculate Metal layer's drawable size when window's scale factor changes
2022-07-04 15:14:08 -07:00
Antonio Scandurra
9a6092dd1b
Support hitting enter on numpad
2022-07-04 10:01:56 +02:00
Antonio Scandurra
d3b9eca791
Merge branch 'main' into user-timeline
2022-07-04 09:23:16 +02:00
Mikayla Maki
62939322d3
rendering cursor correctly
2022-07-01 13:03:26 -07:00
Mikayla Maki
2ee57c1512
Merge pull request #1255 from zed-industries/terminal-fr
...
WIP: Terminal
2022-06-30 11:30:28 -07:00
Keith Simmons
c9d23dba6c
Update command palette filter from vim mode more proactively
2022-06-29 11:58:12 -07:00
Antonio Scandurra
7bae759a02
Send extension counts when metadata changes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-29 17:58:11 +02:00
Mikayla Maki
e3834409dd
Fixed focus issues with scrolling and input
2022-06-28 18:28:13 -07:00
Keith Simmons
f6292437fa
Add command palette filter global and update it when vim mode is enabled/disabled
2022-06-28 13:35:43 -07:00
Keith Simmons
a477733bcb
Address hover panic and add hint to install go when language server failed to install
2022-06-27 15:48:15 -07:00
Keith Simmons
92ab107fc9
working jump to definition with tests
2022-06-24 15:09:31 -07:00
Keith Simmons
848445455d
Working underline based on symbol origin
2022-06-24 15:05:35 -07:00
Antonio Scandurra
a21dbdd0d6
Update window edited status when pane item is removed
2022-06-23 14:28:10 +02:00
Antonio Scandurra
2dae0ddcdb
Add test to verify closing window via the mouse
2022-06-23 14:18:53 +02:00
Antonio Scandurra
06033d7fa9
Introduce ViewContext::on_window_should_close
...
This is a new callback that can be used to interrupt closing the window
when the user has unsaved changes.
2022-06-23 11:43:19 +02:00
Antonio Scandurra
ca8ddcdeec
Set window's edited = true
when there are unsaved changes
2022-06-23 10:59:50 +02:00
Antonio Scandurra
01349e1d42
Fix panic when Text
contained carriage returns
2022-06-23 10:21:21 +02:00
Max Brunsfeld
36f8c68099
Remove redundant run_until_parked call in Foreground::advance_clock
2022-06-22 14:43:21 -07:00
Antonio Scandurra
9b521d6097
Use Arc<Deterministic>
to understand which await points are parking
2022-06-22 17:39:34 +02:00
Antonio Scandurra
c90e8c08a6
Accept a datetime range when querying project activity
2022-06-21 14:03:10 +02:00
Antonio Scandurra
a35d7c5e15
Use BOOL
instead of Rust booleans in handle_key_equivalent
2022-06-17 17:19:18 +02:00
Antonio Scandurra
8f6d081de8
Override performKeyEquivalent
to handle key events
...
This lets us bypass the application menu and invoke the event handler
in Zed first. If that doesn't handle the event, the application menu
item corresponding to the shortcut will be actioned. Prior to this
commit the opposite would happen, which would dramatically limit the
throughput at which we could handle events.
2022-06-17 17:12:56 +02:00
Antonio Scandurra
607903eed5
Return true in the Window::on_event
callback if event was handled
2022-06-17 17:09:16 +02:00
Max Brunsfeld
2c61bc2b1f
Always use capital letters when rendering a keystroke
2022-06-16 17:48:10 -07:00
Max Brunsfeld
a3b17ffd15
Allow creating application menus with submenus
2022-06-16 17:47:39 -07:00
Antonio Scandurra
516bd13474
Add tooltip to follow collaborators
2022-06-15 17:08:39 +02:00
Antonio Scandurra
8a146e49ca
Use a different fit mode for tooltips
2022-06-15 16:45:04 +02:00
Keith Simmons
dddfc7beae
Add hover test and tweak dismiss logic
2022-06-09 17:03:45 -07:00
Antonio Scandurra
ea8b5016f7
Snap overlay's bottom/right edge to same window's edge on overflow
2022-06-09 13:48:02 +02:00
Antonio Scandurra
0408a8259e
Add ModelContext::observe_global
2022-06-09 10:05:00 +02:00
Antonio Scandurra
a26af194e7
Use visible bounds to determine hit bounds for cursor/mouse regions
2022-06-08 10:17:22 +02:00
Keith Simmons
a6c0ee472c
Add vim bindings for hover
...
Allow scrolling in hover popover
2022-06-07 13:07:53 -07:00
Antonio Scandurra
c22aedfe69
Fix tests
2022-06-06 09:29:42 +02:00
Antonio Scandurra
22dd68fbfb
Add keystroke for menu item only when action is equal to binding
...
This fixes a bug where we would show `cmd-e` instead of `cmd-f` for
`Edit -> Find` because both bindings would have the `buffer_search::Deploy`
action and we were mistakenly selecting the former.
2022-06-06 09:26:33 +02:00
Antonio Scandurra
3a69943df3
Require that PartialEq
is implemented for Action
2022-06-06 09:18:44 +02:00
Antonio Scandurra
74aa9c1320
Capture mouse events when rendering disconnected overlay
...
We do so by replacing `EventHandler::capture` with a new `::capture_all` method.
After switching to mouse regions as part of zed-industries/zed#1081 , overriding
`dispatch_event` on `EventHandler` wasn't enough anymore because mouse interactions
take place on a privileged code path that runs *before* dispatching any event.
With this change, `EventHandler` will now push a mouse region that intercepts all
mouse interactions, as well as pushing a cursor region that resets the cursor style
to `Arrow`.
One interesting change as part of this is that we've removed the ability to see which
event we are capturing: we were not using this capability anyway and `capture_all` provides
a simpler interface, so I went with that. In the future, we can opt into capturing specific
events or mouse interactions if there's a code path that needs that.
2022-06-04 10:41:29 +02:00
Max Brunsfeld
724affc442
Upgrade deps to avoid multiple versions of transitive deps
...
* env_logger
* prost-build
* bindgen
2022-06-02 17:38:33 -07:00
Max Brunsfeld
8d46edd26c
Avoid holding RefCell borrow while calling TestAppContext::spawn callback
2022-06-02 17:29:11 -07:00
Max Brunsfeld
7ef9de32b1
Show private projects in the contacts panel
...
Introduce a ProjectStore that lets you iterate through all open projects.
Allow projects to be made public by clicking the lock.
2022-06-02 17:29:11 -07:00
Antonio Scandurra
701e2090cd
Align context menu to fit within the window bounds
2022-06-02 09:47:06 +02:00
Antonio Scandurra
cc028cca78
Simplify usage of tooltip
...
Now you simply specify a text, an action and a style and GPUI will
take of rendering it properly. This is simpler compared to always
providing a custom element and should make tooltip more consistent
across the UI.
2022-06-02 09:12:50 +02:00
Antonio Scandurra
0e1307fb23
📝
2022-06-01 10:18:10 +02:00
Antonio Scandurra
238827642a
Align tooltip based on the available window space
2022-06-01 10:03:46 +02:00
Antonio Scandurra
982de971fa
Introduce a new Tooltip
element and a with_tooltip
helper
2022-06-01 09:55:25 +02:00
Antonio Scandurra
94fc28b29d
WIP: start on tooltips
2022-05-31 19:00:44 +02:00
Antonio Scandurra
339069b1d3
Cap MessageStream
buffer size to 1MB
...
We temporarily let it grow when the message size exceed the limit,
but restore the buffer's capacity shortly after. This ensures that,
for each connection in its entire lifetime, we only ever use 1MB.
2022-05-31 11:16:32 +02:00
Antonio Scandurra
34bf248614
Avoid notifying views that have been removed
2022-05-31 10:36:10 +02:00
Antonio Scandurra
e067212ad4
Always re-render visible elements in List
2022-05-31 09:52:44 +02:00
Antonio Scandurra
0fd47da880
Prevent mouse down events from piercing through overlays
2022-05-31 09:34:37 +02:00
Antonio Scandurra
f832c0074f
Fix memory leak in ListState
2022-05-30 18:29:51 +02:00
Antonio Scandurra
20e1044d49
Merge branch 'main' into project-panel-with-new-mouse-events
2022-05-30 18:29:46 +02:00
Antonio Scandurra
6c145b2abc
Show keystrokes as uppercase
2022-05-30 12:23:03 +02:00
Antonio Scandurra
2b9015c096
Introduce {MutableAppContext,ViewContext}::observe_actions
2022-05-30 10:01:23 +02:00
Antonio Scandurra
e7ab61d125
Dismiss context menu when (right-)mousing down outside of it
2022-05-28 08:51:46 +02:00
Antonio Scandurra
fb26f8195b
Sort mouse regions by their stacking context's depth
2022-05-28 08:45:10 +02:00
Nathan Sobo
44c8ee5709
Add mouse down out handlers
...
These will fire whenever the left/right mouse button is pressed down outside a specific region. I'll use these to cancel the context menu in the next commit.
2022-05-27 12:56:44 -06:00
Keith Simmons
48abbb7e63
Merge pull request #1019 from zed-industries/vim-visual-line-mode
...
Vim visual line mode
2022-05-27 11:22:56 -07:00
Nathan Sobo
9909fc529b
Allow context menu to be cancelled after deploying it twice
...
Previously, two right clicks would cause an issue with cancelling the context menu via escape.
2022-05-27 12:00:11 -06:00
Nathan Sobo
c3baf2748f
Block hovering behind overlays
2022-05-27 11:54:51 -06:00
Max Brunsfeld
04bd57b2c7
Add an API for setting a window's title
...
This controls how the window appears in the Window menu.
2022-05-27 10:45:55 -07:00
Nathan Sobo
5413a97c7e
Restrict multiple hovered regions to a single stacking context
...
We won't hover regions from stacking contexts that are below the one being hovered.
2022-05-27 11:09:07 -06:00
Antonio Scandurra
9099c40364
Merge branch 'mouse-events' into project-panel-context-menu
2022-05-27 12:07:00 +02:00
Antonio Scandurra
be0e66ef21
Invoke mouse_down
and right_mouse_down
callbacks
2022-05-27 11:20:39 +02:00
Antonio Scandurra
7c7917494c
Don't dispatch events down the tree if they were handled by mouse region
2022-05-27 11:20:32 +02:00
Antonio Scandurra
1d7fc12229
Add right-click support to MouseEventHandler
2022-05-27 10:47:54 +02:00
Antonio Scandurra
307eb1726c
Compute dispatch path based on the view id that dispatched the action
2022-05-27 09:59:24 +02:00
Nathan Sobo
aedfd74d30
Use the hit bounds when painting mouse regions
2022-05-26 20:05:20 -06:00
Nathan Sobo
893f15ddab
Switch MouseEventHandler to use MouseRegions
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 20:00:01 -06:00
Nathan Sobo
50edcb06dd
Add drag callbacks to mouse regions
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:59:38 -06:00
Nathan Sobo
bd62a68234
Eliminate ElementStateContext trait
...
We now always have a RenderContext when rendering MouseEventHandlers or scrollable Flex columns/rows.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:37:28 -06:00
Nathan Sobo
b6b16fc9c3
In UniformList, guard against misbehavior of append_items
...
If for some reason the handle got dropped and we call it, we'll deal with it somewhat gracefully.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:30:28 -06:00
Nathan Sobo
8dd82fdce1
Take a RenderContext in ListState's build item callback
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:23:44 -06:00
Nathan Sobo
2ea085b178
Pass a RenderContext to UniformList
...
In some cases, we need to render during layout. Previously, we were rendering with a LayoutContext in some cases, but this commit adds the ability to retrieve a render context with a given handle and we use that feature in UniformList.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:03:34 -06:00
Keith Simmons
61f0daa5c5
Visual line mode handles soft wraps
2022-05-26 17:02:05 -07:00
Nathan Sobo
d69776585d
Add mouse_state method to RenderContext
...
We can use this to determine if a region is hovered or clicked.
2022-05-26 13:22:23 -06:00
Nathan Sobo
3a59d2a331
Allow hovered and clicked mouse regions to be tracked in the presenter
2022-05-26 12:44:52 -06:00
Nathan Sobo
0866f0ed55
Introduce CursorRegion struct
...
This will blend in with an upcoming MouseRegion struct that sits next to it in the scene.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-26 11:00:10 -06:00
Antonio Scandurra
82ddac8e7e
Restore focus when closing context menu
2022-05-26 15:21:55 +02:00
Antonio Scandurra
580f1a4125
Style context menu
2022-05-26 10:40:53 +02:00
Antonio Scandurra
a8483ba458
WIP
2022-05-26 09:59:25 +02:00
Antonio Scandurra
3b2f1644fb
Constrain context menu to the width of the widest item
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-26 09:59:25 +02:00
Nathan Sobo
5b7825d5de
Add MutableAppContext::keystrokes_for_action
...
This can be used to lookup keystrokes that will dispatch an action based on the currently focused view. There might be multiple, but we return the first found, meaning the most recently added bindings matching that action for the closest view to the focused view in the hierarchy.
2022-05-26 09:59:25 +02:00
Nathan Sobo
b110fd5fb7
Render a context menu when right-clicking in project panel
...
It doesn't currently do anything, but I managed to get it rendering in an absolutely positioned way.
2022-05-26 09:59:25 +02:00
Antonio Scandurra
3ac6fc89c1
Pretty-print JSON of server snapshot
2022-05-26 09:34:39 +02:00
Max Brunsfeld
fbd589b589
Start work on handling multibuffers properly when closing unsaved buffers
2022-05-22 16:48:33 -07:00
Max Brunsfeld
b72d97ce78
Disable menu item key equivalents while there are pending keystrokes
2022-05-20 10:04:43 -07:00
Max Brunsfeld
21862faa58
Convert function keys to the correct macOS codes for menu items
2022-05-19 17:37:46 -07:00
Max Brunsfeld
ea85473f4f
Enable and disable application menu items based on the active view
2022-05-19 16:50:40 -07:00
Max Brunsfeld
ef0b584532
Remove AppState from workspace actions
...
This allows those actions to be bound to keystrokes in the keymap.
Also, remove the WorkspaceParams struct, simplify how Workspaces are
constructed.
2022-05-19 14:37:26 -07:00
Max Brunsfeld
7445197f4d
Derive application menu key equivalents from the keymap
2022-05-19 10:04:01 -07:00
Antonio Scandurra
225536accc
Merge branch 'main' into request-to-join-project
2022-05-17 14:55:20 +02:00
Antonio Scandurra
e0c772db3e
Hold a weak handle to Presenter
when dispatching events
...
This ensures that the only strong reference to the presenter is held
by `App`. This is important because we want to call `flush_effects`
when removing a window and implicit drops of the `Presenter` would
make that hard.
Before this commit, if a rendered view contained strong handles to
views and models, we would only drop them on the next `flush_effects`.
This was manifesting itself in `Project`s not being released when
closing their containing window.
2022-05-17 13:04:38 +02:00
Nathan Sobo
d821e7a4c1
Cancel join requests when the requester closes the window
2022-05-16 20:29:36 -06:00
Antonio Scandurra
aa90c06012
Display a temporary window while remote project is loading
2022-05-16 17:45:50 +02:00