Commit graph

36 commits

Author SHA1 Message Date
Nathan Sobo
afb623b6b5 Make Workspace::open_entry2, which returns a dyn ItemViewHandle
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-03 16:25:18 -06:00
Max Brunsfeld
8cffa8bdb2 Move file handle from buffer to buffer view 2021-04-29 17:47:06 -07:00
Max Brunsfeld
9b0cc0a032 Avoid cancelling ::open_entry task in FileFinder 2021-04-29 15:03:46 -07:00
Max Brunsfeld
5826a976ef Return a future from WorkspaceView::open_paths
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-29 14:55:28 -07:00
Max Brunsfeld
88b88a8067 Start work on opening files 2021-04-28 17:46:27 -07:00
Nathan Sobo
c9d7249305 WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-23 11:37:23 -06:00
Antonio Scandurra
cd7dccd30c Replace remaining usages of finish_pending_tasks with condition 2021-04-20 12:28:30 +02:00
Nathan Sobo
a4c1fe5a0b WIP: Add a condition method to model and view handles for use in tests
It returns a future that resolves when the provided predicate returns true. The predicate is called any time the handle's targeted entity calls notify.

Still need to add a timeout and completely remove finsih_pending_tasks.
2021-04-19 22:01:54 -06:00
Max Brunsfeld
69a43afcbd Add a method for waiting until a worktree's current scan is complete
Start removing usages of finish_pending_tasks in tests
2021-04-19 17:45:01 -07:00
Nathan Sobo
358fad8242 Replace the old worktree with the new one 2021-04-15 21:02:30 -06:00
Nathan Sobo
db8cce9aa9 Merge branch 'master' into rescan 2021-04-14 22:26:09 -06:00
Antonio Scandurra
40980edffe Merge branch 'master' into copy-paste 2021-04-14 12:05:52 +02:00
Nathan Sobo
24cdfd2471 Identify Worktree entries by their inode
This will allow us to re-parent elements when re-scanning when the file system changes.
2021-04-13 20:09:41 -06:00
Nathan Sobo
0a2d2aa684 Replace app/app_mut on contexts with AsRef/AsMut impls
Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-13 20:07:25 -06:00
Antonio Scandurra
13514aae6c Allow metadata to be associated with text written to clipboard
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-04-13 19:03:56 +02: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
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
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
Max Brunsfeld
ae57178f3e Restructure event-handling methods in workspace ItemView 2021-04-07 15:05:16 -07: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
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
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
Max Brunsfeld
46f8665e41 Add save command
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-05 16:52:33 -07:00
Antonio Scandurra
2c24ec2e46 Update old usages of ctx.spawn to detach the associated task
This lets us open buffers and renders tabs and editors correctly, modulo
a small bug when rendering the gutter that I am going to fix next.
2021-03-26 14:15:01 +01:00
Antonio Scandurra
0906b2a2f4 Remove unused dependencies and avoid instantiating FontCache in tests 2021-03-25 10:48:32 +01:00
Antonio Scandurra
9178e91cc0 Extract platform-dependant FontSystem
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-24 16:51:28 +01:00
Nathan Sobo
119aa452b6 Overhaul the entire element system
Now the Element trait is designed to be wrapped in a Lifecycle enum that gets placed inside an ElementBox. This allows the framework to store data on behalf of the Element implementation, such as sizes, bounds, and also implementation-specific LayoutState and PaintState types. This makes it easier to reason about which data is available in each Element method.
2021-03-21 20:54:23 -06:00
Nathan Sobo
046fe3fff9 Dispatch keystrokes and fix rerendering when window invalidated
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-03-21 11:38:23 -06:00
Nathan Sobo
f5df3681f8 Add file_finder module
Still need to wire up key bindings to make it toggle.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-03-21 10:50:07 -06:00
Nathan Sobo
cfe3aae2de WIP: Get everything compiling again and keep window open 2021-03-19 12:12:10 -06:00
Nathan Sobo
9bab29c72f Get workspace module in and compiling 2021-03-18 15:52:46 -06:00