Commit Graph
39175 Commits
Author SHA1 Message Date
Nathan Sobo 1c80ad0621 Remove platform::mac::runner 2021-04-10 00:19:25 -06:00
Nathan Sobo 9f59237c51 Remove MutableAppContext::downgrade 2021-04-10 00:14:26 -06:00
Nathan Sobo 6d716aa573 Allow effects to be flushed before TestAppContext::update callback completes 2021-04-10 00:11:13 -06:00
Nathan Sobo 6eb89a4194 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 df223714f3 Pass the on_finish_launching callback to Platform::run 2021-04-09 21:33:17 -06:00
Max Brunsfeld 7f27ece707 Get app running and test passing after gpui App+Platform restructure 2021-04-09 16:56:32 -07:00
Nathan SoboandMax Brunsfeld 19cb636bf6 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 e2cf66480f Add lifecycle methods to Platform trait
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-09 13:03:26 -06:00
Max Brunsfeld 46b6efc549 Merge branch 'master' into menus 2021-04-09 10:34:21 -07:00
Antonio Scandurra 36ea197da7 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 da0aebb0ec Use upstream git revision of core-foundation-rs 2021-04-09 08:45:23 -07:00
Antonio Scandurra 4cf1fcaefc 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 8cd3a22bed Move UndoMap down 2021-04-09 11:25:28 +02:00
Antonio Scandurra 0be926964f Exercise arbitrary undos/redos in single-peer buffer randomized test 2021-04-09 11:22:25 +02:00
Antonio Scandurra f951261b65 Store only max undo by replica instead of individual undos in Fragment 2021-04-09 11:22:25 +02:00
Antonio Scandurra 900c422bed Compute minimal version_in_range on edit and account for undo 2021-04-09 11:22:22 +02:00
Max Brunsfeld 4c184f50f7 Implement File > Open menu item 2021-04-08 22:25:54 -07:00
Max Brunsfeld e6279311df 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 fffbc0de29 Create an API for assigning the menubar contents 2021-04-08 16:01:36 -07:00
Antonio Scandurra 63838c365b WIP 2021-04-08 16:57:46 +02:00
Nathan Sobo 222b872cab 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 7e9bed30ab 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 94d86006d8 Introduce undo/redo support for arbitrary operations in Buffer 2021-04-08 15:05:05 +02:00
Nathan Sobo 282f972498 Add README tip 2021-04-07 21:56:45 -06:00
Nathan Sobo 5220ebaed2 Order debug JSON and allow elements to be named; copy to clipboard 2021-04-07 21:54:14 -06:00
Nathan Sobo cb1d98fdb5 Log prettified element debug JSON to on cmd-alt-i 2021-04-07 21:54:14 -06:00
Nathan Sobo a2f3d0cfba Add ability to debug element trees as JSON 2021-04-07 21:54:14 -06:00
Max Brunsfeld bc4f5ea3df Add a stub of a native 'File' menu 2021-04-07 17:49:44 -07:00
Max Brunsfeld f673c6aa6e 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 45f76b2d5e Merge branch 'modified-status-in-tabs' 2021-04-07 15:43:13 -07:00
Max Brunsfeld c43b78afa1 Add CI status badge to the README 2021-04-07 15:40:10 -07:00
Max Brunsfeld 511e444015 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 ce705ce486 Restructure event-handling methods in workspace ItemView 2021-04-07 15:05:16 -07:00
Max Brunsfeld 51e34ebbb6 Add assertions about Dirtied events in test 2021-04-07 14:52:22 -07:00
Nathan Sobo b62a02a662 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 ed06bd1556 Add Max's suggestion 2021-04-06 23:59:34 -06:00
Nathan Sobo 6134728f32 Fix tests 2021-04-06 20:59:55 -06:00
Nathan Sobo be8455070b persisted_version -> saved_version 2021-04-06 20:59:44 -06:00
Nathan Sobo 0f97a62659 Remove unused method 2021-04-06 20:47:09 -06:00
Nathan SoboandMax Brunsfeld 13d41b36a5 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 139283c161 wip 2021-04-06 18:25:50 -07:00
Max Brunsfeld c05b909697 Implement Buffer::is_modified by storing persisted version 2021-04-06 16:19:17 -07:00
Max Brunsfeld 44a4084055 Update tab's modified icon via a saved event emitted from buffer 2021-04-06 15:47:05 -07:00
Max Brunsfeld ecd5698f4a Start work on displaying modified status in tabs 2021-04-06 14:37:21 -07:00
Max Brunsfeld fbc1294133 Silence warning in text example 2021-04-06 14:36:16 -07:00
Max BrunsfeldandNathan Sobo 4e93a56e29 Vertically center linebox child element
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-06 13:03:19 -07:00
Nathan Sobo 2107e726f4 Vertically center glyphs in Line::paint based on ascender/descender for line 2021-04-06 09:15:21 -06:00
Nathan Sobo 36e0d4d37b Render example text in example via Line::paint 2021-04-06 09:15:21 -06:00
Nathan Sobo 16c0ba1f68 Open platform window before first invalidation
This ensures we have an invalidation handler present so we render the first frame in all cases.
2021-04-06 09:15:21 -06:00
Nathan Sobo 221bba6f61 WIP: Add example app to test text rendering 2021-04-06 09:15:21 -06:00