Commit Graph
39175 Commits
Author SHA1 Message Date
Kirill Bulatov 92fb4ae9c7 Test and filter data draft 2023-11-17 21:40:56 +02:00
Kirill Bulatov b8ad39b42c Pass a new query parameter into the search 2023-11-17 21:40:56 +02:00
Conrad Irwin 51f91e3351 Dock menu 2023-11-17 12:14:06 -07:00
Conrad Irwin 81be0d3bfc Allow you to click on a context menu item 2023-11-17 11:57:51 -07:00
Mikayla 07a87b2a63 Add error messages to server deployment for nightly 2023-11-17 10:31:10 -08:00
Mikayla d2d9698adc Rename again, add fun cx APIs using new traits 2023-11-17 10:06:41 -08:00
Mikayla 5a0085ac6e Adjust the type arrangement on ManagedViews 2023-11-17 09:51:11 -08:00
Max Brunsfeld bb749737b0 Fix underspecified assertions in new tests for file reload race (#3353)
I accidentally left the test assertions unnecessarily vague in
https://github.com/zed-industries/zed/pull/3348. This PR makes the
assertions constrain the behavior more specifically. I also added a
second test for a related bug that was fixed in that PR, about
performing and undoing an edit while a buffer reload is in-progress.

Release Notes:

- NA
2023-11-17 09:32:00 -08:00
Max Brunsfeld 3c1f79a5dc Fix underspecified assertions in new tests for file reload race 2023-11-17 09:14:31 -08:00
Piotr Osiewicz 289856d9cd Clean up tests (they compile now) 2023-11-17 17:23:47 +01:00
Piotr Osiewicz e000e4feb8 gpui: notifications now takes an entity instead of a model 2023-11-17 17:23:05 +01:00
Piotr Osiewicz 9455cdd12d fixup! Remove dead code (for now). 2023-11-17 17:22:52 +01:00
Piotr Osiewicz acda333052 Remove dead code (for now).
Ensure actions are registed just once (previously some were registered on both Workspace and search bar itself).
2023-11-17 14:42:20 +01:00
Piotr Osiewicz ed1cf86592 Fix up action derive 2023-11-17 13:27:33 +01:00
Piotr Osiewicz cefc85c0b4 chore: cargo fmt 2023-11-17 13:23:42 +01:00
Piotr Osiewicz 9cd550e2b7 Merge branch 'main' into search2 2023-11-17 13:22:30 +01:00
Piotr Osiewicz 993a54a9d8 Clean up warnings 2023-11-17 13:22:07 +01:00
Kirill Bulatov 6db4451b25 Create new Zed release channel: nightly 2023-11-17 12:13:32 +02:00
Antonio Scandurra b9e3ba496a Merge branch 'main' into editor2-autocomplete 2023-11-17 11:03:25 +01:00
Kirill Bulatov c7c9301219 Remove binary target collisions between zed & zed2 (#3352)
Get rid of the following warnings:

```
The example target `test_app` in package `live_kit_client2 v0.1.0 (/Users/someonetoignore/work/zed/zed/crates/live_kit_client2)` has the same output filename as the example target `test_app` in package `live_kit_client v0.1.0 (/Users/someonetoignore/work/zed/zed/crates/live_kit_client)`.
Colliding filename is: /Users/someonetoignore/work/zed/zed/target/debug/examples/test_app
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The example target `test_app` in package `live_kit_client2 v0.1.0 (/Users/someonetoignore/work/zed/zed/crates/live_kit_client2)` has the same output filename as the example target `test_app` in package `live_kit_client v0.1.0 (/Users/someonetoignore/work/zed/zed/crates/live_kit_client)`.
Colliding filename is: /Users/someonetoignore/work/zed/zed/target/debug/examples/test_app.dSYM
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.

---------------

warning: output filename collision.
The bin target `Zed` in package `zed2 v0.109.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/zed2)` has the same output filename as the bin target `Zed` in package `zed v0.113.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/zed)`.
Colliding filename is: /Users/administrator/actions-runner-1/_work/zed/zed/target/debug/Zed.dSYM
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
```

as we plant to build *.dmg of both versions for a while.

Release Notes:

- N/A
2023-11-17 10:02:27 +02:00
Kirill Bulatov c31f405c17 Remove binary target collisions between zed & zed2 2023-11-17 09:56:28 +02:00
Mikayla Maki 571cf557cc Restore saving (#3351)
and a bunch of random workspace stuff!

Release Notes:

-
2023-11-16 23:22:01 -08:00
Mikayla f4a1bc8622 Merge branch 'main' into saving-2 2023-11-16 23:11:38 -08:00
Mikayla 5a3ab9b226 Restore a bunch of random workspace stuff 2023-11-16 23:05:28 -08:00
Nathan Sobo d9fc569a64 Separate WrappedLines from ShapedLines (#3350)
ShapedLines are never wrapped, whereas WrappedLines are optionally
wrapped if they are associated with a wrap width. Originally, when
rewriting GPUI, I tried to combine everything because wrapping is
inherently optional for the Text element, but we have a bunch of APIs
that don't make sense on a line that may wrap, so we need a distinct
type for that case.

This is a precursor to implementing clickable links in markdown. I
noticed multiple places where we were confused about whether or not the
line was wrapped so this felt important.

Release Notes:

- N/A
2023-11-16 23:20:35 -07:00
Conrad Irwin 4b8a8bdba6 Add more detail to panel switcher interaction (#3344)
Also featuring:
* IconButton#action()
* gpui::ManagedView
* `menu_handle()`

Release Notes:

- N/A
2023-11-16 23:16:50 -07:00
Nathan Sobo 3ebf361f18 Separate WrappedLines from ShapedLines
ShapedLines are never wrapped, whereas WrappedLines are optionally wrapped if
they are associated with a wrap width. I tried to combine everything because
wrapping is inherently optional for the Text element, but we have a bunch of
APIs that don't make sense on a line that may wrap, so we need a distinct type
for that case.
2023-11-16 23:10:51 -07:00
Conrad Irwin b5a55a978e +ManagedView
And some games with rust traits
2023-11-16 23:02:10 -07:00
Conrad Irwin 4fcd041261 Ooh generics 2023-11-16 22:16:29 -07:00
Conrad Irwin 589a7ceacb Merge branch 'main' into collab_ui2 2023-11-16 22:08:42 -07:00
Conrad Irwin ff9fbb96ea More attachment configuration for context menus 2023-11-16 21:59:23 -07:00
Max Brunsfeld 15d14d7cc3 Fix file-reloading race condition (#3348)
### Summary

This PR fixes a bug that @as-cii and @osiewicz saw when the on-disk
contents of files changed due to running `git checkout` at the command
line. It caused a buffer's contents to diverge from the file's on disk
contents, but the buffer to show an *unmodified* status.

I've also introduced new APIs on gpui's deterministic executor, which
make it possible to write a test that reliably triggered the bug.

### Details

The bug is triggered by the following sequence of events:
1. A buffer's file changes on disk while the buffer is *unmodified*
2. Zed reloads the new content of the file
3. Before updating the buffer itself, Zed computes a *diff* between the
buffer's current contents, and the newly-loaded contents
4. While this diff is being computed, one of two things happens:
     1. the buffer changes on-disk *again*.
2. the user edits the buffer, but undoes the edit, so that the buffer
returns to an unmodified state

The bug itself was caused by a few things:
* The buffer diffing algorithm is pretty slow, because we perform a
character-wise diff
* We previously allowed multiple reload tasks to run concurrently
* When discarding an out-of-date diff, we failed to update parts of the
buffer's state (`saved_fingerprint`) which allow us to recognize that
the buffer's content differs from the file.

It was also difficult to reproduce the problem in tests, because under
deterministic execution, because it was extremely unlikely for other
tasks to make progress *after* a file had been reloaded, but *before*
the disk task has resolved. To help with testing, I introduced a pair of
executor APIs:

`spawn_labeled`, - for spawning a background task with a given *label*
`deprioritize_task` - for forcing tasks with a given label to run
*after* all other concurrent tasks.

I also made the `Model::next_event` test helper method more useful, in
that it no longer runs *until* parked in order to wait for the next
event to occur. It just steps the executor one poll at a time until the
model emits an event.

Release Notes:

- Fixed a bug that caused buffers to report incorrect modified/conflict
status when their buffers changed on disk multiple times in rapid
succession.
2023-11-16 20:19:16 -08:00
Max Brunsfeld bb4fb58f3a Rename deprioritize_task -> deprioritize
It applies to a family of tasks, not a task.
2023-11-16 20:03:18 -08:00
Max BrunsfeldandNathan Sobo e097400ea3 Rename both PlatformDispatcher::poll and Executor::run_step to 'tick'
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2023-11-16 19:58:26 -08:00
Conrad Irwin b83ee94ebb TEMP 2023-11-16 19:50:31 -07:00
Conrad Irwin b27cc75fae Add storybook3 2023-11-16 19:42:25 -07:00
Mikayla Maki 57062bcbc5 Actions‽ (#3349)
This PR re-implements our actions with macros instead of a blanket impl.

Release Notes:

- N/A
2023-11-16 18:18:04 -08:00
Mikayla 1ec9eaa36f #RemoveThe2 2023-11-16 18:04:35 -08:00
Max Brunsfeld b15356f133 Don't update file's saved mtime when reload is aborted 2023-11-16 18:02:49 -08:00
Mikayla f103ff66a1 Add default derive 2023-11-16 17:39:05 -08:00
Mikayla a3c156c5a5 Re-implement actions as derive macros instead of blanket impls 2023-11-16 17:32:02 -08:00
Max Brunsfeld 4870963f19 Port buffer reload bug fixes back to gpui1 crates 2023-11-16 16:03:14 -08:00
Max Brunsfeld a59c1eabe2 Fix race conditions and bugs in Buffer::reload 2023-11-16 16:03:14 -08:00
Max Brunsfeld daba2e4e5d Label the buffer's diff task so it can be deprioritized in tests 2023-11-16 16:03:13 -08:00
Max Brunsfeld 416222e547 Combine adjacent edits in buffer's diff 2023-11-16 16:03:05 -08:00
Conrad Irwin b76df83b02 Progress on ContextMenu 2023-11-16 16:59:27 -07:00
Max Brunsfeld c2a6489144 Don't run until all the way until parked when waiting for a model's next event 2023-11-16 15:54:00 -08:00
Max Brunsfeld 81ca91eed0 Add the ability to deprioritize specific labeled tasks in tests 2023-11-16 15:54:00 -08:00
Conrad Irwin d3d20eec01 Only send one right click event 2023-11-16 15:30:53 -07:00
Nate Butler 95350487c3 UI size + other theme refinements (#3347)
[[PR Description]]

- Fixes bad titlebar states when the ui scale is set very low
- Tidies up a number of workspace styles

Release Notes:

- N/A
2023-11-16 16:30:47 -05:00