CE Implement line editing
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m8s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m8s
This commit is contained in:
31
ce/gapbuffer.h
Normal file
31
ce/gapbuffer.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef _GAPBUFFER_H
|
||||
#define _GAPBUFFER_H
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user