aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/yankmap.h
blob: 4468f3a016d73636424983b0b5c3109f48930663 (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
#ifndef YANK_TRIE_H_
#define YANK_TRIE_H_

#include <stdbool.h>

#include "nvim/map_defs.h"
#include "nvim/ops.h"

typedef struct {
  /* Register name to yank register. */
  Map(int, ptr_t) reg_to_yankreg;

  /* Yank register to register name. */
  Map(ptr_t, int) yankreg_to_reg;
} yankmap_T;

void init_yankmap(yankmap_T* yankmap);

yankreg_T* yankmap_get(yankmap_T* yankmap, int reg);

yankreg_T* yankmap_put(yankmap_T* yankmap, int index);

int yankmap_find(yankmap_T* yankmap, yankreg_T* yankreg);

#endif