#ifndef _GAPBUFFER_H #define _GAPBUFFER_H #include struct gapbuffer { char* buffer; size_t size; size_t gap_start; size_t gap_end; }; void gapbuffer_init (struct gapbuffer* gb, size_t capacity); void gapbuffer_fini (struct gapbuffer* gb); void gapbuffer_move (struct gapbuffer* gb, size_t pos); void gapbuffer_insert (struct gapbuffer* gb, char c); void gapbuffer_backspace (struct gapbuffer* gb); void gapbuffer_grow (struct gapbuffer* gb); char* gapbuffer_get_string (struct gapbuffer* gb); size_t gapbuffer_length (struct gapbuffer* gb); char* gapbuffer_string_at (struct gapbuffer* gb, size_t pos); #endif // _GAPBUFFER_H