aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cmdline.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmdline.c')
-rw-r--r--src/cmdline.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/cmdline.c b/src/cmdline.c
index 0d32513..d024142 100644
--- a/src/cmdline.c
+++ b/src/cmdline.c
@@ -651,6 +651,27 @@ teco_state_stringbuilding_start_process_edit_cmd(teco_machine_stringbuilding_t *
}
gboolean
+teco_state_stringbuilding_escaped_process_edit_cmd(teco_machine_stringbuilding_t *ctx, teco_machine_t *parent_ctx,
+ gunichar key, GError **error)
+{
+ /*
+ * Allow insertion of characters that would otherwise be interpreted as
+ * immediate editing commands after ^Q/^R.
+ */
+ switch (key) {
+ //case TECO_CTL_KEY('G'):
+ case TECO_CTL_KEY('W'):
+ case TECO_CTL_KEY('U'):
+ teco_interface_popup_clear();
+
+ gchar c = key;
+ return teco_cmdline_insert(&c, sizeof(c), error);
+ }
+
+ return teco_state_process_edit_cmd(parent_ctx, NULL, key, error);
+}
+
+gboolean
teco_state_stringbuilding_qreg_process_edit_cmd(teco_machine_stringbuilding_t *ctx, teco_machine_t *parent_ctx,
gunichar chr, GError **error)
{