diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2025-03-22 14:58:12 +0300 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2025-03-22 15:00:51 +0300 |
commit | fe69fdb29f994db3bbcaffcb202856618b03b9b0 (patch) | |
tree | 3108dbb02c2df0fced836b8fef6216a04bbab770 /src/move-commands.h | |
parent | 867d22e419afe769f05ad26b61c6ea5ea1432c3c (diff) | |
download | sciteco-fe69fdb29f994db3bbcaffcb202856618b03b9b0.tar.gz |
factored out all cursor movement and deletion commands into the new compilation unit move-commands.c
* This made sense to include both `W` and `V`, so we also included `D` and `K`.
`^Q` is included since it converts between lines and glyphs.
* These are all single-letter commands, so they aren't complete parser states
but callbacks to be referenced in teco_machine_main_transition_t.
Diffstat (limited to 'src/move-commands.h')
-rw-r--r-- | src/move-commands.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/move-commands.h b/src/move-commands.h new file mode 100644 index 0000000..36acec8 --- /dev/null +++ b/src/move-commands.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2012-2025 Robin Haberkorn + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#pragma once + +#include <glib.h> + +#include "parser.h" + +void teco_state_start_jump(teco_machine_main_t *ctx, GError **error); + +void teco_state_start_move(teco_machine_main_t *ctx, GError **error); +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_word(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); + +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); + +void teco_state_control_lines2glyphs(teco_machine_main_t *ctx, GError **error); |