diff options
Diffstat (limited to 'src/parser.h')
-rw-r--r-- | src/parser.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/parser.h b/src/parser.h index fe8e764..050467c 100644 --- a/src/parser.h +++ b/src/parser.h @@ -544,8 +544,27 @@ gboolean teco_execute_macro(const gchar *macro, gsize macro_len, gboolean teco_execute_file(const gchar *filename, teco_qreg_table_t *qreg_table_locals, GError **error); typedef const struct { + /** next state after receiving the input character */ teco_state_t *next; + /** + * Optional function to call during the state transition. + * + * It is called only in normal execution mode. + */ void (*transition_cb)(teco_machine_main_t *ctx, GError **error); + /** + * Maximum number of `:` modifiers, that \b can be set on the input character. + * + * Colon modifiers are completely ignored in parse-only modes. + */ + guint modifier_colon : 2; + /** + * TRUE if `@`-modifier \b can be set on the input character. + * + * Since `@` has syntactic significance, + * it is checked even in parse-only mode. + */ + bool modifier_at : 1; } teco_machine_main_transition_t; /* |