Commit Graph
39175 Commits
Author SHA1 Message Date
Max Brunsfeld bdc932c9c1 Tweak durations in fsevent unit test to reduce odds of timeout 2021-04-29 12:52:28 -07:00
Max Brunsfeld fa72a280f7 In file finder, handle single-file worktrees & multiple matches w/ same rel path 2021-04-29 12:44:51 -07:00
Antonio Scandurra 508f3c33c5 💄 2021-04-29 10:38:11 +02:00
Antonio Scandurra 4b983d2f33 Implement {move_to,select_to,delete_to}_{beginning,end}_of_line 2021-04-29 10:38:11 +02:00
Antonio Scandurra 0ae5fda5ec Don't rely on Range::is_empty to check for selection emptiness
This method returns true when `start > end`, so our `backspace` and
`delete` implementations were subtly wrong because they always deleted
one extra character for reversed selections.
2021-04-29 10:38:11 +02:00
Antonio Scandurra 0762c33caa Implement duplicate_line for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra cf0ec598ab Extract a Selection::buffer_row_range method 2021-04-29 10:38:11 +02:00
Antonio Scandurra ec7f383c57 Fix delete_line for non-empty selections that end at the start of line 2021-04-29 10:38:11 +02:00
Antonio Scandurra b6b9059ab7 Bind also ctrl-d to buffer:delete 2021-04-29 10:38:11 +02:00
Antonio Scandurra f63254eaa8 Fix delete_line test 2021-04-29 10:38:11 +02:00
Antonio Scandurra 81d8258eae 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 a78dcaed46 Implement delete_line for buffer
This still needs unit tests.
2021-04-29 10:38:11 +02:00
Antonio Scandurra 5c1640a7c0 Don't propagate action when selecting up/down in single-line editors 2021-04-29 10:38:11 +02:00
Antonio Scandurra 616e2ea553 Implement select_to_beginning and select_to_end for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra 3704242882 Implement move_to_beginning and move_to_end for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra e02772a98f Implemente delete for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra c903fc8df8 Implement select_all for buffer 2021-04-29 10:38:11 +02:00
Max Brunsfeld 7d645e2959 Start work on opening files 2021-04-28 17:46:27 -07:00
Nathan Sobo b556dec50d Merge pull request #29 from zed-industries/traverse-symlinks
Traverse symlinks when populating directories
2021-04-28 14:27:19 -06:00
Nathan Sobo 0c4e4410b1 Traverse symlinks when populating directories 2021-04-28 14:16:54 -06:00
Nathan Sobo cc37e37517 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 01dcb4cf5b Always run all crates' tests in CI 2021-04-28 12:58:14 -07:00
Max BrunsfeldandAntonio Scandurra e29bddf714 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 b740c392c9 Merge pull request #28 from zed-industries/close-tabs
Add tab close buttons
2021-04-28 13:19:42 -06:00
Nathan Sobo 8c96e58558 Merge remote-tracking branch 'origin/master' into close-tabs 2021-04-28 13:15:00 -06:00
e955af12f8 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 a620be4434 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 5f5ecab67d 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 63e5080199 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 135226931f Flush the fs event stream on construction 2021-04-27 21:43:41 -07:00
Nathan Sobo 5da9755007 WIP 2021-04-27 18:35:24 -06:00
Max BrunsfeldandNathan Sobo 14ac1c7bd0 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 dffee18564 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 ced0bca26c Align close tab icon cleanly with unsaved indicator 2021-04-27 16:51:23 -06:00
Max Brunsfeld 67a6a3d435 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 c331d16fff Simplify file finder update_matches logic 2021-04-27 14:58:54 -07:00
Max Brunsfeld 999d40e68b Avoid redundant sort_unstable_by call on merged fuzzy matches 2021-04-27 14:34:29 -07:00
Max Brunsfeld 1c81622d7c Keep results stable when using file-finder while scanning files 2021-04-27 14:02:55 -07:00
Max Brunsfeld f23bbf5447 Avoid crash when running pane:activate_prev_item w/ no tabs open 2021-04-27 11:01:32 -07:00
Nathan SoboandMax Brunsfeld be6859003a 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 fa92bd1893 Relay hover events to tabs
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-27 11:37:14 -06:00
Nathan SoboandAntonio Scandurra e0bb313d67 Capture hover events on tabs
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-27 09:23:44 -06:00
Antonio Scandurra 78e7a639b7 Merge pull request #24 from zed-industries/fix-autoscroll-on-paste
Autoscroll on paste
2021-04-27 11:59:37 +02:00
Antonio Scandurra e2c9f9944a 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 26185a24d6 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 a202aeb21d 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 944fd460f8 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 bcf064f23d Preserve selected file finder path when Worktree changes 2021-04-26 20:23:56 -06:00
Max BrunsfeldandNathan Sobo 766f9b6d60 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 ac56309f00 Fix scrollwheel events in uniformlist
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-26 15:53:38 -07:00