Commit Graph
255 Commits
Author SHA1 Message Date
Antonio Scandurra 4c4657515e Account for folds when moving selections up/down 2021-05-03 16:13:09 +02:00
Antonio Scandurra 49dc040786 Use a more direct manipulation for moving lines up or down 2021-05-03 15:10:20 +02:00
Antonio Scandurra 76b454d34b Push selections down correctly when moving a line down 2021-05-03 14:49:35 +02:00
Antonio Scandurra 8cd451f3ca Implement move_line_up and move_line_down
This does not restore folds yet.
2021-05-03 11:37:36 +02:00
Antonio Scandurra 51ae37e578 Bind ctrl-h to backspace 2021-04-30 10:45:58 +02:00
Antonio Scandurra 0e432ed889 Merge pull request #32 from zed-industries/editor-keybindings
Initial editor keybindings
2021-04-30 09:31:32 +02:00
Max Brunsfeld 9b0cc0a032 Avoid cancelling ::open_entry task in FileFinder 2021-04-29 15:03:46 -07:00
Max BrunsfeldandNathan Sobo 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 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 e423a49984 Traverse symlinks when populating directories 2021-04-28 14:16:54 -06:00
Max BrunsfeldandAntonio Scandurra 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 53013b3ab7 Merge remote-tracking branch 'origin/master' into close-tabs 2021-04-28 13:15:00 -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 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
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 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 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 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