Commit Graph
56 Commits
Author SHA1 Message Date
Nathan Sobo aa2a2ececf Merge pull request #37 from zed-industries/move-line-up-down
Move line up and down
2021-05-03 18:25:42 -06:00
Nathan SoboandMax Brunsfeld 837f34a498 Fix cases where new folds that end where existing folds start
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-03 14:30:50 -06:00
Nathan Sobo 3d6336b12a Merge pull request #29 from zed-industries/traverse-symlinks
Traverse symlinks when populating directories
2021-04-28 14:27:19 -06:00
Nathan Sobo e423a49984 Traverse symlinks when populating directories 2021-04-28 14:16:54 -06:00
Nathan Sobo 6b357a6ae7 Fix tests
I didn't realize a previous change had broken stuff. We need to always call `remove_dropped_entities` and `update_windows` in `flush_effects`, even if there aren't any effects. To achieve this, I use a `loop` to ensure we call these methods at least once before breaking.
2021-04-28 14:16:10 -06:00
Nathan Sobo 92775290d9 Merge pull request #28 from zed-industries/close-tabs
Add tab close buttons
2021-04-28 13:19:42 -06:00
Nathan Sobo 53013b3ab7 Merge remote-tracking branch 'origin/master' into close-tabs 2021-04-28 13:15:00 -06:00
1cb3fdbf7d Synthesize a mouse moved event in the previous position after painting a scene
This ensures that we correctly update the hover state of elements whose position has changed relative to the mouse cursor even though the mouse hasn't actually moved.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-28 13:02:39 -06:00
Nathan SoboandAntonio Scandurra b5463dcd1e Close tabs when X is clicked
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-28 10:00:45 -06:00
Nathan SoboandAntonio Scandurra bc1f758b66 Lighten tab close button when clicked
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-28 09:39:13 -06:00
Nathan SoboandAntonio Scandurra 8c51bb253d Render sprited icons at 2x resolution since we don't align to pixel grid
This provides the sampler with a bit more data when positioning sprites at subpixel positions.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-28 09:32:38 -06:00
Nathan Sobo 69cc2b0483 WIP 2021-04-27 18:35:24 -06:00
Nathan Sobo 58e336354e Align close tab icon cleanly with unsaved indicator 2021-04-27 16:51:23 -06:00
Nathan SoboandMax Brunsfeld eca9f495a1 Render a close tab button on tab hover
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-27 11:58:59 -06:00
Nathan SoboandMax Brunsfeld bb95d58c79 Relay hover events to tabs
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-27 11:37:14 -06:00
Nathan SoboandAntonio Scandurra 3d1e44ca29 Capture hover events on tabs
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-27 09:23:44 -06:00
Nathan Sobo fc4b7e2a2a Introduce MouseEventHandler
Still need to give elements the ability to re-render their parent view. Once that is in place, I think we can implement hoverable close tab buttons.
2021-04-26 21:52:18 -06:00
Nathan Sobo a47b0b4ca6 Add a mechanism for storing ephemeral values
I'll use this in the mouse event handler to track hover and click state.
2021-04-26 21:24:23 -06:00
Nathan Sobo d31f2defa5 Merge pull request #15 from zed-industries/rescan
Update Worktrees when the file system changes
2021-04-26 20:35:01 -06:00
Nathan Sobo f29f1b073d Preserve selected file finder path when Worktree changes 2021-04-26 20:23:56 -06:00
Nathan Sobo 870925e2ac Rerender tabs when buffers' file handles change
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-26 14:16:35 -07:00
Nathan Sobo f770a70929 WIP: Maintain an IgnoreStack while scanning
All ignore files associated with ancestors of the directory currently being scanned are included in the stack. This allows us to compute ignore status for each entry as we initially scan it. If we encounter an ignored directory, we replace the stack with an "ignore all" variant that simply ignores every descendant of the ignored directory.

This is incomplete. We still need to construct an ignore stack in an appropriate state when rescanning subtrees in response to events. It also doesn't deal with individual ignore files being added, removed, or changed. I think we could potentially use the ignore stack while reconstructing the tree for this purpose.
2021-04-24 23:59:03 -06:00
Nathan SoboandMax Brunsfeld dced9469f5 WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-23 12:47:23 -06:00
Nathan SoboandMax Brunsfeld c9d7249305 WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-23 11:37:23 -06:00
Nathan SoboandMax Brunsfeld a898acf6b5 WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-21 12:29:16 -06:00
Nathan SoboandMax Brunsfeld 56b48c8229 WIP: Establish new invariant-maintaining API for mutating worktree snapshots
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-21 12:08:09 -06:00
5cbbf620ed WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:59:12 -06:00
9899614f31 Remove task_done condvar which supported finish_pending_tasks
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:45:42 -06:00
1a8e909a38 Ensure we remove broadcast channels after all conditions resolve
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:43:13 -06:00
dcc2bdfd4c Panic when awaiting conditions on dropped entities
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:36:54 -06: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
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
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
Nathan Sobo db8cce9aa9 Merge branch 'master' into rescan 2021-04-14 22:26:09 -06:00
Nathan Sobo d0ae44c100 Merge pull request #21 from zed-industries/self-hosted-runner
Try to run our CI on a mac mini in my closet
2021-04-14 22:07:22 -06:00
Nathan Sobo da68bd6c2b Try to run our CI on a mac mini in my closet 2021-04-14 21:56:24 -06: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
Nathan Sobo ce7966d00b Merge pull request #16 from zed-industries/scoped-pool
Replace easy-parallel with scoped-pool for path searches
2021-04-14 09:11:26 -06: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
Nathan Sobo f455355c78 Merge pull request #20 from zed-industries/async-prompt-for-paths
Prompt for paths asynchronously to avoid double borrow
2021-04-14 09:06:14 -06:00
Nathan SoboandBrooks Swinnerton 26f9127e83 Spawn worktree scanning on the scoped pool
Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-13 20:09:45 -06:00
Nathan SoboandBrooks Swinnerton e4f41de7bf Invert condition when opening entries
Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-13 20:09:45 -06:00
Nathan SoboandMax Brunsfeld e3fbb97ecc Throttle worktree state updates on the main thread
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-13 20:09:45 -06:00
Nathan Sobo f3a0a11fc5 WIP 2021-04-13 20:09:45 -06:00
Nathan Sobo bc34ff54fe Add a failing test for detecting a file move 2021-04-13 20:09:45 -06:00
Nathan Sobo 41f50cdb61 Require a context when constructing a worktree 2021-04-13 20:09:45 -06:00
Nathan SoboandBrooks Swinnerton 0cc5e8f742 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-13 20:07:42 -06:00
Nathan SoboandBrooks Swinnerton 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
Nathan Sobo 7469240a2e Rename application binary to improve appearance of app menu 2021-04-12 19:52:30 -06:00