Commit Graph
3952 Commits
Author SHA1 Message Date
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
Max Brunsfeld 1eba61c08d Flush the fs event stream on construction 2021-04-27 21:43:41 -07:00
Nathan Sobo 69cc2b0483 WIP 2021-04-27 18:35:24 -06:00
Max BrunsfeldandNathan Sobo c1d35b099b Ignore 'historical' events from fs event stream
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-27 16:50:05 -07:00
Max BrunsfeldandNathan Sobo 907b537a0b Fix race when fs events occur right after constructing worktree
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-27 16:38:47 -07:00
Nathan Sobo 58e336354e Align close tab icon cleanly with unsaved indicator 2021-04-27 16:51:23 -06:00
Max Brunsfeld 110dcc48f9 Merge pull request #26 from zed-industries/stable-file-finder-results
Improve file finder behavior when opening large directories like `~` or `/`
2021-04-27 15:37:24 -07:00
Max Brunsfeld eec8a3b555 Simplify file finder update_matches logic 2021-04-27 14:58:54 -07:00
Max Brunsfeld 75b8f7425d Avoid redundant sort_unstable_by call on merged fuzzy matches 2021-04-27 14:34:29 -07:00
Max Brunsfeld a59b75c839 Keep results stable when using file-finder while scanning files 2021-04-27 14:02:55 -07:00
Max Brunsfeld 6882fdca38 Avoid crash when running pane:activate_prev_item w/ no tabs open 2021-04-27 11:01:32 -07: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
Antonio Scandurra 2a1496be2e Merge pull request #24 from zed-industries/fix-autoscroll-on-paste
Autoscroll on paste
2021-04-27 11:59:37 +02:00
Antonio Scandurra b52a3b5a24 Autoscroll on paste
This also removes the `changed_selections` and moves the autoscroll
request inside of `update_selections`. This is nicer because it'll force
us to determine whether we want to autoscroll every time we update the
selections, so that we don't forget this in the future.
2021-04-27 11:52:46 +02: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
Max BrunsfeldandNathan Sobo 55fcc586bc Cancel outstanding fuzzy-matching calls before starting a new one
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-26 16:14:43 -07:00
Max BrunsfeldandNathan Sobo 09f5c7c23e Fix scrollwheel events in uniformlist
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-26 15:53:38 -07:00
Max Brunsfeld 733dc15c32 Ignore .git directories 2021-04-26 15:46:06 -07:00
Max Brunsfeld e7c594262f Fix handling of uppercase characters in fuzzy finding 2021-04-26 15:04:26 -07: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
Max BrunsfeldandNathan Sobo 9753e67410 Update filehandle paths when renames occur
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-26 12:56:13 -07:00
6535304da8 WIP: Start on updating file handles
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-26 20:10:15 +02:00
Antonio Scandurra 111d98d6c1 Keep ignore status up-to-date as events are processed 2021-04-26 17:55:18 +02: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
Antonio Scandurra 9cd1d5e607 Avoid cloning entry in Snapshot::entry_for_path 2021-04-24 10:14:17 +02:00
Max BrunsfeldandNathan Sobo 6a7308b87a Avoid storing redundant copies of file paths
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-23 21:17:26 -07:00
Max BrunsfeldandNathan Sobo 054203d21c Fix fuzzy matching after removing root dirname from stored paths
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-23 15:22:47 -07: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
Antonio ScandurraandNathan Sobo ec2e1c3045 Rename PathSearch::Sibling to PathSearch::Successor
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-23 17:15:04 +02:00
Antonio Scandurra 8f2fc079fd Restructure Worktree to index entries by path 2021-04-23 15:25:59 +02:00
Max BrunsfeldandNathan Sobo ae5f02d2e9 Use getmntinfo(3) to list mounted volumes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 15:41:03 -07:00
Max BrunsfeldandNathan Sobo b37b047400 Start work on excluding separate mount dirs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 14:11:46 -07:00
Max BrunsfeldandNathan Sobo 3e44a0adae Avoid redundant clearing of descendants when scanning dirs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 10:30:47 -07:00
b2e7a2c42a Log when there's an error while scanning a directory
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 19:15:37 +02:00
99f51c0d85 Simulate .gitignores in the randomized test
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 18:57:46 +02:00
928ce0eec8 Clear descendants of existing children when scanning a directory
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 18:42:11 +02:00
Antonio Scandurra 9723e46af4 Replace linear scan of entries with a custom FileIter 2021-04-22 17:29:36 +02:00
Antonio Scandurra c429a937be Remove is_ignored from PathEntry and lean more on the tree instead 2021-04-22 16:49:11 +02:00
Antonio Scandurra f3b663e375 Ignore .git folder 2021-04-22 16:48:13 +02:00