File size: 925 Bytes
9abace2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #ifndef SOVEREIGN_BUFFER_H
#define SOVEREIGN_BUFFER_H
#include <stddef.h>
#include <stdbool.h>
typedef struct Buffer Buffer;
Buffer *buffer_create(const char *text, size_t len);
void buffer_destroy(Buffer *b);
size_t buffer_length(const Buffer *b);
size_t buffer_line_count(const Buffer *b);
void buffer_insert(Buffer *b, size_t offset, const char *text, size_t len);
void buffer_delete(Buffer *b, size_t offset, size_t len);
size_t buffer_read(const Buffer *b, size_t offset, char *out, size_t max_len);
void buffer_undo(Buffer *b);
void buffer_redo(Buffer *b);
bool buffer_can_undo(const Buffer *b);
bool buffer_can_redo(const Buffer *b);
bool buffer_is_dirty(const Buffer *b);
void buffer_mark_clean(Buffer *b);
size_t buffer_line_start(const Buffer *b, size_t line);
size_t buffer_line_length(const Buffer *b, size_t line);
#endif /* SOVEREIGN_BUFFER_H */
|