commands: add W and B (extend selection by word).

pull/8/head
Blaž Hrastnik 4 years ago
parent d9fb60e301
commit a702af0aeb

@ -161,6 +161,24 @@ pub fn move_file_end(cx: &mut Context) {
cx.doc().mode = Mode::Normal; cx.doc().mode = Mode::Normal;
} }
pub fn extend_next_word_start(cx: &mut Context) {
let count = cx.count;
let selection = cx
.doc()
.state
.extend_selection(Direction::Forward, Granularity::Word, count);
cx.doc().set_selection(selection);
}
pub fn extend_prev_word_start(cx: &mut Context) {
let count = cx.count;
let selection = cx
.doc()
.state
.extend_selection(Direction::Backward, Granularity::Word, count);
cx.doc().set_selection(selection);
}
pub fn check_cursor_in_view(view: &View) -> bool { pub fn check_cursor_in_view(view: &View) -> bool {
let doc = &view.doc; let doc = &view.doc;
let cursor = doc.selection().cursor(); let cursor = doc.selection().cursor();

@ -146,8 +146,11 @@ pub fn default() -> Keymaps {
vec![shift!('K')] => commands::extend_line_up, vec![shift!('K')] => commands::extend_line_up,
vec![shift!('L')] => commands::extend_char_right, vec![shift!('L')] => commands::extend_char_right,
vec![key!('w')] => commands::move_next_word_start, vec![key!('w')] => commands::move_next_word_start,
vec![shift!('W')] => commands::extend_next_word_start,
vec![key!('b')] => commands::move_prev_word_start, vec![key!('b')] => commands::move_prev_word_start,
vec![shift!('B')] => commands::extend_prev_word_start,
vec![key!('e')] => commands::move_next_word_end, vec![key!('e')] => commands::move_next_word_end,
// TODO: E
vec![key!('g')] => commands::goto_mode, vec![key!('g')] => commands::goto_mode,
vec![key!('i')] => commands::insert_mode, vec![key!('i')] => commands::insert_mode,
vec![shift!('I')] => commands::prepend_to_line, vec![shift!('I')] => commands::prepend_to_line,

Loading…
Cancel
Save