6680e1e
Create new Zed release channel: nightly
Kirill Bulatov 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
267e074
Checkpoint, MenuHandle can open one
Conrad Irwin created
ffd092a
Add ui_font_* for tests
Nate Butler created
fa9f4a9
Init rem_size in the workspace at the start of the render
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
Nate Butler and Mikayla Maki created
a0e9765
Salvage old distributed slice code
Mikayla created
08dddf0
Revert change to default buffer font size
Nate Butler created
b559bfd
Parameterize `theme2::init` to allow loading just the base theme (#3345)
This PR adds a parameter to the `theme2::init` method to indicate what the theme-loading behavior should be. This allows us to indicate when we want to load all of the additional built-in user themes (like in the Zed binary and in the storybook), and when we don't want to load the user themes (like in tests). We're using an enum over just a `bool` here for clarity at the call site. Release Notes: - N/A
Marshall Bowers created
f8b91bd
Fix some of the warnings
Piotr Osiewicz created
d782426
Dismiss tooltips on click
Conrad Irwin created
4540f04
Add more detail to panel switcher interaction
Conrad Irwin created
38d0fdc
Remove todo
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
Nate Butler and Marshall Bowers created
b2f9c45
Change the default buffer font size to 16
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
Nate Butler and Marshall Bowers created
c71e522
Allow users to set UI font properties in their settings
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
Nate Butler and Marshall Bowers created