mirror of
https://github.com/zed-industries/zed.git
synced 2024-09-20 02:47:34 +03:00
Add o/O for flipping selection
This commit is contained in:
parent
3f2f3bb78d
commit
e3788cc6e6
@ -360,6 +360,8 @@
|
|||||||
"context": "Editor && vim_mode == visual && !VimWaiting",
|
"context": "Editor && vim_mode == visual && !VimWaiting",
|
||||||
"bindings": {
|
"bindings": {
|
||||||
"u": "editor::Undo",
|
"u": "editor::Undo",
|
||||||
|
"o": "vim::OtherEnd",
|
||||||
|
"shift-o": "vim::OtherEnd",
|
||||||
"c": "vim::VisualChange",
|
"c": "vim::VisualChange",
|
||||||
"d": "vim::VisualDelete",
|
"d": "vim::VisualDelete",
|
||||||
"x": "vim::VisualDelete",
|
"x": "vim::VisualDelete",
|
||||||
|
@ -24,13 +24,15 @@ actions!(
|
|||||||
VisualDelete,
|
VisualDelete,
|
||||||
VisualChange,
|
VisualChange,
|
||||||
VisualYank,
|
VisualYank,
|
||||||
VisualPaste
|
VisualPaste,
|
||||||
|
OtherEnd,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
pub fn init(cx: &mut AppContext) {
|
pub fn init(cx: &mut AppContext) {
|
||||||
cx.add_action(toggle_visual);
|
cx.add_action(toggle_visual);
|
||||||
cx.add_action(toggle_visual_line);
|
cx.add_action(toggle_visual_line);
|
||||||
|
cx.add_action(other_end);
|
||||||
cx.add_action(change);
|
cx.add_action(change);
|
||||||
cx.add_action(delete);
|
cx.add_action(delete);
|
||||||
cx.add_action(yank);
|
cx.add_action(yank);
|
||||||
@ -150,6 +152,18 @@ pub fn toggle_visual_line(
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn other_end(_: &mut Workspace, _: &OtherEnd, cx: &mut ViewContext<Workspace>) {
|
||||||
|
Vim::update(cx, |vim, cx| {
|
||||||
|
vim.update_active_editor(cx, |editor, cx| {
|
||||||
|
editor.change_selections(None, cx, |s| {
|
||||||
|
s.move_with(|_, selection| {
|
||||||
|
selection.reversed = !selection.reversed;
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
pub fn change(_: &mut Workspace, _: &VisualChange, cx: &mut ViewContext<Workspace>) {
|
pub fn change(_: &mut Workspace, _: &VisualChange, cx: &mut ViewContext<Workspace>) {
|
||||||
Vim::update(cx, |vim, cx| {
|
Vim::update(cx, |vim, cx| {
|
||||||
vim.update_active_editor(cx, |editor, cx| {
|
vim.update_active_editor(cx, |editor, cx| {
|
||||||
|
Loading…
Reference in New Issue
Block a user