diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2014-07-16 14:30:42 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2014-07-16 14:30:42 +0200 |
| commit | c4351c9a00a4f7d96c1058d339d5f68270c25254 (patch) | |
| tree | 104a4bdf9c855d309c72bd0fc321792a18aa7651 | |
| parent | 615bbd7da9c3fe634cb9c37d867a208df048d047 (diff) | |
| download | vis-c4351c9a00a4f7d96c1058d339d5f68270c25254.tar.gz vis-c4351c9a00a4f7d96c1058d339d5f68270c25254.tar.xz | |
Implement replacement/overwrite
| -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*); |
