aboutsummaryrefslogtreecommitdiff
path: root/register.h
blob: c8f11bd40afbafe0796894b1b8fd9a7918b4d6d9 (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
29
#ifndef REGISTER_H
#define REGISTER_H

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

#ifndef VIS_H
typedef struct Vis Vis;
#endif

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 *reg);
const char *register_get(Vis*, Register*reg, size_t *len);
bool register_put(Vis*, Register *reg, Text *txt, Filerange *range);
bool register_append(Register *reg, Text *txt, Filerange *range);

#endif