Commit graph

529 commits

Author SHA1 Message Date
Max Brunsfeld
8cffa8bdb2 Move file handle from buffer to buffer view 2021-04-29 17:47:06 -07:00
Max Brunsfeld
d2f309d10d
Merge pull request #31 from zed-industries/open-files
Allow opening files from the CLI and from the File > Open menu
2021-04-29 15:14:37 -07:00
Max Brunsfeld
9b0cc0a032 Avoid cancelling ::open_entry task in FileFinder 2021-04-29 15:03:46 -07:00
Max Brunsfeld
5826a976ef Return a future from WorkspaceView::open_paths
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-29 14:55:28 -07:00
Max Brunsfeld
c867cfa917 Tweak durations in fsevent unit test to reduce odds of timeout 2021-04-29 12:52:28 -07:00
Max Brunsfeld
b126938af7 In file finder, handle single-file worktrees & multiple matches w/ same rel path 2021-04-29 12:44:51 -07:00
Antonio Scandurra
d19fd77f91 💄 2021-04-29 10:38:11 +02:00
Antonio Scandurra
283c734c91 Implement {move_to,select_to,delete_to}_{beginning,end}_of_line 2021-04-29 10:38:11 +02:00
Antonio Scandurra
0aacf858ce 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
fdefd32de0 Implement duplicate_line for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra
5d28fb871f Extract a Selection::buffer_row_range method 2021-04-29 10:38:11 +02:00
Antonio Scandurra
2a0a2ee636 Fix delete_line for non-empty selections that end at the start of line 2021-04-29 10:38:11 +02:00
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
Max Brunsfeld
88b88a8067 Start work on opening files 2021-04-28 17:46:27 -07: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