Commit Graph
11184 Commits
Author SHA1 Message Date
Kirill Bulatov 08fcb3f10e Use InlayHint instead of Inlay where appropriate 2023-08-16 23:38:11 +03:00
Kirill Bulatov 2b1a1afcfb Do not leak pane handles 2023-08-16 23:38:11 +03:00
Kirill Bulatov d9a90a3035 Test hints toggle 2023-08-16 23:38:11 +03:00
Kirill Bulatov e1dd34c185 Extract quick_action_bar into its own crate 2023-08-16 23:38:11 +03:00
Kirill BulatovandMikayla Maki 4acb8eeabb Repaint inlays icon on inlays cache disabling/enabling
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-08-16 23:38:11 +03:00
Kirill Bulatov 5ce0d2244d Improve toggle UI, fix inlays update speed 2023-08-16 23:38:11 +03:00
Kirill Bulatov 4d914c6b75 Toggle buffer search via quick actions 2023-08-16 23:38:11 +03:00
Kirill Bulatov 7cd278f4b8 Draft quick actions bar 2023-08-16 23:38:11 +03:00
Joseph T. Lyons 45cbc6b7c5 v0.101.x dev 2023-08-16 14:22:54 -04:00
Max Brunsfeld 57a8c6d506 collab 0.17.0 2023-08-16 11:05:08 -07:00
Max Brunsfeld 5b150ecfc7 Introduce channels and move collab popover contents to a collaboration panel (#2828)
### Summary

This PR introduces channels: a new way of starting collaboration
sessions. You can create channels and invite others to join them. You
can then hold a call in a channel, where any member of the channel is
free to join the call without needing to be invited.

Channels are displayed in a new panel called the collaboration panel,
which now also contains the contacts list, and the current call. The
collaboration popover has been removed from the titlebar.

![Screen Shot 2023-08-15 at 9 25 37
AM](https://github.com/zed-industries/zed/assets/326587/0f989dea-7fb7-4d50-9acd-25c8f1c30cd1)


For now, the channels functionality will only be revealed to staff, so
the public-facing change is just the move from the popover to the panel.

### To-do

* User-facing UI
  * [x] signed-out state for collab panel
  * [x] new icon for collab panel
  * [x] for now, channels section only appears for zed staff
* [x] current call section styling
(https://zed-industries.slack.com/archives/C05CJUNF2BU/p1691189389988239?thread_ts=1691189120.403009&cid=C05CJUNF2BU)
* [x] Channel members
* Channels
  * [x] style channel name editor
* [x] decide on a special "empty state" for the panel, when user has no
contacts
* [x] ensure channels are sorted in a consistent way (expose channel id
paths to client)
  * [x] Figure out layered panels UX
  * [x] Change add contacts to be the same kind of tabbed modal
* [x] race condition between channel updates and user fetches
(`ChannelStore::handle_update_contacts`)
* [x] race condition between joining channels and channel update
messages `collab::rpc::channel_updated`)
* [x] don't display mic as muted when microphone share is pending upon
first joining call

Release Notes:

- Moved the collaboration dropdown into its own panel.
- Added settings for disabling the AI assistant panel button.
- Switch to lazily initializing audio output sources
(https://github.com/zed-industries/community/issues/1840,
https://github.com/zed-industries/community/issues/1919)
2023-08-16 11:03:53 -07:00
Nate ButlerandMax Brunsfeld f77504f5ac Update collab panel empty state to match project panel
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-08-16 13:56:11 -04:00
Nate ButlerandMax Brunsfeld dd531145c2 Update modal icon styles
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-08-16 13:48:12 -04:00
Nate Butler 8027b0d4d8 Style cleanup for channels panel 2023-08-16 12:38:44 -04:00
Kirill Bulatov 145df4f156 Focus terminal view on mouse click in terminal (#2852)
Before, terminal view focused the parent (pane) instead and, if
terminal's search bar was open and focused, pane transferred the focus
back

Release Notes:

- Fixed terminal search focus not switching to terminal on mouse click
inside
2023-08-16 15:25:17 +03:00
Kirill Bulatov 19cf3ec52d Focus terminal view on mouse click in terminal
Before, terminal view focused the parent (pane) instead and, if
terminal's search bar was open and focused, pane transferred the focus
back
2023-08-16 15:16:20 +03:00
Kirill Bulatov 01cb8375e6 Move gpui derives tests into gpui crate to avoid dependency cycles (#2851)
`cargo run` on Zed project leads to rust-analyzer evantually emitting

`[ERROR project_model::workspace] cyclic deps:
gpui_macros(Idx::<CrateData>(269)) -> gpui(Idx::<CrateData>(264)),
alternative path: gpui(Idx::<CrateData>(264)) ->
gpui_macros(Idx::<CrateData>(269))`

error after loading the project.

The PR fixes this by moving away the test to the "root" project.

Release Notes:

- N/A
2023-08-16 10:41:12 +03:00
Kirill Bulatov 6d3e568fdc Move gpui derives tests into gpui crate to avoid dependency cycles
`cargo run` on Zed project leads to rust-analyzer evantually emitting

`[ERROR project_model::workspace] cyclic deps:
gpui_macros(Idx::<CrateData>(269)) -> gpui(Idx::<CrateData>(264)),
alternative path: gpui(Idx::<CrateData>(264)) ->
gpui_macros(Idx::<CrateData>(269))`

error after loading the project.

The PR fixes this by moving away the test to the "root" project.
2023-08-16 10:19:20 +03:00
Mikayla 81e0c0dd5c Lazily initialize and destroy the audio handle state on call initiation and end 2023-08-15 23:19:11 -07:00
Max Brunsfeld f053542057 Keep collab panel focused after deleting a channel 2023-08-15 16:14:24 -07:00
Mikayla Maki 6958fae895 Add component traits to GPUI (#2850)
Release Notes:

- N/A
2023-08-15 15:53:12 -07:00
Mikayla 5f9984e246 move component into gpui 2023-08-15 15:44:59 -07:00
Nate Butler 3783ca1eed Update assistant status bar icon 2023-08-15 18:36:30 -04:00
Nate Butler b4c41dc9bd Update channel context menu 2023-08-15 18:36:23 -04:00
Max BrunsfeldandMikayla 07f71c67b5 Simplify Component implementation
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-15 15:26:02 -07:00
Max BrunsfeldandMikayla 2223d15c96 Implement calling contacts into your current channel
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-15 14:56:54 -07:00
Kirill Bulatov ccba4ff141 Support editor::SelectAll in Terminal (#2848)
![image](https://github.com/zed-industries/zed/assets/2690773/3aae1e6a-9993-4e65-8ed1-20f2f4b452df)

Allows to use `editor::SelectAll`(`cmd-a` by default) in Terminal to
select all text in it, for future copying.
Currently, does not try to be smart and trim the selected whitespaces
after the last prompt, and copies them too.

Release Notes:

- Support `editor::SelectAll` in Terminal
2023-08-15 23:59:26 +03:00
Joseph T. Lyons 92e3381eb3 Associate additional file extensions with known languages (#2847)
Going to do these in batches.  Here is the first one.

Release Notes:

- Associated additional file extensions with known languages
(([#633](https://github.com/zed-industries/community/issues/633)),
([#1822](https://github.com/zed-industries/community/issues/1822))).
    - C++: `cxx`, `hxx`, `inl`
    - JavaScript: `cjs`
    - Python: `mpy`
    - TypeScript: `cts`, `d.cts`, `d.mts`, `mts`
2023-08-15 16:46:42 -04:00
Kirill Bulatov 661229e647 Support editor::SelectAll in Terminal 2023-08-15 23:43:32 +03:00
Max BrunsfeldandMikayla 96f14e23a9 Run until parked when setting editor's state via EditorTestContext
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-15 13:42:54 -07:00
Joseph T. Lyons c2589d9efa Associate extensions with language 2023-08-15 16:33:02 -04:00
Nate Butler 6859972936 Update checked icon 2023-08-15 16:29:01 -04:00
Max Brunsfeld c48492a1cb Avoid flicker when moving between channels 2023-08-15 13:18:56 -07:00
Max Brunsfeld 5e38546d17 Reword channel-creation tooltips 2023-08-15 13:08:44 -07:00
Nate Butler f201875d07 Additional status bar styles 2023-08-15 15:32:14 -04:00
Mikayla 8471c16343 seperate out channel styles in theme 2023-08-15 12:12:30 -07:00
Mikayla 697ff6dbdf Add dismiss on escape 2023-08-15 11:02:18 -07:00
MikaylaandNate 7b595e1702 Fix cursor style
co-authored-by: Nate <nate@zed.dev>
2023-08-15 10:58:31 -07:00
Mikayla 2be5aa22e2 Add active styling 2023-08-15 10:53:30 -07:00
Mikayla 823d8b3845 Add the channel name into the current call 2023-08-15 10:45:36 -07:00
Max Brunsfeld 90e9db99ab Merge branch 'main' into collab-panel 2023-08-15 09:09:50 -07:00
Conrad Irwin 3aec608f60 Fix vim selection to include entire range (#2787)
Update vim mode to have vim selection and editor selections match.
Before this we had to adjust between vim selections and real selections
when making changes; now we have to adjust when making selections.

Release Notes:

- vim: Ensure editor selection matches the vim selection
([#1796](https://github.com/zed-industries/community/issues/1796)).
- vim: Fix `s` in visual line mode
- vim: Add `o` and `shift-o` to toggle direction of visual selection
- vim: Fix `v` and `shift-v` to toggle back to normal mode
- vim: Fix block selections like `vi}` to contain correct whitespace
2023-08-15 08:36:17 -06:00
Conrad Irwin 5dc507560c Fix vim escape in normal mode (#2844)
Fixes: zed-industries/community#1857

- vim: Fix escape in normal mode
([#1857](https://github.com/zed-industries/community/issues/1857)).
2023-08-15 08:35:49 -06:00
Mikayla feb8444c32 Merge branch 'main' into collab-panel 2023-08-15 03:25:45 -07:00
Mikayla Maki 644f4e10bb Add components example (#2846)
This PR is a continuation of the components UI exploration I've been
doing. It adds an example to the GPUI examples page and totally
restructures the generics on our MouseEventHandler.

Release Note:
- N/A
2023-08-15 03:17:50 -07:00
Mikayla ec2490269d Add components example
Re-arrange generics on mouse event handler
Add TypeTag struct for dynamically tagged components
2023-08-15 03:06:43 -07:00
Max BrunsfeldandMikayla 847022b6d0 Fix race condition when UpdateChannel message is received while fetching participants for previous update
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-14 17:36:35 -07:00
Max BrunsfeldandMikayla 4507579f5a Limit number of participants shown in channel face piles
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-14 17:11:03 -07:00
Max BrunsfeldandMikayla bd0c77061a Display intended mute status while still connecting to a room
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-14 16:47:26 -07:00
Max BrunsfeldandMikayla f32cb99c81 Fix clicking outside of modals to dismiss them
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-14 16:38:21 -07:00