Commit graph

1157 commits

Author SHA1 Message Date
Nathan Sobo
0d31d6dac5 WIP 2023-08-12 10:00:08 -06:00
Nathan Sobo
4b4b949972 WIP 2023-08-12 01:11:12 -06:00
Nathan Sobo
5e36040533 Put a Taffy layout engine on window 2023-08-12 00:58:11 -06:00
Mikayla
7970406694
Add a compile test for the element derive 2023-08-11 18:00:12 -07:00
Nathan Sobo
983641da2b WIP 2023-08-11 07:39:30 -06:00
Piotr Osiewicz
ffffbbea1f
chore: use Cow instead of String for tooltips (#2838)
A QoL change to align `Tooltip` with other elements like `Label`
Release Notes:

- N/A
2023-08-11 15:29:55 +02:00
Nathan Sobo
d6eaa3c6b8 Ditch the hot reloading approach 2023-08-11 00:26:58 -06:00
Nathan Sobo
0bf607cd2d WIP 2023-08-10 10:26:48 -06:00
Nathan Sobo
dd6425e898 WIP 2023-08-10 09:24:16 -06:00
Nathan Sobo
3b1e5e966a What if we base themes on Rose Pine 2023-08-09 20:54:30 -06:00
Mikayla
99daa73325
Merge branch 'main' into collab-panel 2023-08-09 10:37:22 -07:00
Mikayla Maki
40030f32d9
Fix two mouse event bugs (#2835)
This PR fixes two bugs we discovered in Zed's mouse event handling while
investigating an interesting and mysterious bug we we were seeing, where
spurious `MouseMoved` events would continuously be dispatched after
control-clicking.

Release Notes:

- Fixed a rendering glitch that could occur after control-clicking
certain elements.
2023-08-09 09:04:32 -07:00
Nathan Sobo
82c903de14 Rename node to frame 2023-08-08 21:28:52 -06:00
Nathan Sobo
c95aecdd53 Merge branch 'main' into cells 2023-08-08 21:23:57 -06:00
Max Brunsfeld
0b93a30821 Terminate synthetic drag state on mouse up w/ ctrl held
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-08 17:39:45 -07:00
Max Brunsfeld
e3bb5e5103 Fix failure to remove hovered region_ids on element removal
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-08 17:39:05 -07:00
Nathan Sobo
db96fb1307 Merge remote-tracking branch 'origin/main' into paint-context 2023-08-08 18:27:16 -06:00
Nathan Sobo
0dc70e6cbf Rename mac platform Window to MacWindow for clarity 2023-08-08 17:21:06 -06:00
Nathan Sobo
fc96676662 Use AppContext::update when updating windows so we handle effects 2023-08-08 17:20:46 -06:00
Nathan Sobo
8e49d1419a Minimize window id usage 2023-08-08 16:38:46 -06:00
Nathan Sobo
afd89b256a Store AnyWindowHandles instead of usizes 2023-08-08 16:06:53 -06:00
Nathan Sobo
b2d9ccc0a2 Move more window methods off AsyncAppContext 2023-08-08 11:38:07 -06:00
Nathan Sobo
95cd96e4be Move debug_elements to AnyWindowHandle 2023-08-08 11:27:19 -06:00
Nathan Sobo
4f10f0ee86 Remove window methods from AsyncAppContext 2023-08-08 11:23:49 -06:00
Nathan Sobo
1fd80ba8bd Remove AsyncAppContext::remove_window 2023-08-08 11:22:43 -06:00
Nathan Sobo
0a4633f88f Remove more window id usage 2023-08-08 11:20:09 -06:00
Nathan Sobo
d896d89842 Store an AnyWindowHandle in WindowContext 2023-08-08 11:08:37 -06:00
Nathan Sobo
f0da6b05fd Remove TestAppContext::add_view
Instead, we now call this on window handles.
2023-08-07 22:46:48 -06:00
Nathan Sobo
0f332238b3 Remove unused method 2023-08-07 22:08:44 -06:00
Nathan Sobo
d687c3d81f Merge remote-tracking branch 'origin/main' into window-handles 2023-08-07 22:07:20 -06:00
Nathan Sobo
f2be3181a9 Move window-related methods from TestAppContext to AnyWindowHandle 2023-08-07 20:23:04 -06:00
Nathan Sobo
0197d49230 Move activation simulation to AnyWindowHandle 2023-08-07 19:45:43 -06:00
Nathan Sobo
486f5bc6ca Get compiling 2023-08-07 19:08:58 -06:00
Nathan Sobo
3e0d0e5c01 WIP 2023-08-07 13:54:47 -06:00
Max Brunsfeld
c537cf2a57 Merge branch 'main' into collab-panel 2023-08-07 11:50:40 -07:00
Nathan Sobo
d4d32611fe WIP 2023-08-06 18:57:02 -06:00
Nathan Sobo
adc50469ff WIP 2023-08-06 12:45:31 -06:00
Nathan Sobo
dcf8b00656 WIP 2023-08-05 18:00:44 -06:00
Nathan Sobo
b6110fed9e WIP 2023-08-04 07:56:20 -06:00
Nathan Sobo
196946cbb6 Squelch warnings for now 2023-08-03 21:21:45 -06:00
Nathan Sobo
379652f074 Merge branch 'main' into cells 2023-08-03 19:33:04 -06:00
Nathan Sobo
2d96388be3 Use WindowHandles in a couple places 2023-08-03 17:46:34 -06:00
Nathan Sobo
485c0a482e Don't refcount window handles 2023-08-03 17:11:47 -06:00
Nathan Sobo
afcc0d621b WIP 2023-08-03 17:03:39 -06:00
Nathan Sobo
3c938a7377 WIP 2023-08-03 08:10:16 -06:00
Nathan Sobo
8e36da1382 Get tests passing 2023-08-02 15:02:55 -06:00
Nathan Sobo
884cee6dfd Get tests compiling returning WindowHandle<V: View> from add_window 2023-08-02 14:05:03 -06:00
Nathan Sobo
60e190e500 WIP 2023-08-02 12:08:56 -06:00
Max Brunsfeld
a555fa1ada Merge branch 'main' into collab-panel 2023-08-02 09:08:50 -07:00
Nathan Sobo
300ce61bd0 WIP 2023-08-02 08:25:40 -06:00
Nathan Sobo
b695c42e11 WIP: Return WindowHandle<V: View> from AppContext::add_window 2023-08-01 22:28:04 -06:00
Nathan Sobo
1dfde8eab5 WIP 2023-08-01 20:53:15 -06:00
Kirill Bulatov
646dabe113 Add buffer search history 2023-08-01 01:31:28 +03:00
Nathan Sobo
6f6096238d WIP 2023-07-28 16:44:15 -06:00
Nathan Sobo
6d10328796 WIP 2023-07-28 15:29:29 -06:00
Nathan Sobo
4d66c3237d WIP 2023-07-28 15:01:45 -06:00
Max Brunsfeld
969ecfcfa2
Reinstate all of the contacts popovers' functionality in the new collaboration panel 2023-07-28 13:24:43 -07:00
Mikayla Maki
7f9df6dd24
Move channels panel into collab and rename to collab panel
remove contacts popover and add to collab panel
2023-07-28 13:24:42 -07:00
Mikayla Maki
fe5db3035f
move channels UI code to channels-rpc 2023-07-28 13:21:41 -07:00
Mikayla Maki
ac35dae66e
Add channels panel with stubbed out information
co-authored-by: nate <nate@zed.dev>
2023-07-28 13:21:39 -07:00
Nathan Sobo
dc8e7acca0 WIP 2023-07-27 23:52:41 -06:00
Nathan Sobo
239024acd6 WIP 2023-07-27 23:26:12 -06:00
Nathan Sobo
33e49b4962 WIP 2023-07-27 23:00:52 -06:00
Nathan Sobo
480401d65d WIP 2023-07-27 18:23:23 -06:00
Nathan Sobo
2ef19e48bc WIP 2023-07-27 13:00:28 -06:00
Nathan Sobo
70c9959ebc WIP 2023-07-27 12:35:54 -06:00
Nathan Sobo
ab8906551d WIP 2023-07-26 22:37:59 -06:00
Mikayla Maki
354c020612
Block extra drag events in original drag handlers 2023-07-26 14:57:46 -07:00
Nathan Sobo
c602d98680 WIP 2023-07-26 13:34:57 -06:00
Nathan Sobo
0374bc66ce WIP 2023-07-26 12:54:23 -06:00
Mikayla Maki
a58c9ed7d3
fmt 2023-07-26 09:39:35 -07:00
Nathan Sobo
c48d8af204 Merge branch 'paint-context' into cells 2023-07-25 17:36:05 -06:00
Nathan Sobo
1b03c5d69c Pass PaintContext to Element::paint
I want to use this on another branch, but it's a sweeping change,
so this prepares the ground for it. This can always be reverted if
it doesn't work out.
2023-07-25 17:32:31 -06:00
Nathan Sobo
df9c17176e WIP 2023-07-25 16:33:58 -06:00
Nathan Sobo
54a7419fa2 WIP 2023-07-24 23:27:14 -06:00
Mikayla Maki
429a2fc623
Add drag end events
Fix left dragging cascade
WIP: Implement right dragging, WIP: use drag end events to set and reset state around initial flex orientation
2023-07-23 13:28:30 -07:00
Julia
0b6155609d
In macOS platform layer map a ctrl-click to a right click (#2755)
Maps a ctrl left down event into a ctrl-less right down and then up pair
and filters out ctrl left up. Hopefully this ensures that mouse down/up
events remain balanced and somewhat matching.

Release Notes:
- Added the ability to ctrl-click in place of right click to summon
context menus
([#1150](https://github.com/zed-industries/community/issues/1150)).
2023-07-20 14:54:55 -04:00
Kirill Bulatov
a5e63fbf77 Properly display keybindings in context menus 2023-07-20 12:18:04 +03:00
Julia
2e3aa703d9 In macOS platform layer map a ctrl-click to a right click 2023-07-19 15:43:45 -04:00
Nathan Sobo
19e4cad7a9 WIP 2023-07-18 13:32:07 -06:00
Nathan Sobo
18b0385d73 WIP 2023-07-17 16:48:31 -06:00
Nathan Sobo
f5682a3cb5 Paint basic children
Co-Authored-By: Derek Briggs <derek.briggs@me.com>
2023-07-17 16:39:58 -06:00
Kirill Bulatov
a4bf19c5bd Simplify NoAction filtering logic
co-authored-by: Max Brunsfeld <max@zed.dev>
2023-07-17 20:42:35 +03:00
Kirill Bulatov
4cc06748c9 Ignore keybindings with NoAction in config overrides 2023-07-17 18:34:39 +03:00
Kirill Bulatov
eaa8224076 Use id instead of type_id for actions
Currently, both are the same thing, so the logic is not changed.
2023-07-17 12:24:56 +03:00
Nathan Sobo
248f5dfd4b Get a red box on screen
Co-Authored-By: Derek Briggs <derek.briggs@me.com>
2023-07-14 17:03:07 -06:00
Nathan Sobo
87bafb04e2 Get playground app launching
Not sure if it should be in the workspace, but it's easier for now.

Co-Authored-By: Derek Briggs <derek.briggs@me.com>
2023-07-14 15:34:31 -06:00
Nathan Sobo
4b2054215a Get cell compiling 2023-07-14 15:20:53 -06:00
Nathan Sobo
0db8f681ba WIP 2023-07-14 11:58:43 -06:00
Mikayla Maki
26b9be628e
Add the math for pane resizing 2023-07-12 22:35:51 -07:00
Antonio Scandurra
318deed25b Skip key down event if preceded by its key equivalent version
Previously, we would only track whether the previous key down event
was a key equivalent. However, this could cause issues when pressing
certain keystrokes in rapid succession, e.g.:

- Pressing `shift-right` (to select a character)
- Pressing a character (with or without `shift` held down)

This would cause GPUI to ignore the second event because it was
preceded by a key equivalent event. With this commit, we track the
last key equivalent event, and skip the key down event only if it
matches the last key equivalent event.
2023-07-07 12:02:08 +02:00
Nate Butler
76873c508a
Z-2276/Z-2275: Project & Branch switchers (#2662)
This PR adds project and branch switchers in top left corner. 

Release Notes:
- Added a project & branch switcher under project name.
2023-07-05 13:09:40 -04:00
Piotr Osiewicz
85add260f6 Track regions instead of clicks.
Get rid of superfluous params in RenderParams related to hover & click state.

Co-authored-by: Antonio <antonio@zed.dev>
2023-07-05 16:48:52 +02:00
Piotr Osiewicz
cc88bff1ff Fix click-through behaviour of git panel
Co-authored-by: Antonio <antonio@zed.dev>
2023-07-05 15:25:33 +02:00
Antonio Scandurra
25564ea058 Introduce a WindowContext::focus method that implies the window id 2023-07-05 09:39:04 +02:00
Kirill Bulatov
4c51ab8a25 Accept null as a valid action, to disable a keystroke
co-authored-by: Mikayla Maki <mikayla@zed.dev>
2023-07-04 21:11:28 +03:00
Mikayla Maki
6ffa6afd20
fmt 2023-06-28 16:35:57 -07:00
Mikayla Maki
e0d618862c
Add click out handler
Make all context menus on button click toggles instead of re-shows
2023-06-28 16:23:07 -07:00
Mikayla Maki
18dd3102bf
WIP: Add click out event to fix context menus 2023-06-28 09:29:49 -07:00
Mikayla Maki
ce52d90a9d
Collab UI v2 (#2618)
This PR implements
https://www.figma.com/file/pLq7dvhx2mFeWFOedXpUQ5/Project-%E2%80%93-Collaboration-UI?type=design&node-id=666%3A8610&t=XFGk6KEtTCFXBvCQ-1

Release notes:
- [x] Redesigned collaboration UI
- [x] Added voice support
2023-06-28 09:14:39 -07:00
Nathan Sobo
8f8a99d788 Bind cmd-? to assistant::toggle_focus
Bypass system help menu shortcut at the app delegate level to achieve this.

Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-28 11:43:24 +02:00
Piotr Osiewicz
625814d30a Merge branch 'main' into collab-titlebar-2 2023-06-27 15:40:43 +02:00
Antonio Scandurra
edc7f30660 Add assistant icons to the toolbar
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-06-26 16:49:33 +02:00
Antonio Scandurra
00e37bc2a2 Merge remote-tracking branch 'origin/main' into save-conversations 2023-06-26 15:59:19 +02:00
Nathan Sobo
bede668b14 Add a derive macro for Element
To turn any struct into a composite element, you can implement a render method
with the following signature:

fn render<V: View>(&mut self, view: &mut V, cx: &mut ViewContext<V>) -> AnyElement<V>;

Then add #[derive(Element)] to the struct definition.

This will make it easier to introduce higher-level components that are expressed in
terms of other elements.
2023-06-25 07:51:50 -06:00
Antonio Scandurra
ed88f52619 Remove double constrained call 2023-06-23 09:23:52 +02:00
Antonio Scandurra
6f0efec146 Merge remote-tracking branch 'origin/main' into save-conversations 2023-06-23 09:09:42 +02:00
Piotr Osiewicz
b430be5bc6 cargo fmt 2023-06-22 17:59:56 +02:00
Piotr Osiewicz
af252888c4 Merge branch 'main' into sergey/z-2308-create-a-proof-of-concept-of-exporting-a-type-from-rust-and 2023-06-22 17:58:56 +02:00
Piotr Osiewicz
76366422a6 Merge branch 'main' into collab-titlebar-2 2023-06-22 13:48:16 +02:00
Nathan Sobo
3a61fd503f WIP: Trying to display the toolbar but tired. May be worth discarding this. 2023-06-20 20:11:37 -06:00
Mikayla Maki
cf4251fb55
Fix deafened -> enabled mistranslation
Fix mislocation of caller query in detach_and_log_error
Fix incorrect wording on livekit integration
Add share_mic action for manually enabling the microphone
Make mic sharing wait until the room has been fully established
2023-06-20 15:17:49 -07:00
Mikayla Maki
dbd95e35cf
fmt 2023-06-20 12:36:36 -07:00
Mikayla Maki
b828a74ad6
Add deafen controls 2023-06-20 12:34:32 -07:00
Nathan Sobo
03993ea719
Rename SumTree::push_tree to ::append (#2626)
This is something I've been meaning to rename in SumTree. Was looking at
the code and figure why not now.
2023-06-20 08:37:55 -06:00
Julia
dc07b60e40 Avoid assigning NSCursor style when it already is that style
This avoids a high cost which appears to be the system rasterizing the
cursor every time we call this, fixes a slowdown when scrolling rapidly
while mouse motion continually attempted to assign the style

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-06-20 09:31:30 -04:00
Nathan Sobo
8c298a9da5 Rename SumTree::push_tree to ::append 2023-06-19 19:49:33 -06:00
Mikayla Maki
6ad0b5d79f
Change color representation in json schema 2023-06-19 11:47:11 -07:00
Mikayla Maki
ea46947489
Tidy up font schema a little 2023-06-19 11:36:42 -07:00
Mikayla Maki
193ad64d18
Add JsonSchema to container style and fix compile errors 2023-06-19 11:31:17 -07:00
Piotr Osiewicz
2a3c660d1f
settings: accept trailing commas (#2606)
Z-2357

I've found a crate that handles both comments and trailing commas in
JSON. It is a fork of `serde_json`, but it is maintained & up-to-date.
Sadly RawValue seems to not play nicely with it; I've ran into
deserialisation issues around use of RawValue. For this PR I've migrated
to `Value` API.

Obviously this is just a point of discussion, not something I'd merge
straight away. There may be better solutions to this particular problem.

I've also noticed that `serde_json_lenient` does not handle trailing
commas after bindings array. I'm not sure how big of an issue that is.

Release Notes:
- Improved handling of trailing commas in settings files.
[#1322](https://github.com/zed-industries/community/issues/1322)
2023-06-19 18:29:03 +02:00
Sergey Onufrienko
ac42522987
chore: remove ts-rs 2023-06-16 21:45:37 +02:00
Sergey Onufrienko
b45f5f0489
feat: add JsonSchema to gpui 2023-06-16 21:36:42 +02:00
Sergey Onufrienko
cfc1856210
feat: add ts export 2023-06-12 22:13:19 +02:00
Sergey Onufrienko
b494b43496
chore: add ts-rs 2023-06-12 22:12:24 +02:00
Julia
6b89243902
Update rust-bindgen dev-dependencies (#2563)
I did \*something\* Friday afternoon which changed something about my
system SDK to break the `media` crate's bindings generation. Some of the
types and consts were not being generated despite being able to prove
that they exist in the source, such as when running the header through
the preprocessor myself and feeding that through the generator. Updating
my OS, XCode, command line tools, and reinstalling Rust as well as
working from fresh clones of the repo had no effect.

Updating rust-bindgen resolved the issue and downgrading the version
back to the original version caused the issue to reappear. I'm still not
sure what happened to change the SDK but at this point with being able
to build the project again I'm not going to look a gift horse in the
mouth.

Release Notes:

- N/A
2023-06-05 09:21:07 -04:00
Antonio Scandurra
c872f581d1 Query rect_for_text_range on focused view instead of root element
This was causing IME input to be drawn in the wrong place when there
were splits or panels in the window.
2023-06-05 12:00:40 +02:00
Julia
5790d6993e Update rust-bindgen dev-dependencies 2023-06-04 23:34:22 -04:00
Joseph Lyons
7c60f636d5 Fix typos 2023-06-02 22:02:19 -04:00
Max Brunsfeld
e67e6e6f70 Fix ambiguous glob export warnings in rust 1.70 2023-06-01 14:07:59 -07:00
Julia
31516b7863 TextStyle::default() ask system for known existing font family
Rather than assuming a specific family exists, try a set of specific
names and if they fail, just grab any old font that the system reports
as existing

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-30 14:46:27 -04:00
Max Brunsfeld
2db57b5139 Adjust diagnostic transformation test to not wait for two buffer notifications 2023-05-26 15:47:37 -07:00
Nathan Sobo
0b7d095c0a
Introduce the ability to talk to GPT-4 within buffers on preview and dev (#2524)
This adds basic ability to interact with OpenAI inside a buffer.

Release Notes:

* If`OPENAI_API_KEY` is defined in your environment, you can now run the
`ai: assist` command to pass the text of your current buffer to GPT-4.
If you're editing a file with a `.zmd` extension, you can also invoke
the model with `cmd-enter.` (preview-only)
2023-05-24 12:00:43 -06:00
Nathan Sobo
747322a02d Merge remote-tracking branch 'origin/main' into zmd 2023-05-24 11:04:07 -06:00
Max Brunsfeld
66b3be8687 Make toggle dock actions appear in the command palette 2023-05-24 09:58:41 -07:00
Nathan Sobo
7e6cccfa3d 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
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