on master help sign in
commands: Handle `t<ENTER>` as till newline
commit0c2b99327a60d478ff6a4e4a2a15f69e61857569 authorWojciech Kępka <wojtek.kepka@protonmail.com> dateFri 11 Jun 2021, 09:30 (5 years ago) parenta8a5bcd
1 file changed+26−20
helix-term/src/commands.rs+26−20
helix-term/src/commands.rs+26−20
@@ -348,28 +348,34 @@ where
348348
349349 // need to wait for next key
350350 cx.on_next_key(move |cx, event| {
351− if let KeyEvent {
352− code: KeyCode::Char(ch),
353− ..
354− } = event
355− {
356− let (view, doc) = cx.current();
357− let text = doc.text().slice(..);
351+ let ch = match event {
352+ KeyEvent {
353+ code: KeyCode::Enter,
354+ ..
355+ } => '\n',
356+ KeyEvent {
357+ code: KeyCode::Char(ch),
358+ ..
359+ } => ch,
360+ _ => return,
361+ };
358362
359− let selection = doc.selection(view.id).transform(|mut range| {
360− search_fn(text, ch, range.head, count, inclusive).map_or(range, |pos| {
361− if extend {
362− Range::new(range.anchor, pos)
363− } else {
364− // select
365− Range::new(range.head, pos)
366− }
367− // or (pos, pos) to move to found val
368− })
369− });
363+ let (view, doc) = cx.current();
364+ let text = doc.text().slice(..);
370365
371− doc.set_selection(view.id, selection);
372− }
366+ let selection = doc.selection(view.id).transform(|mut range| {
367+ search_fn(text, ch, range.head, count, inclusive).map_or(range, |pos| {
368+ if extend {
369+ Range::new(range.anchor, pos)
370+ } else {
371+ // select
372+ Range::new(range.head, pos)
373+ }
374+ // or (pos, pos) to move to found val
375+ })
376+ });
377+
378+ doc.set_selection(view.id, selection);
373379 })
374380}
375381