Commit Graph
103 Commits
Author SHA1 Message Date
Max BrunsfeldandNathan Sobo 86c0f41c9e Move set_menus method to MutableAppContext
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 14:38:18 -07:00
Max BrunsfeldandNathan Sobo 41358f34e3 Set up menu handler in App::new
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 14:25:00 -07:00
Max BrunsfeldandNathan Sobo 2332b7e06b Move open command handler to workspace global action
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 14:18:24 -07:00
Max BrunsfeldandNathan Sobo 3247f49954 Allow menu items to specify arguments for their commands
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 14:09:49 -07:00
Max Brunsfeld b2723fd1dd Remove unused variables 2021-04-12 11:45:41 -07:00
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 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 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
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 SoboandMax 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