@@ -3632,11 +3632,7 @@ fn wclose(cx: &mut Context) {
3633fn select_register(cx: &mut Context) {
3633fn select_register(cx: &mut Context) {
3634 cx.on_next_key(move |cx, event| {
3634 cx.on_next_key(move |cx, event| {
3636− code: KeyCode::Char(ch),
3638− } = event
3635+ if let Some(ch) = event.char() {
3640 cx.editor.selected_register.select(ch);
3636 cx.editor.selected_register.select(ch);
@@ -3687,11 +3683,7 @@ fn select_textobject_inner(cx: &mut Context) {
3687fn select_textobject(cx: &mut Context, objtype: textobject::TextObject) {
3683fn select_textobject(cx: &mut Context, objtype: textobject::TextObject) {
3688 let count = cx.count();
3684 let count = cx.count();
3689 cx.on_next_key(move |cx, event| {
3685 cx.on_next_key(move |cx, event| {
3691− code: KeyCode::Char(ch),
3693− } = event
3686+ if let Some(ch) = event.char() {
3695 let (view, doc) = current!(cx.editor);
3687 let (view, doc) = current!(cx.editor);
3696 let text = doc.text().slice(..);
3688 let text = doc.text().slice(..);
@@ -3713,11 +3705,7 @@ fn select_textobject(cx: &mut Context, objtype: textobject::TextObject) {
3714fn surround_add(cx: &mut Context) {
3706fn surround_add(cx: &mut Context) {
3715 cx.on_next_key(move |cx, event| {
3707 cx.on_next_key(move |cx, event| {
3717− code: KeyCode::Char(ch),
3719− } = event
3708+ if let Some(ch) = event.char() {
3721 let (view, doc) = current!(cx.editor);
3709 let (view, doc) = current!(cx.editor);
3722 let text = doc.text().slice(..);
3710 let text = doc.text().slice(..);
3723 let selection = doc.selection(view.id);
3711 let selection = doc.selection(view.id);
@@ -3743,17 +3731,9 @@ fn surround_add(cx: &mut Context) {
3743fn surround_replace(cx: &mut Context) {
3731fn surround_replace(cx: &mut Context) {
3744 let count = cx.count();
3732 let count = cx.count();
3745 cx.on_next_key(move |cx, event| {
3733 cx.on_next_key(move |cx, event| {
3746− if let KeyEvent {
3734+ if let Some(from) = event.char() {
3747− code: KeyCode::Char(from),
3751 cx.on_next_key(move |cx, event| {
3735 cx.on_next_key(move |cx, event| {
3753− code: KeyCode::Char(to),
3755− } = event
3736+ if let Some(to) = event.char() {
3757 let (view, doc) = current!(cx.editor);
3737 let (view, doc) = current!(cx.editor);
3758 let text = doc.text().slice(..);
3738 let text = doc.text().slice(..);
3759 let selection = doc.selection(view.id);
3739 let selection = doc.selection(view.id);
@@ -3783,11 +3763,7 @@ fn surround_replace(cx: &mut Context) {
3783fn surround_delete(cx: &mut Context) {
3763fn surround_delete(cx: &mut Context) {
3784 let count = cx.count();
3764 let count = cx.count();
3785 cx.on_next_key(move |cx, event| {
3765 cx.on_next_key(move |cx, event| {
3787− code: KeyCode::Char(ch),
3789− } = event
3766+ if let Some(ch) = event.char() {
3791 let (view, doc) = current!(cx.editor);
3767 let (view, doc) = current!(cx.editor);
3792 let text = doc.text().slice(..);
3768 let text = doc.text().slice(..);
3793 let selection = doc.selection(view.id);
3769 let selection = doc.selection(view.id);