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
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
619e2b7e01
Remove platform::mac::runner
2021-04-10 00:19:25 -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
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
Nathan Sobo
301163bab7
Add lifecycle methods to Platform trait
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-09 13:03:26 -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
Max Brunsfeld
6873662c47
Use upstream git revision of core-foundation-rs
2021-04-09 08:45:23 -07: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
f656b387b3
Call SetActivationPolicy at the proper time
...
If this method is called too early, the menu bar won't be
clickable on startup until the window loses focus. Calling
it once the application finishes launching seems to fix
the issue.
See https://github.com/glfw/glfw/issues/1648
2021-04-08 16:11:45 -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
Nathan Sobo
d572c22794
Merge pull request #9 from zed-industries/debug-elements
...
Copy element debug JSON to the clipboard on cmd-alt-i
2021-04-08 08:09:08 -06: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
b1536cca58
Add README tip
2021-04-07 21:56:45 -06: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
0a12774680
Add a stub of a native 'File' menu
2021-04-07 17:49:44 -07:00
Max Brunsfeld
7e5186e4a0
Start work on a native application menu
...
Add an application menu with a quit command, bound to command-q
2021-04-07 17:48:22 -07:00
Max Brunsfeld
57a3207897
Merge branch 'modified-status-in-tabs'
2021-04-07 15:43:13 -07:00
Max Brunsfeld
1c23eeccc3
Add CI status badge to the README
2021-04-07 15:40:10 -07: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
347d13bac7
Merge pull request #7 from zed-industries/roadmap
...
Add a README with a high-level roadmap
2021-04-06 23:59:50 -06:00
Nathan Sobo
aaa007a537
Add Max's suggestion
2021-04-06 23:59:34 -06: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
13ee86e334
Remove unused method
2021-04-06 20:47:09 -06:00
Nathan Sobo
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