aboutsummaryrefslogtreecommitdiff
path: root/register.h
blob: a815a901c53800a98961adab4484a5fe7fdfeb22 (plain) (blame)
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 REGISTER_H
#define REGISTER_H

#include <stddef.h>
#include <stdbool.h>
#include "vis.h"
#include "buffer.h"
#include "text-util.h"

typedef struct {
	Buffer buf;
	bool linewise; /* place register content on a new line when inserting? */
	bool append;
	enum {
		REGISTER_NORMAL,
		REGISTER_BLACKHOLE,
		REGISTER_CLIPBOARD,
	} type;
} 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);
bool register_put0(Vis*, Register*, const char *data);
bool register_put_range(Vis*, Register*, Text*, Filerange*);
bool register_append_range(Register*, Text*, Filerange*);

#endif