Commit Graph
209 Commits
Author SHA1 Message Date
Mikayla 9ce7ef8949 Remove the last of the major todos 2024-01-09 16:14:54 -08:00
Marshall Bowers fa53353c57 Rename IconElement to just Icon (#3974)
This PR renames the `IconElement` component to just `Icon`.

This better matches the rest of our components, as `IconElement` was the
only one using this naming convention.

The `Icon` enum has been renamed to `IconName` to free up the name.

I was trying to come up with a way that would allow rendering an
`Icon::Zed` directly (and thus make the `IconElement` a hidden part of
the API), but I couldn't come up with a way to do this cleanly.

Release Notes:

- N/A
2024-01-09 10:11:20 -05:00
Mikayla ec7db3f528 Restore the terminal cursor settings 2024-01-08 16:02:39 -08:00
Marshall Bowers 9b06c66e00 terminal: Remove resolved TODO (#3948)
This PR removes a resolved TODO in the `terminal` crate.

Release Notes:

- N/A
2024-01-08 13:39:56 -05:00
Piotr Osiewicz d475f1373a gpui: Further docs refinement & moved some reexports into 'private' module (#3935)
This commit mostly fixes invalid URLs in docstrings. It also
encapsulates crates we reexport (serde stuff + linkme) into a public
module named "private" in order to reduce the API surfaced through docs.
Moreover, I fixed up a bunch of crates that were pulling serde_json in
through gpui explicitly instead of using Cargo manifest.

Release Notes:
- N/A
2024-01-07 14:14:21 +01:00
Kirill Bulatov eb9ddef083 Always show full command on terminal tab hover (#3934)
Deals with https://github.com/zed-industries/community/issues/1856

Release Notes:

- Fixed terminal tab tooltip being truncated
2024-01-07 13:52:56 +02:00
Kirill Bulatov d566a0df5a Always show full command on terminal tab hover 2024-01-07 13:46:44 +02:00
Kirill Bulatov df937eaeeb Use fs to determine if file path is a dir 2024-01-07 13:32:09 +02:00
Kirill Bulatov 4f88a50aad On external file drop, add visible project entries for directories only 2024-01-07 03:11:28 +02:00
Kirill Bulatov c499e1ed38 Fix panic during terminal tab drag and drop 2024-01-07 02:32:15 +02:00
Kirill Bulatov 518868a12f Implement terminal pane drag and drop overrides 2024-01-07 02:21:43 +02:00
Kirill Bulatov c4e306162c Implement external file drop in pane 2024-01-07 01:18:02 +02:00
Kirill Bulatov 8ff05c6a72 Prepare for external file drop in pane 2024-01-07 01:17:49 +02:00
Conrad Irwin 204ef451d0 Merge branch 'main' into following-tests 2024-01-05 16:14:12 -07:00
Conrad IrwinandMax 81d707adbc Port 1.00 following tests
Co-Authored-By: Max <max@zed.dev>
2024-01-05 15:55:33 -07:00
Antonio Scandurra b8539373aa Avoid leaking TerminalPanel, which would in turn leak Project 2024-01-05 15:54:23 +01:00
Julia a86f401a7c Moar terminal bugs de2ified (#3894)
Release Notes:

- N/A
2024-01-04 18:40:55 -05:00
Max Brunsfeld c29a7f28b1 Fix terminal selection when cursor leaves terminal bounds (#3898)
Previously, terminal mouse selection didn't work when the cursor moved
outside the bounds of the terminal, which made it difficult to select
large amounts of text in the terminal.
2024-01-04 15:32:53 -08:00
Piotr Osiewicz b6655def70 Add DivRegistrar to reduce code duplication 2024-01-05 00:10:23 +01:00
Piotr Osiewicz 5ad125a9e9 Touchups to registrar API 2024-01-05 00:10:23 +01:00
Piotr Osiewicz f70eddc988 Explore registrar-based API for search bar.
This commit adds a Registrar trait for use by search crate. Registrar can register actions on some target and search can utilize that trait to opaquely add actions on that target.
Notably, search is now opt-in (it always was in zed2 actually). Having editor doesn't make it searchable straight out of the gate. You might have to call BufferSearchBar::new a bunch more.
2024-01-05 00:10:23 +01:00
Piotr Osiewicz cd0b15e23d fixup! terminal/search: Partially fix search in terminal. There are two issues with search in terminal as is: - terminal's pane is not registered as a "legit" pane, so we dispatch buffer search bar::Deploy on the most recent "legit" pane. By legit I mean that workspace::active_pane will *never* return terminal pane as active. - We've had the implementation of as_searchable commented out. Duh! 2024-01-05 00:10:23 +01:00
Piotr Osiewicz b3d8b23139 terminal/search: Partially fix search in terminal.
There are two issues with search in terminal as is:
- terminal's pane is not registered as a "legit" pane, so we dispatch buffer search bar::Deploy on the most recent "legit" pane. By legit I mean that
  workspace::active_pane will *never* return terminal pane as active.
- We've had the implementation of as_searchable commented out. Duh!

This commit fixes second issue. That means that if you drag the terminal over to the main editor pane (so that it's in a "legit" pane), it'll work. 1st issue still stands though.
2024-01-05 00:10:23 +01:00
Joseph T. Lyons 269b665618 Remove outdated TODO 2024-01-04 17:32:00 -05:00
Max Brunsfeld 0c4e2ef419 Fix terminal selection when cursor leaves terminal bounds 2024-01-04 14:08:18 -08:00
Marshall Bowers e4aa7ba4f2 Try to load fallback fonts instead of panicking when a font is not found (#3891)
This PR adjusts our font resolution code to attempt to use a fallback
font if the specified font cannot be found.

Right now our fallback font stack is `Zed Mono`, followed by `Helvetica`
(in practice we should always be able to resolve `Zed Mono` since we
bundle it with the app).

In the future we'll want to surface the ability to set the fallback font
stack from GPUI consumers, and potentially even support specifying font
stacks in the user settings (as opposed to a single font family).

Release Notes:

- Fixed a panic when trying to load a font that could not be found.
2024-01-04 14:10:46 -05:00
JuliaandMax Brunsfeld d79b8e4b98 Fix SendText/SendKeystroke having the wrong context name in terminal
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2024-01-04 12:35:51 -05:00
Max BrunsfeldandMikayla 0ac8aae17b Remove 2 suffix for language_tools, search, terminal_view, auto_update
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:52:40 -08:00
Kirill Bulatov f0ca7141b8 Ignore excluded files on worktree entry refresh 2023-12-05 12:30:29 +02:00
Julia 4688a94a54 Allow file links in markdown & filter links a bit aggressively 2023-10-12 12:11:27 -04:00
Conrad Irwin 32f8733313 Code review changes 2023-09-20 21:29:45 -06:00
Mikayla d46816589e Added 'open in terminal' action to the project panel context menu
Also slightly re-arranged the project panel context menu
2023-09-15 21:33:22 -07:00
Nate Butler 24974ee2fa Unify icons using multiple variants, remove all unused icons 2023-09-15 12:50:49 -04:00
Piotr Osiewicz 4cb8647702 Z 1200/replace in buffer (#2922)
This is still WIP, mostly pending styling. I added a pretty rudimentary
text field and no buttons whatsoever other than that. I am targeting a
Preview of 09.13, as I am gonna be on PTO for the next week.

I dislike the current implementation slightly because of `regex`'s crate
syntax and lack of support of backreferences. What strikes me as odd wrt
to syntax is that it will just replace a capture name with empty string
if that capture is missing from the regex. While this is perfectly fine
behaviour for conditionally-matched capture groups (e.g. `(foo)?`), I
think it should still error out if there's no group with a given name
(conditional or not).
Release Notes:

- Added "Replace" functionality to buffer search.
2023-09-12 18:46:54 +02:00
Nathan Sobo 15ea4af5e7 Merge branch 'main' into storybook 2023-09-11 09:13:46 -06:00
Nathan Sobo e0fdc7d0aa Eliminate PaintContext 2023-09-11 09:00:59 -06:00
Nathan Sobo a24d94cfda Eliminate LayoutContext 2023-09-11 08:47:00 -06:00
Conrad Irwin ba1c350dad vim: Add ZZ and ZQ
The major change here is a refactoring to allow controling the save
behaviour when closing items, which is pre-work needed for vim command
palette.

For zed-industries/community#1868
2023-09-08 16:25:20 -06:00
Nathan Sobo ebf8b32811 Checkpoint 2023-09-08 16:25:10 -06:00
Joseph T. LyonsandMikayla Maki 507a5db09c WIP
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
2023-08-25 15:06:31 -04:00
Nathan Sobo d375f7992d Merge branch 'main' into divs 2023-08-22 16:35:56 -06:00
Mikayla afebe3faf8 Merge branch 'main' into project_search_design 2023-08-17 01:56:05 -07:00
Mikayla 2f16147055 Fix dock resizing 2023-08-16 19:47:54 -07:00
Max Brunsfeld 4ea8b8292c 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
KCaverlyandPiotr aeda5d9842 fix semantic search panic which is created via incompatible build_search_query path
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-16 15:50:54 +01:00
Kirill Bulatov 80c779b95e 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 de69f08c10 Support editor::SelectAll in Terminal 2023-08-15 23:43:32 +03:00
Nate Butler ef73e77d3d Update some status bar icons and states 2023-08-14 17:15:25 -04:00
Nathan SoboandMikayla Maki 740b105330 Merge branch 'main' into taffy
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-08-14 13:50:21 -06:00
Mikayla a90c0e0326 Merge branch 'main' into collab-panel 2023-08-12 12:44:22 -07:00