Commit Graph
191 Commits
Author SHA1 Message Date
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
Nathan Sobo 6ea2581e3e Merge pull request #12 from zed-industries/platform-trait
Hide platform code entirely behind App for framework users
2021-04-12 10:48:51 -06:00
Nathan Sobo 487b60de06 Merge pull request #10 from zed-industries/menus
Populate the menu bar
2021-04-12 10:48:33 -06: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 ScandurraandNathan 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 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 SoboandMax 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
Nathan SoboandMax Brunsfeld 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