Commit graph

366 commits

Author SHA1 Message Date
Antonio Scandurra
618cb8ac18 Bind also ctrl-d to buffer:delete 2021-04-29 10:38:11 +02:00
Antonio Scandurra
cee9509127 Fix delete_line test 2021-04-29 10:38:11 +02:00
Antonio Scandurra
ccd244bac7 WIP: start on a test for delete_line
Discovered a bug that's highlighted by the test that causes selections
to not be in the right order.
2021-04-29 10:38:11 +02:00
Antonio Scandurra
834602ef67 Implement delete_line for buffer
This still needs unit tests.
2021-04-29 10:38:11 +02:00
Antonio Scandurra
21442bd2b7 Don't propagate action when selecting up/down in single-line editors 2021-04-29 10:38:11 +02:00
Antonio Scandurra
c524cc4d61 Implement select_to_beginning and select_to_end for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra
45452bbb3a Implement move_to_beginning and move_to_end for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra
b7c30eba30 Implemente delete for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra
324a6ff7ae Implement select_all for buffer 2021-04-29 10:38:11 +02: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
Max Brunsfeld
95fae8e9e0 Always run all crates' tests in CI 2021-04-28 12:58:14 -07:00
Max Brunsfeld
21cfb75a73 Flush redundant fs events in worktree test
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-28 12:42:39 -07: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
Nathan Sobo
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 Sobo
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 Sobo
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 Sobo
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 Brunsfeld
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 Brunsfeld
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 Sobo
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 Sobo
bb95d58c79 Relay hover events to tabs
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-27 11:37:14 -06:00
Nathan Sobo
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 Brunsfeld
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 Brunsfeld
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 Brunsfeld
9753e67410 Update filehandle paths when renames occur
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-26 12:56:13 -07:00
Antonio Scandurra
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 Brunsfeld
6a7308b87a Avoid storing redundant copies of file paths
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-23 21:17:26 -07:00