aboutsummaryrefslogtreecommitdiff
path: root/register.h
diff options
context:
space:
mode:
Diffstat (limited to 'register.h')
-rw-r--r--register.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/register.h b/register.h
index a815a90..379da87 100644
--- a/register.h
+++ b/register.h
@@ -4,11 +4,11 @@
#include <stddef.h>
#include <stdbool.h>
#include "vis.h"
-#include "buffer.h"
+#include "array.h"
#include "text-util.h"
typedef struct {
- Buffer buf;
+ Array values;
bool linewise; /* place register content on a new line when inserting? */
bool append;
enum {
@@ -18,11 +18,20 @@ typedef struct {
} type;
} Register;
+bool register_init(Register*);
void register_release(Register*);
+
const char *register_get(Vis*, Register*, size_t *len);
-bool register_put(Vis*, Register*, const char *data, size_t len);
+const char *register_slot_get(Vis*, Register*, size_t slot, size_t *len);
+
bool register_put0(Vis*, Register*, const char *data);
+bool register_put(Vis*, Register*, const char *data, size_t len);
+bool register_slot_put(Vis*, Register*, size_t slot, const char *data, size_t len);
+
bool register_put_range(Vis*, Register*, Text*, Filerange*);
-bool register_append_range(Register*, Text*, Filerange*);
+bool register_slot_put_range(Vis*, Register*, size_t slot, Text*, Filerange*);
+
+size_t register_count(Register*);
+bool register_resize(Register*, size_t count);
#endif