diff options
| -rw-r--r-- | editor.c | 8 | ||||
| -rw-r--r-- | editor.h | 2 |
2 files changed, 9 insertions, 1 deletions
@@ -414,6 +414,14 @@ bool editor_delete(Editor *ed, size_t pos, size_t len) { return true; } +bool editor_replace(Editor *ed, size_t pos, char *c) { + // TODO argument validation: pos etc. + size_t len = strlen(c); + editor_delete(ed, pos, len); + editor_insert(ed, pos, c); + return true; +} + void editor_snapshot(Editor *ed) { ed->current_action = NULL; } @@ -9,8 +9,8 @@ typedef enum { typedef Iterate (*iterator_callback_t)(void *, size_t pos, const char *content, size_t len); - bool editor_insert(Editor*, size_t pos, char *c); +bool editor_replace(Editor*, size_t pos, char *c); bool editor_delete(Editor*, size_t pos, size_t len); bool editor_undo(Editor*); bool editor_redo(Editor*); |
