Data Structures | Macros | Typedefs
marktree.h File Reference
#include <assert.h>
#include <stdint.h>
#include "nvim/garray.h"
#include "nvim/map.h"
#include "nvim/pos.h"
#include "nvim/types.h"

Go to the source code of this file.

Data Structures

struct  mtpos_t
 
struct  iterstate_t
 
struct  MarkTreeIter
 
struct  mtkey_t
 
struct  mtnode_s
 
struct  MarkTree
 

Macros

#define MT_MAX_DEPTH   20
 
#define MT_BRANCH_FACTOR   10
 
#define MT_INVALID_KEY   (mtkey_t) { { -1, -1 }, 0, 0, 0, 0, 0, NULL }
 
#define MT_FLAG_REAL   (((uint16_t)1) << 0)
 
#define MT_FLAG_END   (((uint16_t)1) << 1)
 
#define MT_FLAG_PAIRED   (((uint16_t)1) << 2)
 
#define MT_FLAG_HL_EOL   (((uint16_t)1) << 3)
 
#define DECOR_LEVELS   4
 
#define MT_FLAG_DECOR_OFFSET   4
 
#define MT_FLAG_DECOR_MASK   (((uint16_t)(DECOR_LEVELS - 1)) << MT_FLAG_DECOR_OFFSET)
 
#define MT_FLAG_RIGHT_GRAVITY   (((uint16_t)1) << 14)
 
#define MT_FLAG_LAST   (((uint16_t)1) << 15)
 
#define MT_FLAG_EXTERNAL_MASK   (MT_FLAG_DECOR_MASK | MT_FLAG_RIGHT_GRAVITY | MT_FLAG_HL_EOL)
 
#define MARKTREE_END_FLAG   (((uint64_t)1) << 63)
 

Typedefs

typedef struct mtnode_s mtnode_t
 

Macro Definition Documentation

◆ DECOR_LEVELS

#define DECOR_LEVELS   4

◆ MARKTREE_END_FLAG

#define MARKTREE_END_FLAG   (((uint64_t)1) << 63)

◆ MT_BRANCH_FACTOR

#define MT_BRANCH_FACTOR   10

◆ MT_FLAG_DECOR_MASK

#define MT_FLAG_DECOR_MASK   (((uint16_t)(DECOR_LEVELS - 1)) << MT_FLAG_DECOR_OFFSET)

◆ MT_FLAG_DECOR_OFFSET

#define MT_FLAG_DECOR_OFFSET   4

◆ MT_FLAG_END

#define MT_FLAG_END   (((uint16_t)1) << 1)

◆ MT_FLAG_EXTERNAL_MASK

#define MT_FLAG_EXTERNAL_MASK   (MT_FLAG_DECOR_MASK | MT_FLAG_RIGHT_GRAVITY | MT_FLAG_HL_EOL)

◆ MT_FLAG_HL_EOL

#define MT_FLAG_HL_EOL   (((uint16_t)1) << 3)

◆ MT_FLAG_LAST

#define MT_FLAG_LAST   (((uint16_t)1) << 15)

◆ MT_FLAG_PAIRED

#define MT_FLAG_PAIRED   (((uint16_t)1) << 2)

◆ MT_FLAG_REAL

#define MT_FLAG_REAL   (((uint16_t)1) << 0)

◆ MT_FLAG_RIGHT_GRAVITY

#define MT_FLAG_RIGHT_GRAVITY   (((uint16_t)1) << 14)

◆ MT_INVALID_KEY

#define MT_INVALID_KEY   (mtkey_t) { { -1, -1 }, 0, 0, 0, 0, 0, NULL }

◆ MT_MAX_DEPTH

#define MT_MAX_DEPTH   20

Typedef Documentation

◆ mtnode_t

typedef struct mtnode_s mtnode_t