Max Brunsfeld
afa3f6dcd1
Add test coverage for edit event grouping in transactions
2021-04-12 11:45:41 -07:00
Max Brunsfeld
a0da23799d
Merge branch 'master' into undo-stack
2021-04-12 10:49:46 -07:00
Antonio Scandurra
8f6b8b2e43
📝
2021-04-12 19:05:56 +02:00
Antonio Scandurra
3a33fab091
Generate operation when updating selection set after undo/redo
2021-04-12 17:47:19 +02:00
Antonio Scandurra
59a9f0102f
Remove unnecessary edit_at method
2021-04-12 17:36:56 +02:00
Antonio Scandurra
be68af43fc
Add unit test for history manipulation (undo, redo, grouping)
2021-04-12 16:01:41 +02:00
Antonio Scandurra
606e6bed56
Simplify buffer history management
2021-04-12 16:01:41 +02:00
Antonio Scandurra
ab14b99a73
Introduce transactional edits and allow snapshotting of selections
2021-04-12 16:01:41 +02:00
Antonio Scandurra
40bfdd38ae
💄
2021-04-12 16:01:41 +02:00
Antonio Scandurra
551c86f87a
WIP: Start on pushing selection management down into Buffer
2021-04-12 16:01:41 +02:00
Antonio Scandurra
472ff1621f
Merge UndoHistory and History, storing also operations in the latter
2021-04-12 16:01:41 +02:00
Antonio Scandurra and Nathan Sobo
d0b06a2a1d
Don't clear redo stack when editing
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-12 16:01:41 +02:00
Antonio Scandurra
e534fe9112
Add initial support for undo/redo stack
...
We're still not capturing selections/anchors, that's right up next.
2021-04-12 16:01:41 +02:00
Nathan Sobo
b9b511148b
Make gpui::platform module private
2021-04-10 00:22:45 -06:00
Nathan Sobo
4638391412
Remove MutableAppContext::downgrade
2021-04-10 00:14:26 -06:00
Nathan Sobo
620eedb727
Allow effects to be flushed before TestAppContext::update callback completes
2021-04-10 00:11:13 -06:00
Nathan Sobo
97a8a8ed43
Remove unsafe code from App::test_async
...
I don't actually think it was correct to allow the future to borrow a mutable app reference. I went back to passing a wrapper around the refcell to async tests. They'll be a bit more annoying to write but also totally safe.
2021-04-10 00:05:09 -06:00
Nathan Sobo
448dace281
Pass the on_finish_launching callback to Platform::run
2021-04-09 21:33:17 -06:00
Max Brunsfeld
079050541f
Get app running and test passing after gpui App+Platform restructure
2021-04-09 16:56:32 -07:00
Nathan Sobo and Max Brunsfeld
4ecc17b1bb
WIP: Make App the only entry point from main
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-09 13:38:09 -06:00
Max Brunsfeld
00d7dafbba
Merge branch 'master' into menus
2021-04-09 10:34:21 -07:00
Antonio Scandurra
07b8a105a6
Merge pull request #11 from zed-industries/undo
...
Introduce undo/redo support for arbitrary operations in `Buffer`
2021-04-09 18:50:36 +02:00
Antonio Scandurra
cba8730d5a
Don't report edits in Buffer::undo_or_redo
...
We will report them in public higher-level methods like `Buffer::undo`
and `Buffer::redo`.
2021-04-09 14:15:17 +02:00
Antonio Scandurra
bf3a5d0a0d
Move UndoMap down
2021-04-09 11:25:28 +02:00
Antonio Scandurra
4d9ff1109a
Exercise arbitrary undos/redos in single-peer buffer randomized test
2021-04-09 11:22:25 +02:00
Antonio Scandurra
2e7ca8ea46
Store only max undo by replica instead of individual undos in Fragment
2021-04-09 11:22:25 +02:00
Antonio Scandurra
7b6fbe1d89
Compute minimal version_in_range on edit and account for undo
2021-04-09 11:22:22 +02:00
Max Brunsfeld
7ebcbdc0cb
Implement File > Open menu item
2021-04-08 22:25:54 -07:00
Max Brunsfeld
334de06322
Create an API for assigning the menubar contents
2021-04-08 16:01:36 -07:00
Antonio Scandurra
c20935de91
WIP
2021-04-08 16:57:46 +02:00
Antonio Scandurra
5e0d5b7f9a
Fix Debug impl for Text to only display the slice a Text refers to
...
...as opposed to the whole string.
2021-04-08 15:05:33 +02:00
Antonio Scandurra
44ab38ac98
Introduce undo/redo support for arbitrary operations in Buffer
2021-04-08 15:05:05 +02:00
Nathan Sobo
9f6f27f305
Order debug JSON and allow elements to be named; copy to clipboard
2021-04-07 21:54:14 -06:00
Nathan Sobo
cbb23a93a6
Log prettified element debug JSON to on cmd-alt-i
2021-04-07 21:54:14 -06:00
Nathan Sobo
0664321125
Add ability to debug element trees as JSON
2021-04-07 21:54:14 -06:00
Max Brunsfeld
187eb95b13
Throw a little between filename and modified icon
...
We probably need a primitive to right-align an element within
its parent, but I don't have strong opinions about how that
should be designed, so I'm just adding this as a temporary
measure so that the tabs won't look too ugly in the meantime.
2021-04-07 15:39:09 -07:00
Max Brunsfeld
ae57178f3e
Restructure event-handling methods in workspace ItemView
2021-04-07 15:05:16 -07:00
Max Brunsfeld
a95d33f662
Add assertions about Dirtied events in test
2021-04-07 14:52:22 -07:00
Nathan Sobo
05125f76bd
Fix tests
2021-04-06 20:59:55 -06:00
Nathan Sobo
3f9d224e0f
persisted_version -> saved_version
2021-04-06 20:59:44 -06:00
Nathan Sobo and Max Brunsfeld
2619bc4602
Update modified status by emitting event whenever buffer is dirtied or saved
...
I used the word "dirty" because it felt more expressive than "modified" to me, but not married to it. Tagging Max because we did a lot of this thinking together.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-06 20:46:35 -06:00
Max Brunsfeld
d724387158
wip
2021-04-06 18:25:50 -07:00
Max Brunsfeld
685665f3c0
Implement Buffer::is_modified by storing persisted version
2021-04-06 16:19:17 -07:00
Max Brunsfeld
bd37b11306
Update tab's modified icon via a saved event emitted from buffer
2021-04-06 15:47:05 -07:00
Max Brunsfeld
dabd6abe37
Start work on displaying modified status in tabs
2021-04-06 14:37:21 -07:00
Max Brunsfeld and Nathan Sobo
c632aab382
Vertically center linebox child element
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-06 13:03:19 -07:00
Nathan Sobo
2a9e71d725
Vertically center glyphs in Line::paint based on ascender/descender for line
2021-04-06 09:15:21 -06:00
Antonio Scandurra
e0c43dac25
Implement SVG rendering
2021-04-06 13:46:33 +02:00
Nathan Sobo
2970e934da
Use handles to obtain entities in future callbacks
...
This guarantees that the spawning entity will be present and simplifies
the logic for obtaining the entity. Now we can forward the results of spawned futures and streams in the same way regardless of whether what spawned them was a model or a view.
2021-04-05 20:04:04 -06:00
Max Brunsfeld and Nathan Sobo
fda1394057
Rename Task -> EntityTask (a BackgroundTask is just a Task)
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-05 17:03:42 -07:00