diff options
Diffstat (limited to 'editor.h')
| -rw-r--r-- | editor.h | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -1,6 +1,13 @@ #include <stdbool.h> typedef struct Editor Editor; +typedef struct Piece Piece; + +typedef struct { + const char const *text; + /* const */ size_t len; + const Piece const *piece; +} Iterator; typedef bool (*iterator_callback_t)(void *, size_t pos, const char *content, size_t len); @@ -11,7 +18,10 @@ bool editor_replace(Editor*, size_t pos, char *c); void editor_snapshot(Editor*); bool editor_undo(Editor*); bool editor_redo(Editor*); -//char *editor_get(Editor*, size_t pos, size_t len); +Iterator editor_iterator_get(Editor*, size_t pos); +bool editor_iterator_valid(const Iterator*); +void editor_iterator_next(Iterator*); +void editor_iterator_prev(Iterator*); void editor_iterate(Editor*, void *, size_t pos, iterator_callback_t); bool editor_modified(Editor*); int editor_save(Editor*, const char *file); |
