diff options
Diffstat (limited to 'src/nvim/ops.h')
-rw-r--r-- | src/nvim/ops.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/nvim/ops.h b/src/nvim/ops.h index 4dab51b15d..519b946f6d 100644 --- a/src/nvim/ops.h +++ b/src/nvim/ops.h @@ -19,6 +19,7 @@ typedef int (*Indenter)(void); /// flags for do_put() enum { + ITER_REGISTER_NULL = 0, PUT_FIXINDENT = 1, ///< make indent look nice PUT_CURSEND = 2, ///< leave cursor after end of new text PUT_CURSLINE = 4, ///< leave cursor on last line of new text @@ -42,6 +43,7 @@ enum { STAR_REGISTER = 37, PLUS_REGISTER = 38, NUM_REGISTERS = 39, + USER_REGISTERS_START = 39 }; /// Operator IDs; The order must correspond to opchars[] in ops.c! @@ -101,6 +103,8 @@ typedef enum { YREG_YANK, YREG_PUT, } yreg_mode_t; +/// Returns a reference to a user-defined register. +int get_userreg(const int regname); static inline int op_reg_index(int regname) REAL_FATTR_CONST; @@ -125,13 +129,18 @@ static inline int op_reg_index(const int regname) } else if (regname == '+') { return PLUS_REGISTER; } else { - return -1; + return get_userreg(regname); } } static inline bool is_literal_register(int regname) REAL_FATTR_CONST; +struct yank_registers; +typedef struct yank_registers yank_registers_T; + +typedef size_t iter_register_T; + /// @see get_yank_register /// @return true when register should be inserted literally /// (selection or clipboard) |