Commit graph

2235 commits

Author SHA1 Message Date
Max Brunsfeld
ece8604547 Fix comments in Pane::close_items 2022-05-23 18:07:22 -07:00
Max Brunsfeld
7f92401bca Add key binding and menu item for Save All 2022-05-23 16:06:56 -07:00
Max Brunsfeld
0becbe482a Distinguish between singleton and non-singleton workspace items
* Prompt to save singleton items before non-singleton ones
* Don't prompt to save multi-buffers if they contain excerpts to items that are open elsewhere and not being closed.

Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-23 16:03:00 -07:00
Max Brunsfeld
fbd589b589 Start work on handling multibuffers properly when closing unsaved buffers 2022-05-22 16:48:33 -07:00
Max Brunsfeld
21206800bc Add "Close Window" command 2022-05-20 16:53:03 -07:00
Max Brunsfeld
b08cad9ef5 Add "Save As" command 2022-05-20 16:24:42 -07:00
Max Brunsfeld
8ed33cadeb Add "Add Folder to Project" command to application menu 2022-05-20 16:19:43 -07:00
Max Brunsfeld
e72f5cea22 Add "New Window" command 2022-05-20 11:01:20 -07:00
Max Brunsfeld
c4fc3d9c7f
Merge pull request #1023 from zed-industries/app-menu-improvements
Correctly populate application menus' keystrokes and enabled status
2022-05-20 10:22:20 -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
df4cfa56cf Add application menu items 2022-05-19 16:50:40 -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
c4554c1720 Replace build_workspace fn with an initialize function that takes a workspace
This makes it clearer that the function is not providing necessary
dependencies to a workspace, but rather configuring it with all of
the panels and widgets which are defined in downstream crates.
2022-05-19 16:50:22 -07:00
Max Brunsfeld
9e47e19f4e Pass UserStore to ContactsPanel instead of AppState 2022-05-19 14:43:36 -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
Keith Simmons
bacfed37b7 Clone selections on editor split 2022-05-19 11:22:53 -07:00
Max Brunsfeld
7445197f4d Derive application menu key equivalents from the keymap 2022-05-19 10:04:01 -07:00
Max Brunsfeld
fbacc12672 Delete theme files more selectively when regenerating them
Avoid deleting files that will be rewritten later, so that Zed
won't observe states where themes are missing if two zed
processes are running at once.
2022-05-18 14:17:26 -07:00
Max Brunsfeld
ec41dd9f18 Remove checked-in theme JSON files
* Generate the themes on build
* In debug builds, watch the theme sources. When they change, re-generate
  the themes and reload the current theme, removing the need for the
  `theme_selector::Reload` command.

Co-authored-by: Keith Simmons <keith@zed.dev>
2022-05-18 12:43:26 -07:00
Antonio Scandurra
c0bf4a5bfd Bump FoldSnapshot version if excerpt gets edited outside of its bounds
This will cause layers above `FoldMap` to grab a fresh snapshot of the `FoldMap`
and, as a result, of the underlying `MultiBufferSnapshot`. It is a necessary change
because, even though the coordinate space is not affected, a buffer edit taking place
*before* an excerpt range could cause the excerpt buffer rows to change, e.g. if
lines were added or removed. This manifested itself in a randomized test.
2022-05-18 10:13:18 +02:00
Max Brunsfeld
9b29245590 Avoid duplicate notifications
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-17 11:19:22 -07:00
Nathan Sobo
1c9ad942df v0.34.0 2022-05-17 11:10:21 -06:00
Nathan Sobo
fb246ac343 Log JSON in Kubernetes
If you set LOG_JSON=true, we'll output JSON from the tracing subscriber instead of pretty-printing trace output.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-17 11:05:22 -06:00
Antonio Scandurra
2d986c7968 Show guest only once even if they joined on two different windows
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-17 16:21:09 +02:00
Antonio Scandurra
8f88803695 Automatically follow host when joining a project 2022-05-17 15:35:57 +02:00
Antonio Scandurra
225536accc Merge branch 'main' into request-to-join-project 2022-05-17 14:55:20 +02:00
Antonio Scandurra
8393bfe032 Ensure join request reaches the server before disconnecting host in test 2022-05-17 14:50:28 +02:00
Antonio Scandurra
a828282771 Fix Store::remove_connection not removing guests from projects 2022-05-17 14:50:00 +02:00
Antonio Scandurra
7b161b81b5 WIP: accept to join requests if user is already participating
There's a panic caused by `Store::check_invariants` that we still
need to figure out.
2022-05-17 13:21: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
Antonio Scandurra
cc598a6f71 Send LeaveProject when waiting room is dismissed while waiting 2022-05-17 11:25:14 +02:00
Nathan Sobo
d821e7a4c1 Cancel join requests when the requester closes the window 2022-05-16 20:29:36 -06:00
Nathan Sobo
7c3eebf93e Refine messages on waiting to join screen and include host avatar 2022-05-16 16:52:31 -06:00
Nate Butler
af5bb92847 Rework color schemes
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
2022-05-16 18:11:22 -04:00
Nathan Sobo
91257f308e Remove "They won't know if you decline" message 2022-05-16 13:15:46 -06:00
Antonio Scandurra
ed6ed99d8f Show the reason why a join request was declined
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-16 19:57:50 +02:00
Antonio Scandurra
740ec3d192 WIP: decline pending join requests when project is unregistered 2022-05-16 17:46:08 +02:00
Antonio Scandurra
aa90c06012 Display a temporary window while remote project is loading 2022-05-16 17:45:50 +02:00
Antonio Scandurra
e6576b32b2 Don't show "they won't know if you decline" when request is accepted 2022-05-16 15:37:29 +02:00
Antonio Scandurra
c2973f33c2 Uncomment randomized tests for contacts 2022-05-16 15:13:32 +02:00
Antonio Scandurra
47ce8ae05c Poll snapshot after refreshing entry 2022-05-16 11:50:21 +02:00
Antonio Scandurra
b144995f27 Grab share state after retrieving metadata when refreshing entry 2022-05-16 11:46:49 +02:00
Antonio Scandurra
576656ccf2 Delete commented-out code 2022-05-16 09:50:36 +02:00
Antonio Scandurra
bf638afac5 Initialize UserStore before client connects in integration tests
This fixes a failure in `test_contacts` where we were receiving the
initial `proto::UpdateContacts` message before `UserStore` had a chance
to register a message handler for it.
2022-05-16 09:48:24 +02:00
Max Brunsfeld
842bfae3af WIP - update worktree's scan_id when mutating it in the foreground 2022-05-13 17:03:48 -07:00
Keith Simmons
a2fd41174f Reduce accessibility of multibuffer read to reduce risk of borrowing snapshot and buffer refcells twice 2022-05-13 16:58:30 -07:00
Keith Simmons
2f7eb6dbc5
Merge pull request #973 from zed-industries/selections-refactor
Pull selections out of editor into selections collection
2022-05-13 16:07:26 -07:00
Keith Simmons
45ea3d4c38 Review fixes 2022-05-13 15:55:27 -07:00
Keith Simmons
20c97637a4 minor tweaks to selections collection api 2022-05-13 15:55:27 -07:00