Commit Graph
174 Commits
Author SHA1 Message Date
Antonio ScandurraandNathan Sobo ddd746b9f9 Use env_logger instead of simplelog in tests
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-20 17:34:14 +02:00
Antonio ScandurraandNathan Sobo 37444acc9c Time out condition after 200ms and add basic unit tests for it
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-20 17:21:29 +02:00
Antonio Scandurra cd7dccd30c Replace remaining usages of finish_pending_tasks with condition 2021-04-20 12:28:30 +02:00
Antonio Scandurra ebb7124405 Use scan_complete and the new ModelHandle::condition test method 2021-04-20 11:48:12 +02:00
Antonio Scandurra d11d5483b6 Rework Worktree::scan_complete to use a watch 2021-04-20 11:24:46 +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
Max Brunsfeld f27b01fcd5 Get all worktree tests passing
* Store non-canocalized path on worktree, but canonicalize it for the purpose of processing events
* Simplify rescan unit test
2021-04-19 14:11:55 -07:00
Max Brunsfeld f06164ade9 💄 process_events 2021-04-19 13:19:34 -07:00
Max Brunsfeld e44a59dc7d Worktree: handle files being renamed to overwrite dirs 2021-04-19 13:07:32 -07:00
Max Brunsfeld 0fd3f55730 💄 Reduce nesting in Snapshot::remove_path 2021-04-19 12:15:24 -07:00
Max BrunsfeldandAntonio Scandurra 3e93fb9459 Get worktree randomized test passing
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-19 11:59:22 -07:00
Antonio ScandurraandMax Brunsfeld 122926dcde WIP: Associate entry names with directory children
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-04-19 20:16:54 +02:00
Antonio Scandurra f8f6a85ab0 WIP 2021-04-19 19:41:37 +02:00
Antonio Scandurra 06858c023c Enable logging automatically when passing a SEED env variable 2021-04-19 13:01:13 +02:00
Antonio Scandurra 2c72f9c14f Don't change parent entries for moves within the same directory 2021-04-19 13:00:13 +02:00
Antonio Scandurra f29c42904e Recompute the PathEntry for each file under a re-parented subtree 2021-04-19 12:53:02 +02:00
Antonio Scandurra ca62d01b53 Start on a randomized test for Worktree 2021-04-19 12:01:33 +02:00
Max Brunsfeld 17f2df3e71 Update entries' filenames when handling move events 2021-04-17 15:22:52 -07:00
Max Brunsfeld 5b05e57441 Start filling out new structure for processing fs events 2021-04-16 15:22:46 -07:00
Nathan SoboandMax Brunsfeld 6a549727ce WIP: Lay down a skeleton for another attempt at rescan
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-16 12:53:07 -06:00
Antonio Scandurra e19a56c366 WIP 2021-04-16 19:54:46 +02:00
Antonio Scandurra ce5fbbb46b WIP 2021-04-16 17:22:30 +02:00
Antonio Scandurra b68b0fce56 Add simple unit test for SumTree::{edit,get} 2021-04-16 16:26:40 +02:00
Antonio Scandurra 457d945376 Avoid unnecessary cloning of items when calling SumTree::edit 2021-04-16 16:16:46 +02:00
Antonio Scandurra 09c4d65194 💄 2021-04-16 16:13:28 +02:00
Antonio Scandurra fbd5fbd703 Parallelize scanning of changed directories 2021-04-16 16:11:55 +02:00
Antonio Scandurra fd12117288 Start on rescanning Worktree 2021-04-16 15:25:43 +02:00
Nathan Sobo b55acb63f0 Fix warning 2021-04-15 21:05:18 -06:00
Nathan Sobo af47ef94d5 Remove unused throttle module 2021-04-15 21:04:30 -06:00
Nathan Sobo 358fad8242 Replace the old worktree with the new one 2021-04-15 21:02:30 -06:00
Nathan Sobo 5648c67d54 Perform path matching on Worktree snapshots
We're going to need something that can be moved to a background thread. Worktree used to be easy to clone, but that's no longer really true. Instead we can take a snapshot.
2021-04-15 20:29:45 -06:00
Nathan Sobo e55abc4220 Silence warning about binary name 2021-04-15 20:28:20 -06:00
Nathan Sobo 0caf908c78 Remove unused timer module 2021-04-15 20:28:10 -06:00
Max BrunsfeldandNathan Sobo 3fa4e5acee Fill out some missing parts of the new worktree module
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-15 17:39:32 -07:00
Max BrunsfeldandNathan Sobo fbaab121f6 Add fsevent crate to workspace
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-15 16:29:55 -07:00
Max BrunsfeldandAntonio Scandurra 497dedbb84 Get file IO test passing on new worktree
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-15 11:22:00 -07:00
Antonio ScandurraandNathan Sobo cefc753123 Re-introduce fuzzy-matching on the new WorkTree implementation
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-15 18:18:53 +02:00
070069d65e Ensure top of cursor stack is either empty or a leaf node
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-04-15 18:12:56 +02:00
Antonio Scandurra 0bbff090f0 WIP 2021-04-15 12:10:37 +02:00
Nathan Sobo db8cce9aa9 Merge branch 'master' into rescan 2021-04-14 22:26:09 -06:00
Max BrunsfeldandNathan Sobo 3f71867af8 Improve styling of tabs
* Enforce a min width per tab
* Center the title within tab, regardless of icon
* Render icon over the top of the tab title
* Ensure there is always a fixed minimum amount of filler to the right of all tabs

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-14 15:14:46 -07:00
Nathan Sobo 36e6ed3aef WIP 2021-04-14 12:38:16 -06:00
Nathan SoboandAntonio Scandurra cbc1d83067 Get worktree out of the way so we can try again
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-14 11:09:06 -06:00
Antonio ScandurraandNathan Sobo f4538e9eb5 Generalize pasting when number of selections doesn't match clipboard's
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-14 19:02:44 +02:00
Nathan SoboandAntonio Scandurra e97ce4ff58 Fix after method rename
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-14 09:11:11 -06:00
Nathan SoboandBrooks Swinnerton 4cef25eff8 Replace easy-parallel with scoped-pool for path searches
The easy-parallel crate spawned new threads on each call, which was resulting in way too many threads.

Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-14 09:08:52 -06:00
Antonio Scandurra cf23b0e4a2 Prompt for paths asynchronously to avoid double borrow 2021-04-14 16:30:03 +02:00
Antonio Scandurra 40980edffe Merge branch 'master' into copy-paste 2021-04-14 12:05:52 +02:00
Antonio Scandurra a1053f7820 📝 2021-04-14 11:59:39 +02:00