summaryrefslogtreecommitdiff
path: root/src/text.h
diff options
context:
space:
mode:
authorAlbert Cervin <albert@acervin.com>2023-01-31 00:07:54 +0100
committerAlbert Cervin <albert@acervin.com>2023-01-31 00:12:56 +0100
commit689ceeca3d25cb2f738a6c52776c53912abb797f (patch)
treed61a96445beccae2c5b99c7aa9dee77738a14379 /src/text.h
parentf90d5e1f07fdc9dea7c24b11107049b613a5be7a (diff)
downloaddged-689ceeca3d25cb2f738a6c52776c53912abb797f.tar.gz
dged-689ceeca3d25cb2f738a6c52776c53912abb797f.tar.xz
dged-689ceeca3d25cb2f738a6c52776c53912abb797f.zip
Implement mark and copy-paste
Also fix some memory leaks
Diffstat (limited to 'src/text.h')
-rw-r--r--src/text.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/text.h b/src/text.h
index 85eb522..12fe576 100644
--- a/src/text.h
+++ b/src/text.h
@@ -22,8 +22,8 @@ void text_insert_at(struct text *text, uint32_t line, uint32_t col,
void text_append(struct text *text, uint8_t *bytes, uint32_t nbytes,
uint32_t *lines_added, uint32_t *cols_added);
-void text_delete(struct text *text, uint32_t line, uint32_t col,
- uint32_t nchars);
+void text_delete(struct text *text, uint32_t start_line, uint32_t start_col,
+ uint32_t end_line, uint32_t end_col);
uint32_t text_num_lines(struct text *text);
uint32_t text_line_length(struct text *text, uint32_t lineidx);
@@ -46,5 +46,8 @@ void text_for_each_line(struct text *text, uint32_t line, uint32_t nlines,
void text_for_each_chunk(struct text *text, chunk_cb callback, void *userdata);
struct text_chunk text_get_line(struct text *text, uint32_t line);
+struct text_chunk text_get_region(struct text *text, uint32_t start_line,
+ uint32_t start_col, uint32_t end_line,
+ uint32_t end_col);
bool text_line_contains_unicode(struct text *text, uint32_t line);