Nathan Sobo
0069dd5ce6
WIP
2023-11-17 20:05:37 -07:00
Mikayla
dd283b471a
Add autoupdate2
...
co-authoredby: max@zed.dev
2023-11-17 15:48:32 -08:00
Julia
189ddf9380
Merge branch 'main' into unborked-git-zed2-diagnostics-view
2023-11-17 16:43:29 -05:00
Julia
3655a96e54
Merge branch 'main' into unborked-git-zed2-diagnostics-view
2023-11-17 16:32:35 -05:00
Julia
c6d22af416
Get diagnostic2 tests building and running
2023-11-17 16:32:35 -05:00
Julia
a464a7da2a
Merge branch 'main' into unborked-git-zed2-diagnostics-view
2023-11-17 16:32:35 -05:00
Julia
f4eb219c75
Get diagnostics view almost building in the zed2 world
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-17 16:32:35 -05:00
Mikayla Maki
7a8da8ce11
Adjust the type arrangement on ManagedViews ( #3354 )
...
Made the trait into a blanket-trait impl if you have it's two
constituent pieces (FocusableView and EventEmitter) to remove the
duplicated method. I also changed the struct to an enum for aesthetic
reasons (EventType::EventName feels self documenting to me) and added
some new `cx` APIs utilizing our new powers of dismissal.
Release Notes:
- N/A
2023-11-17 13:04:57 -08:00
Conrad Irwin
a6d6f8a193
shhh ( #3358 )
...
- Fix image errors
Release Notes:
- N/A
2023-11-17 14:01:44 -07:00
Nathan Sobo
c866c211b5
Make static str and SharedString implement Element
2023-11-17 13:48:01 -07:00
Conrad Irwin
6bfe6fa0e1
Fix image errors
...
* Firstly only log one error per image load, not per frame
* Secondly use an Icon not an image for rendering Icons
2023-11-17 13:47:07 -07:00
Mikayla
149b9d1aa6
Merge branch 'main' into managed-view-adjustment
2023-11-17 12:40:44 -08:00
Conrad Irwin
624bd0a05a
Collab ui2 ( #3357 )
...
* Clickable context menus & movable panels – what will they think of
next?!
Release Notes:
- N/A
2023-11-17 13:33:18 -07:00
Conrad Irwin
ceb20dea96
Refactorings
2023-11-17 13:23:12 -07:00
Conrad Irwin
9d742b90c3
Allow you to click on a context menu item
2023-11-17 11:57:51 -07:00
Mikayla
17d53d0e38
Rename again, add fun cx APIs using new traits
2023-11-17 10:06:41 -08:00
Mikayla
01d9d53f4a
Adjust the type arrangement on ManagedViews
2023-11-17 09:51:11 -08:00
Piotr Osiewicz
eb9959a0cf
gpui: notifications now takes an entity instead of a model
2023-11-17 17:23:05 +01:00
Mikayla
1693718637
Merge branch 'main' into saving-2
2023-11-16 23:11:38 -08:00
Mikayla
9a3cd073c7
Restore a bunch of random workspace stuff
2023-11-16 23:05:28 -08:00
Nathan Sobo
2fb13cf1ca
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
Nathan Sobo
9558da8681
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
2d1d75f482
+ManagedView
...
And some games with rust traits
2023-11-16 23:02:10 -07:00
Conrad Irwin
6d4276ea5f
Merge branch 'main' into collab_ui2
2023-11-16 22:08:42 -07:00
Conrad Irwin
c0ad15756c
More attachment configuration for context menus
2023-11-16 21:59:23 -07:00
Max Brunsfeld
e67c44a562
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
32979f3aca
Rename deprioritize_task -> deprioritize
...
It applies to a family of tasks, not a task.
2023-11-16 20:03:18 -08:00
Max Brunsfeld
f3b6719c76
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
9547e88d88
TEMP
2023-11-16 19:50:31 -07:00
Mikayla
432572c592
#RemoveThe2
2023-11-16 18:04:35 -08:00
Mikayla
4de2c0f7ef
Re-implement actions as derive macros instead of blanket impls
2023-11-16 17:32:02 -08:00
Conrad Irwin
074a221e0f
Progress on ContextMenu
2023-11-16 16:59:27 -07:00
Max Brunsfeld
f9650b3111
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
6397c05835
Add the ability to deprioritize specific labeled tasks in tests
2023-11-16 15:54:00 -08:00
Conrad Irwin
9456f716c2
Only send one right click event
2023-11-16 15:30:53 -07:00
Conrad Irwin
267e07472d
Checkpoint, MenuHandle can open one
2023-11-16 13:32:19 -07:00
Mikayla
a0e976599c
Salvage old distributed slice code
2023-11-16 10:32:55 -08:00
Conrad Irwin
d782426491
Dismiss tooltips on click
2023-11-16 10:26:09 -07:00
Kirill Bulatov
fd61683c46
WIP
2023-11-16 10:40:02 +02:00
Kirill Bulatov
61d6cb880c
Start porting terminal_element to gpui2
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-11-16 10:04:03 +02:00
Mikayla
9da0b78ead
Merge branch 'main' into tabs-n-splits
2023-11-15 23:41:25 -08:00
Conrad Irwin
74afa62a55
Add Overlay component to gpui2
2023-11-15 23:00:36 -07:00
Conrad Irwin
8c14a8fa95
Merge branch 'main' into collab_ui2
2023-11-15 21:04:47 -07:00
Conrad Irwin
0a9fb3978b
Enable panel switching
2023-11-15 21:01:00 -07:00
Nathan Sobo
e5ada92b7b
Remove initialize from the Element trait ( #3338 )
...
Initially, we imagined registering keyboard handlers in the initialize
phase so we would understand the relationships between focus handles
during the layout pass, which would allow us to assign assign `focus_in`
styles that impact layout.
However, we soon realized that many elements aren't created until paint
time anyway, such as within the uniform list. Since it's impossible to
know prior to paint whether an element contains the focused element, it
makes more sense to eliminate the `focus_in` styling helper.
Release Notes:
- N/A
2023-11-15 19:36:35 -07:00
Mikayla
78cea69172
Add focusable view and restore workspace deserialization. Partially restore split and tab functions
2023-11-15 16:36:43 -08:00
Mikayla
faf93aed4e
checkpoint
2023-11-15 14:17:04 -08:00
Nathan Sobo
4f09633379
Remove focus_in styling helper
2023-11-15 14:17:49 -07:00
Nathan Sobo
c6b374ebc9
Remove initialize method from Element trait
2023-11-15 14:11:19 -07:00
Conrad Irwin
0a51784dd0
Leaky, but better, test abstraction
2023-11-15 14:01:10 -07:00
Conrad Irwin
19c0b390d2
FileFinder tests ( #3336 )
...
Also including:
* Fixes for focus when closing the last item in a pane
* Workspace#active_item_as::<Editor>()
* cx.simulate_input()
Release Notes:
- N/A
2023-11-15 13:24:34 -07:00
Conrad Irwin
cebc8428c8
FileFinder tests
2023-11-15 13:16:28 -07:00
Antonio Scandurra
33a808a49b
WIP
2023-11-15 20:41:09 +01:00
Antonio Scandurra
759ce7440c
Avoid unnecessary call to with_element_id
in RenderViewWith
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 20:12:30 +01:00
Antonio Scandurra
1d04dc5dbf
Clear the state of keystroke matchers when focus changes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 20:11:07 +01:00
Antonio Scandurra
3978d4e872
Show fold indicators ( #3334 )
...
Release Notes:
- N/A
2023-11-15 20:10:24 +01:00
Antonio Scandurra
c225a3e5af
Don't use Mutex
or Arc
now that app state is not Send
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 18:50:34 +01:00
Antonio Scandurra
c7b7f7dfd5
Move render_view
into View::render_with
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 18:50:09 +01:00
Antonio Scandurra
17b8e4a684
Handle clicking folded ranges
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 18:19:26 +01:00
Antonio Scandurra
3ff8c78b58
Return a Fold
struct when querying the FoldMap
...
This contains a new `id` field that lets us distinguish among folds.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 17:09:59 +01:00
Conrad Irwin
1db4fab3ab
Add command palette tests and simulate_keystrokes ( #3330 )
...
Release Notes:
- N/A
2023-11-15 08:00:41 -07:00
Antonio Scandurra
786cc59d7a
Fix formatting
2023-11-15 11:07:32 +01:00
Antonio Scandurra
feeb44c122
Merge remote-tracking branch 'origin/main' into editor2-rename
...
# Conflicts:
# crates/editor2/src/editor.rs
# crates/editor2/src/element.rs
# crates/gpui2/src/style.rs
2023-11-15 09:51:33 +01:00
Antonio Scandurra
c3094b7c3d
Introduce gpui::render_view
2023-11-15 09:45:23 +01:00
Antonio Scandurra
1def355d44
Don't return Result
from TextStyle::highlight
2023-11-15 09:10:46 +01:00
Conrad Irwin
c81bd288d4
Fix test
2023-11-14 23:47:08 -07:00
Conrad Irwin
91b54b352b
Add command palette tests and simulate_keystrokes
2023-11-14 23:22:51 -07:00
Nathan Sobo
e37d7f5b0e
Fix click events by notifying when we assign pending_mouse_down ( #3329 )
...
We need to notify when we set the pending mouse down so we attach the
mouse up event listener before the mouse button is released.
Release Notes:
- N/A
2023-11-14 19:55:23 -07:00
Nathan Sobo
32ad486a8e
Document contexts
2023-11-14 19:52:51 -07:00
Nathan Sobo
00d8921ae9
Fix click events by notifying when we assign pending_mouse_down
2023-11-14 19:22:41 -07:00
Max Brunsfeld
8de8615176
Fix uncached raster_bounds computation and font selection
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-11-14 17:19:10 -08:00
Mikayla
7f72df6dcf
Merge branch 'main' into element-types
2023-11-14 15:49:10 -08:00
Mikayla Maki
df64a3c701
Not working yet file-finder2 ( #3321 )
...
Porting file_finder
Release Notes:
- N/A
2023-11-14 15:22:59 -08:00
Conrad Irwin
1109cd11c8
Abandon ship
2023-11-14 16:17:24 -07:00
Max Brunsfeld
ca63a99736
Enable tests in project panel 2 ( #3325 )
2023-11-14 15:02:51 -08:00
Max Brunsfeld
860959fe13
Implement simulated prompts in TestPlatform
2023-11-14 14:56:50 -08:00
Mikayla
6b25841e2a
WIP
2023-11-14 14:48:34 -08:00
Conrad Irwin
3b01a032ba
In the middle of stuff
2023-11-14 14:38:23 -07:00
Max Brunsfeld
123faed5b0
Re-enable all project panel tests
...
Some are still failing.
2023-11-14 12:45:46 -08:00
Mikayla
62fc0b2100
Remove unnescessary unimplemented
2023-11-14 12:12:02 -08:00
Mikayla
3419aaf17e
Fix several shutdown related bugs
2023-11-14 11:42:58 -08:00
Conrad Irwin
37d0b8424c
Merge branch 'main' into element-types
2023-11-14 12:10:26 -07:00
Conrad Irwin
5dda105182
Merge branch 'main' into element-types
2023-11-14 11:45:19 -07:00
Mikayla
27574524b8
Restore quit action
2023-11-14 10:31:55 -08:00
Conrad Irwin
b69b5742ed
Fix panicking unwrap()
2023-11-14 11:27:52 -07:00
Mikayla
caa0bae04f
Merge branch 'main' into core-actions
2023-11-14 10:11:39 -08:00
Nathan Sobo
bb584cc7c4
WIP
2023-11-14 11:00:52 -07:00
Max Brunsfeld
c7d80c7aac
Start work on creating gpui2 version of project panel ( #3299 )
...
I'm gonna land what I have, even though some features aren't ported yet,
since we're working on all of this code so actively.
* [x] get the basic structure compiling
* [x] get the panel laying out correctly
* [ ] rename / new file editor
* [ ] enable the tests
* [ ] drag and drop
* [ ] context menu
2023-11-14 09:56:46 -08:00
Max Brunsfeld
b893ac2a02
Merge branch 'main' into project-panel2
2023-11-14 09:33:48 -08:00
Nathan Sobo
e08f1690b3
Remove commented field
2023-11-14 09:33:28 -07:00
Antonio Scandurra
0b8ec5372b
Return the line length when x
is past the last glyph
...
Co-Authored-By: Julia <julia@zed.dev>
2023-11-14 17:06:18 +01:00
Antonio Scandurra
d855e91e43
Honor cmd-w
to close active item
...
Co-Authored-By: Julia <julia@zed.dev>
2023-11-14 16:38:20 +01:00
Nathan Sobo
364e3e7de5
Merge remote-tracking branch 'origin/main' into element-types
2023-11-14 01:55:58 -07:00
Nathan Sobo
c6e8a097a3
Rename back to div
2023-11-14 01:41:55 -07:00
Nathan Sobo
be18c47912
Remove unnecessary with_element_id calls
2023-11-14 01:38:13 -07:00
Nathan Sobo
a5306c2312
Remove div module
2023-11-14 01:25:10 -07:00
Nathan Sobo
80014a28ea
No compile errors or warnings
2023-11-14 01:23:09 -07:00
Nathan Sobo
27fb381cca
Checkpoint
2023-11-14 01:15:48 -07:00
Mikayla
ee4957dd47
Implement most core actions
2023-11-14 00:06:33 -08:00
Nathan Sobo
ce30a689a0
Checkpoint
2023-11-13 23:15:45 -07:00
Nathan Sobo
9382a304c4
Checkpoint
2023-11-13 23:03:14 -07:00
Nathan Sobo
1668330764
Checkpoint
2023-11-13 22:51:44 -07:00
Nathan Sobo
4a3a1ad0c3
Checkpoint
2023-11-13 22:42:19 -07:00
Nathan Sobo
54a817a5ab
Checkpoint
2023-11-13 22:28:33 -07:00
Nathan Sobo
f71afdb0f2
Checkpoint
2023-11-13 22:22:09 -07:00
Nathan Sobo
83a5f74493
Checkpoint
2023-11-13 22:02:05 -07:00
Conrad Irwin
ad017a5df5
Allow clicking on commands in the command palette
2023-11-13 21:42:27 -07:00
Nathan Sobo
044d9679ab
Checkpoint
2023-11-13 21:40:02 -07:00
Conrad Irwin
c5878cbd5f
Add Text::styled() and use it in command palette
...
Prevents jumping while typing
2023-11-13 19:53:55 -07:00
Nathan Sobo
872b5186e2
Checkpoint
2023-11-13 19:23:07 -07:00
Nathan Sobo
922bb3195b
WIP
2023-11-13 18:58:42 -07:00
Conrad Irwin
06f3c60be8
Fix action dispatching...
2023-11-13 18:56:59 -07:00
Nathan Sobo
76754c559c
WIP
2023-11-13 18:18:25 -07:00
Mikayla Maki
ca3341f066
Improve actions macros ( #3292 )
...
- `actions!` now uses `#[action]` on each struct to reduce duplication.
- The `#[action]` macro now works on unit structs.
- Renamed `menu::unused` to `menu::init` and added more explanation in
comments.
Release Notes:
- N/A
2023-11-13 17:14:56 -08:00
Mikayla
8bbced50c2
Add test tag
2023-11-13 16:51:59 -08:00
Mikayla
d197660d3b
Fix broken tests and comment out remaining tests
2023-11-13 16:46:06 -08:00
Mikayla
7d1593b90c
Merge branch 'main' into editor-tests
2023-11-13 15:53:22 -08:00
Mikayla
a4e9fea133
WIP
...
co-authored-by: conrad <conrad.irwin@zed.dev>
2023-11-13 15:53:04 -08:00
Nathan Sobo
aec7955ccf
Checkpoint
2023-11-13 16:40:29 -07:00
Conrad Irwin
25bc898807
Add KeyBindings to CommandPalette
2023-11-13 15:40:49 -07:00
Max Brunsfeld
2eedd2ad03
Merge branch 'main' into project-panel2
2023-11-13 13:39:13 -08:00
Conrad Irwin
f8bc9be284
Fix test
2023-11-13 13:53:08 -07:00
Conrad Irwin
f464d69ff8
Merge branch 'main' into dispatch-tree
2023-11-13 13:21:57 -07:00
Mikayla
0e3fd92bd0
Get editor tests compiling
2023-11-13 12:10:14 -08:00
Conrad Irwin
7e7b065535
Fix on_action on focusable
...
We were accidentally dropping the key context
2023-11-13 12:48:36 -07:00
Max Brunsfeld
1968becf94
Merge branch 'main' into project-panel2
2023-11-13 11:26:51 -08:00
Max Brunsfeld
13dd912817
Get left, right, and bottom docks rendering in the right places in the workspace
...
Co-authored-by: Julia <julia@zed.dev>
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-13 10:47:15 -08:00
Conrad Irwin
2625051f75
Better fix for multiple focuses in one frame
2023-11-13 11:32:05 -07:00
Mikayla
4c5d5105f3
Merge branch 'main' into editor-tests
2023-11-13 09:54:02 -08:00
Antonio Scandurra
348760556a
💄
2023-11-13 18:33:08 +01:00
Antonio Scandurra
a6c95ad331
Fix panic when querying available actions
2023-11-13 18:29:18 +01:00
Kirill Bulatov
dbd26ac651
Make inlay hint cache tests pass
...
Co-Authored-By: Conrad <conrad.irwin@gmail.com>
2023-11-13 18:25:21 +02:00
Antonio Scandurra
45fef27aa1
Clear all the state when clearing KeyDispatcher
2023-11-13 15:31:35 +01:00
Antonio Scandurra
44534b926d
Register actions on the right div
2023-11-13 15:21:47 +01:00
Antonio Scandurra
d0b5c654aa
Clear pending keystrokes when finding action
2023-11-13 14:48:08 +01:00
Antonio Scandurra
827b16bf5c
Capture node in dispatch tree even if it's not focusable
2023-11-13 14:42:16 +01:00
Kirill Bulatov
e257f7d0b1
Ignore tests for now
2023-11-13 15:02:24 +02:00
Antonio Scandurra
9c18253863
Register key and action listeners using Interactive::initialize
...
Co-Authored-By: Thorsten <mrnugget@gmail.com>
2023-11-13 11:37:57 +01:00
Antonio Scandurra
318cb784b2
Fix panic when calling with_key_dispatch
recursively
...
Co-Authored-By: Thorsten <mrnugget@gmail.com>
2023-11-13 10:17:52 +01:00
Nathan Sobo
7eaba8fabc
WIP
2023-11-10 14:47:45 -07:00
Nathan Sobo
74a0d9316a
Add a DispatchTree which will replace the existing key dispatch strategy
...
Instead of freezing a stack, we will record the entire dispatch tree so we can
change focus.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-11-10 11:56:14 -07:00
Antonio Scandurra
468a014bfc
Allow measuring arbitrary items in UniformList
2023-11-10 16:41:21 +01:00
Antonio Scandurra
c76fd93015
Use padded bounds to draw uniform list items
2023-11-10 16:41:21 +01:00
Antonio Scandurra
1d37191320
Ensure UniformList style is painted beneath its items
2023-11-10 16:41:21 +01:00
Antonio Scandurra
6929a71827
Ceil measured width for Text element
2023-11-10 16:41:13 +01:00
Antonio Scandurra
23fd1e19dc
Ignore element offset when manually drawing AnyElement
2023-11-10 11:35:57 +01:00
Antonio Scandurra
a0987f1121
Merge remote-tracking branch 'origin/main' into code-actions-2
2023-11-10 11:01:23 +01:00
Conrad Irwin
cc9fb9dea0
Fix panic caused by focusing the same thing twice
2023-11-09 22:25:46 -07:00
Conrad Irwin
e6d6806693
Tidy up some more modal behaviour
2023-11-09 21:11:44 -07:00
Conrad Irwin
a73265ace4
Merge branch 'main' into command_palette2
2023-11-09 20:58:54 -07:00
Conrad Irwin
77d92ff65a
Tidy up
2023-11-09 20:58:35 -07:00
Conrad Irwin
ff15ddf3e0
Render more than one item
2023-11-09 16:36:36 -07:00
Marshall Bowers
8bd02fdadc
Extend RGBA hex color parsing to support 3-value and 4-value variants ( #3295 )
...
This PR extends our support for parsing hex color codes to `Rgba` to
additionally support 3-value (`#rgb`) and 4-value (`#rgba`) formats.
See [here](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color )
for more details on these hex color variants.
Release Notes:
- N/A
2023-11-09 18:27:47 -05:00
Marshall Bowers
82861e3123
Improve digit duplication
2023-11-09 18:19:58 -05:00
Marshall Bowers
8f5adeb9c3
Improve error conditions when parsing hex colors
2023-11-09 18:00:17 -05:00
Marshall Bowers
417279e01b
Add support for parsing 3-value and 4-value hex codes
2023-11-09 17:45:05 -05:00
Conrad Irwin
fa153a0d56
Make command dispatching work
2023-11-09 15:14:23 -07:00
Max Brunsfeld
28d3d21108
Generalize Refineable derive macro to derive arbitrary traits on the refinement type
2023-11-09 13:23:31 -08:00
Nathan Sobo
f5f9d881d7
Polish actions macros
2023-11-09 11:57:13 -07:00
Antonio Scandurra
1a0ddc424b
WIP
2023-11-09 19:11:17 +01:00
Antonio Scandurra
b029083441
Start on rendering context menu in editor2
...
Co-Authored-By: Nathan <nathan@zed.dev>
Co-Authored-By: Mikayla <mikayla@zed.dev>
2023-11-09 19:03:10 +01:00
Piotr Osiewicz
a1d9f351db
Some more woogaloo around action dispatch
...
Co-authored-by: Conrad <conrad@zed.dev>
2023-11-09 18:51:41 +01:00
Antonio Scandurra
5d15886675
Render code actions indicator
...
Co-Authored-By: Nathan <nathan@zed.dev>
2023-11-09 18:43:26 +01:00
Piotr Osiewicz
194d615691
Fix up keybindings propagation
...
Co-authored-by: Conrad <conrad@zed.dev>
2023-11-09 18:33:36 +01:00
Piotr Osiewicz
d184e0d426
Start working on command_palette2
2023-11-09 17:54:05 +01:00
Antonio Scandurra
cfee1401ed
Extract AnyElement::{measure,draw}
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-09 17:30:41 +01:00
Mikayla
656eb9d455
WIP
2023-11-09 00:18:00 -08:00
Mikayla
43eb7f28d1
checkpoint
2023-11-08 23:16:04 -08:00
Mikayla
7a7ef1025d
Add Context::read_window, WindowHandle::root, and change ViewContext.view() to return a reference
2023-11-08 22:11:19 -08:00
Nathan Sobo
8c44f6a814
Simplify input handling ( #3282 )
...
This PR takes a different approach to input handling.
Rather than returning the optional input handler, focus handle pair from
the element trait, we instead allow you to register an input handler
imperatively on the window context with `WindowContext::handle_input`.
You pass a focus handle reference and any implementer of
`PlatformInputHandler`. There's an `ElementInputHandler<V>` that
implements `PlatformWindowHandler` so long as `V` implements
`InputHandler`.
Release Notes:
- N/A
2023-11-08 22:27:36 -07:00
Nathan Sobo
d52c5646b4
Add docs
2023-11-08 22:03:26 -07:00
Nathan Sobo
7c922ad6ee
Remove comments
2023-11-08 21:49:21 -07:00
Nathan Sobo
8278a07354
Actually set the input handler
2023-11-08 21:43:14 -07:00
Mikayla
2c67cc80ba
Merge branch 'main' into event-emitter
2023-11-08 20:10:38 -08:00
Nathan Sobo
9a022671a2
Simplify IME support
2023-11-08 21:06:00 -07:00
Mikayla
a97c8bf58f
Get workspace compiling with new event emitters
2023-11-08 19:29:00 -08:00
Conrad Irwin
97ce9e9586
de-dbg ( #3280 )
...
Remove some debugging from GoToLine
Release Notes:
- N/A
2023-11-08 18:45:42 -07:00
Conrad Irwin
47a63d5cb7
de-dbg
2023-11-08 18:36:12 -07:00
Max Brunsfeld
4350801399
Merge branch 'main' into bounds-for-range
2023-11-08 17:31:00 -08:00
Max Brunsfeld
277fbda356
Fix vertical position in first_rect_for_character_range
2023-11-08 17:27:32 -08:00
Mikayla
26fc36ee0e
First pass at allowing multiple event types to be emitted by an entity
2023-11-08 16:34:38 -08:00
Max Brunsfeld
b77fab0fae
🎨
2023-11-08 16:24:11 -08:00
Conrad Irwin
b90e34aeb2
go to line2 ( #3261 )
...
- MODAL
- center a div
- MOAR CODE
- Beautiful go to line modal
Release Notes:
- N/A
2023-11-08 17:16:00 -07:00
Max Brunsfeld
7a8f219251
Account for element's bounds in Editor::bounds_for_range
...
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-08 16:15:10 -08:00
Max Brunsfeld
1a37d9edc6
Register text input handlers via new element hook
...
Provide element bounds to the input handler's `bounds_for_rect` method.
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-08 15:48:55 -08:00
Conrad Irwin
1b9f76c01d
Refactor GoToLine to use cx.observe_new_views()
2023-11-08 16:23:05 -07:00
Max Brunsfeld
c81440424b
Fix blinking in editor2
( #3272 )
...
This also introduces new APIs in `ViewContext` for observing window
focus changes.
Release Notes:
- N/A
2023-11-08 13:53:43 -08:00
Conrad Irwin
cbdd4aca89
Merge branch 'main' into go-to-line2
2023-11-08 14:46:52 -07:00
Mikayla
097efdebc5
WIP
2023-11-08 12:49:09 -08:00
Conrad Irwin
dbe06fe5fc
Merge branch 'main' into add-collab-tests
2023-11-08 12:33:15 -07:00
Mikayla
409e17ad30
Merge branch 'main' into go-to-line2
2023-11-08 11:32:36 -08:00
Mikayla
1864d37d2e
Fix double borrow in synchronous tests
2023-11-08 11:23:35 -08:00
Max Brunsfeld
2ac28240e4
Merge branch 'main' into picker-actions
2023-11-08 10:49:44 -08:00
Max Brunsfeld
4c31a0c989
Preserve stateless interactivity when assigning elements an id
...
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Piotr <piotr@zed.dev>
2023-11-08 10:45:10 -08:00
Mikayla
e1cb993878
Get tests green
2023-11-08 10:38:43 -08:00
Marshall Bowers
ca2cc42800
Remove unused SceneBuilder
constructor
2023-11-08 13:30:20 -05:00
Antonio Scandurra
866df770cb
Extract a Frame
struct from Window
...
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Nathan <nathan@zed.dev>
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-08 13:24:11 -05:00
Antonio Scandurra
14b41d657d
Introduce ViewContext::on_blur
...
Co-Authored-By: Marshall <marshall@zed.dev>
2023-11-08 19:09:01 +01:00
Antonio Scandurra
2fd8b1f489
Fix blinking behavior in editor when receiving/losing focus
...
Co-Authored-By: Marshall <marshall@zed.dev>
2023-11-08 19:03:57 +01:00
Mikayla
9b30f490c7
Merge branch 'main' into add-collab-tests
2023-11-08 09:57:08 -08:00
Mikayla
3050c440f4
Merge branch 'main' into add-collab-tests
2023-11-08 09:41:57 -08:00
Antonio Scandurra
738b2ce6c5
Extract a Frame
struct from Window
...
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Nathan <nathan@zed.dev>
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-08 18:17:38 +01:00
Antonio Scandurra
0143fa2056
Fix clipping bugs in editor2
( #3269 )
...
Release Notes:
- N/A
2023-11-08 17:51:39 +01:00
Antonio Scandurra
d71f671476
Fix clipping in Line::draw
...
Co-Authored-By: Nathan <nathan@zed.dev>
Co-Authored-By: Marshall <marshall@zed.dev>
2023-11-08 17:32:21 +01:00
Antonio Scandurra
727fb4fbff
Use a consistent clipping strategy for drawing all the primitives
...
Co-Authored-By: Nathan <nathan@zed.dev>
2023-11-08 17:29:05 +01:00
Marshall Bowers
e9650c025f
Fix overflow in UniformList
2023-11-08 11:26:26 -05:00
Marshall Bowers
fe28d8faea
Merge branch 'main' into picker
2023-11-08 11:18:54 -05:00
Antonio Scandurra
e4bc03217d
gpui2: Type-erase futures. ( #3266 )
...
Project2's LLVM IR size is ~33-44% bigger than project1 due to the fact
that in gpui2 we call async_task::spawn(_local) with impl Future instead
of dyn Future, which leads to quite a few more instantiations of
RawTask.
LLVM-IR size for project2:
| build_type | main | this branch | project1 |
| debug | 2617795 | 2022814 | 1817866 |
| release | 4439033 | 3715086 | 3314489 |
Note that this PR is in line with what was done in GPUI1 (we've also
boxed futures there).
Release Notes:
- N/A
2023-11-08 14:21:40 +01:00
Piotr Osiewicz
2364f6b22e
gpui2: Type-erase futures.
...
Project2's LLVM IR size is ~20-25% bigger than project1 due to the fact that in gpui2 we call async_task::spawn(_local) with impl Future instead of dyn Future, which leads to quite a few more instantiations of RawTask.
LLVM-IR size for project2:
| build_type | main | this branch | project1 |
| debug | 2617795 | 2022814 | 1817866 |
| release | 4439033 | 3715086 | 3314489 |
2023-11-08 13:06:28 +01:00
Antonio Scandurra
6a0789c88e
Don't alpha blend when rasterizing paths
...
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-08 12:04:25 +01:00
Antonio Scandurra
8ac8a6f1d9
Re-enable most of the functionalities in editor2
2023-11-08 11:30:32 +01:00
Nathan Sobo
1949fa5147
Merge remote-tracking branch 'origin/main' into register-actions
2023-11-07 21:56:08 -07:00
Nathan Sobo
2a55b0dbfb
Simplify actions macro.
2023-11-07 21:48:47 -07:00
Nathan Sobo
fdc9ea7f9b
Docs and cleanup
2023-11-07 21:26:51 -07:00
Nathan Sobo
814e62050c
Register actions globally before main
2023-11-07 20:58:37 -07:00
Nathan Sobo
80630cd4d9
WIP
2023-11-07 20:23:02 -07:00
Max Brunsfeld
bdec1c8202
Merge branch 'main' into picker
2023-11-07 16:57:47 -08:00
Max Brunsfeld
9fe3073af7
Get basic text input working
...
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-07 16:33:02 -08:00
Max Brunsfeld
bd12e3edb6
Assign editors as text input handlers
...
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-07 15:44:00 -08:00
Conrad Irwin
b2ae08b159
Implement an InputHandler trait for gpui2
...
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Max <max@zed.dev>
Co-Authored-By: Julia <julia@zed.dev>
2023-11-07 16:30:04 -07:00
Conrad Irwin
acab2f9003
MODAL
2023-11-07 13:23:27 -07:00
Mikayla Maki
a3bd04fed2
Merge branch 'main' into picker
2023-11-07 11:44:02 -08:00
Max Brunsfeld
d690fb038d
Merge branch 'main' into picker
2023-11-07 11:27:14 -08:00
Conrad Irwin
b804b25c21
Fix confusing error message
2023-11-07 12:04:21 -07:00
Max Brunsfeld
6928ad1335
Rename List -> UniformList
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-11-07 11:00:53 -08:00
Max Brunsfeld
742180a3a8
Implement list scroll tracking
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-11-07 10:45:38 -08:00
Conrad Irwin
3a72f2122a
Implement Editor::single_line
2023-11-07 11:12:36 -07:00
Antonio Scandurra
4bf3a4e3d4
Implement movement in editor2
( #3256 )
...
Release Notes:
- N/A
2023-11-07 19:12:09 +01:00
Conrad Irwin
c89d6eb292
modals2 ( #3247 )
...
New Modal implementation for gpui2
Release Notes:
N/A
2023-11-07 10:56:46 -07:00
Antonio Scandurra
d7e86eb1c1
Merge remote-tracking branch 'origin/main' into editor-movement
2023-11-07 18:48:08 +01:00
Max Brunsfeld
69eb49a2ed
Merge branch 'main' into picker
2023-11-07 09:34:57 -08:00
Antonio Scandurra
2697862a02
Merge remote-tracking branch 'origin/main' into editor-movement
2023-11-07 17:54:46 +01:00
Antonio Scandurra
82a018996b
WIP
2023-11-07 17:54:14 +01:00
Antonio Scandurra
64b899c68c
Implement scrolling for editor2
( #3251 )
...
Release Notes:
- N/A
2023-11-07 17:53:57 +01:00
Julia
643146d768
Re-introduce a macro for defining actions for ease of use
...
Co-Authored-By: Piotr Osiewicz <piotr@zed.dev>
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-11-07 11:30:58 -05:00
Conrad Irwin
a2a28af052
Add Modals
...
P.S. this is all completely different now
Co-Authored-By: Marshall <marshall@zed.dev>
Co-Authored-By: Julia <julia@zed.dev>
2023-11-07 09:18:34 -07:00
Conrad Irwin
2e43015664
gpui event test ( #3249 )
...
- Flesh out gpui2 test support
- Smoke test for event handling
2023-11-07 08:43:15 -07:00
Conrad Irwin
6f74854525
Fix event ordering issues
2023-11-07 08:29:55 -07:00
Antonio Scandurra
b9e98c112f
Re-enable scrolling for EditorElement
...
Co-Authored-By: Julia <julia@zed.dev>
Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-07 15:48:08 +01:00
Antonio Scandurra
268be71d8e
Add colors for document highlights
2023-11-07 13:15:08 +01:00
Antonio Scandurra
bdf6e8bcc7
Merge remote-tracking branch 'origin/main' into editor2-paint
2023-11-07 13:09:48 +01:00
Antonio Scandurra
a866370dc1
Paint lines
2023-11-07 12:25:33 +01:00
Conrad Irwin
a7d52ee86f
Smoke test for event handling
2023-11-06 21:05:22 -07:00
Conrad Irwin
8e799b6e22
Flesh out gpui2 test support
2023-11-06 21:05:11 -07:00
Mikayla
85000eba81
wip: picker
...
co-authored-by: nathan <nathan@zed.dev>
co-authored-by: max <max@zed.dev>
2023-11-06 17:09:38 -08:00
Mikayla
3c93b585ab
Checkpoint
2023-11-06 15:11:22 -08:00
Mikayla
ea6755b1ca
Checkpoint
2023-11-06 14:26:10 -08:00
Mikayla
3f7dc59512
Snapshot for kirill
2023-11-06 12:33:20 -08:00
Mikayla
75a80811b3
WIP
2023-11-06 11:18:56 -08:00
Conrad Irwin
496518f3e8
Use gpui instead of gpui2 consistenytly
2023-11-06 11:50:33 -07:00