aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/move-commands.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2025-03-29 15:15:26 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2025-03-29 15:29:34 +0300
commitca0d7656b606703f1b5b52e59f0b46ca0038477e (patch)
treefda68826bfaa8ebe2b7f9e5134254515c1d845e6 /src/move-commands.h
parentf4114aeaeeeea37145e2cb11b81c2f74f51349fc (diff)
downloadsciteco-ca0d7656b606703f1b5b52e59f0b46ca0038477e.tar.gz
added `@W`, `@P`, `@V` and `@Y` command variants
* They swap the default order of skipping characters. For positive arguments: first non-word chars, then word chars. * This is especially useful after executing the non-at-modified versions. For instance, at the beginning of a word, `@W` jumps to its end. `@V` would delete the remainder of the word. * Since they have to evaluate the at-modifier, which has syntactic significance, the command implementations can no longer use transition tables, so they are in the switch-statements instead.
Diffstat (limited to 'src/move-commands.h')
-rw-r--r--src/move-commands.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/move-commands.h b/src/move-commands.h
index 9dddc8d..1f32151 100644
--- a/src/move-commands.h
+++ b/src/move-commands.h
@@ -28,11 +28,10 @@ void teco_state_start_reverse(teco_machine_main_t *ctx, GError **error);
void teco_state_start_line(teco_machine_main_t *ctx, GError **error);
void teco_state_start_back(teco_machine_main_t *ctx, GError **error);
-void teco_state_start_words(teco_machine_main_t *ctx, GError **error);
-void teco_state_start_words_back(teco_machine_main_t *ctx, GError **error);
-
-void teco_state_start_delete_words(teco_machine_main_t *ctx, GError **error);
-void teco_state_start_delete_words_back(teco_machine_main_t *ctx, GError **error);
+teco_state_t *teco_state_start_words(teco_machine_main_t *ctx, const gchar *cmd,
+ gint factor, GError **error);
+teco_state_t *teco_state_start_delete_words(teco_machine_main_t *ctx, const gchar *cmd,
+ gint factor, GError **error);
void teco_state_start_kill_lines(teco_machine_main_t *ctx, GError **error);
void teco_state_start_delete_chars(teco_machine_main_t *ctx, GError **error);