17d53d0
Rename again, add fun cx APIs using new traits
Mikayla created
17d53d0
Rename again, add fun cx APIs using new traits
Mikayla created
01d9d53
Adjust the type arrangement on ManagedViews
Mikayla created
8837045
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
Max Brunsfeld created
55548ca
Fix underspecified assertions in new tests for file reload race
Max Brunsfeld created
3b5754a
Clean up tests (they compile now)
Piotr Osiewicz created
eb9959a
gpui: notifications now takes an entity instead of a model
Piotr Osiewicz created
ae1ebc6
fixup! Remove dead code (for now).
Piotr Osiewicz created
27600b6
Remove dead code (for now).
Ensure actions are registed just once (previously some were registered on both Workspace and search bar itself).
Piotr Osiewicz created
741e11c
Fix up action derive
Piotr Osiewicz created
f23cc72
chore: cargo fmt
Piotr Osiewicz created
dca2dc7
Merge branch 'main' into search2
Piotr Osiewicz created
8845f5a
Clean up warnings
Piotr Osiewicz created
6680e1e
Create new Zed release channel: nightly
Kirill Bulatov created
27cd7b2
Merge branch 'main' into editor2-autocomplete
Antonio Scandurra created
9d81846
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
Kirill Bulatov created
89e44d4
Remove binary target collisions between zed & zed2
Kirill Bulatov created
41ac8ef
Restore saving (#3351)
and a bunch of random workspace stuff! Release Notes: -
Mikayla Maki created
1693718
Merge branch 'main' into saving-2
Mikayla created
9a3cd07
Restore a bunch of random workspace stuff
Mikayla created
2fb13cf
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
Nathan Sobo created
391ab8f
Add more detail to panel switcher interaction (#3344)
Also featuring: * IconButton#action() * gpui::ManagedView * `menu_handle()` Release Notes: - N/A
Conrad Irwin created
9558da8
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.
Nathan Sobo created
2d1d75f
+ManagedView
And some games with rust traits
Conrad Irwin created
2182cb2
Ooh generics
Conrad Irwin created
6d4276e
Merge branch 'main' into collab_ui2
Conrad Irwin created
c0ad157
More attachment configuration for context menus
Conrad Irwin created
e67c44a
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.
Max Brunsfeld created
32979f3
Rename deprioritize_task -> deprioritize
It applies to a family of tasks, not a task.
Max Brunsfeld created
f3b6719
Rename both PlatformDispatcher::poll and Executor::run_step to 'tick'
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
9547e88
TEMP
Conrad Irwin created
5478889
Add storybook3
Conrad Irwin created
61bd6ba
Actions‽ (#3349)
This PR re-implements our actions with macros instead of a blanket impl. Release Notes: - N/A
Mikayla Maki created
432572c
#RemoveThe2
Mikayla created
17b2b11
Don't update file's saved mtime when reload is aborted
Max Brunsfeld created
49d3e1c
Add default derive
Mikayla created
4de2c0f
Re-implement actions as derive macros instead of blanket impls
Mikayla created
0bed5e4
Port buffer reload bug fixes back to gpui1 crates
Max Brunsfeld created
5f1acae
Fix race conditions and bugs in Buffer::reload
Max Brunsfeld created
89d73f7
Label the buffer's diff task so it can be deprioritized in tests
Max Brunsfeld created
b2451d9
Combine adjacent edits in buffer's diff
Max Brunsfeld created
074a221
Progress on ContextMenu
Conrad Irwin created
f9650b3
Don't run until all the way until parked when waiting for a model's next event
Max Brunsfeld created
6397c05
Add the ability to deprioritize specific labeled tasks in tests
Max Brunsfeld created
9456f71
Only send one right click event
Conrad Irwin created
83dfb19
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
Nate Butler created
3223e21
Add dock borders
Nate Butler created
9c5f580
Use `Selected` for active IconButtons
Nate Butler created
3d8e63b
Buttons should always use `cursor_pointer`
Nate Butler created
c2d6d24
Ensure the titlebar stays large enough even with small ui sizes
Nate Butler created
a526f23
Add ui_font settings and set default rem size accordingly (#3346)
[[PR Description]] - Adds ui_font_family, ui_font_features, ui_font_size to settings and default settings - Use the new ui font settings to set the rem size when the workspace is created. Release Notes: - N/A
Nate Butler created