diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2023-01-25 18:46:52 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2023-01-25 18:46:52 +0000 |
commit | d6ccb60a1c75f49255940009abd3bb740bb461af (patch) | |
tree | 88f3dfe9c58e0475bbc69eb085565919a9e4ea8e /src/nvim/ops.h | |
parent | 9243becbedbb6a1592208051f8fa2b090dcc5e7d (diff) | |
parent | 142d9041391780ac15b89886a54015fdc5c73995 (diff) | |
download | rneovim-d6ccb60a1c75f49255940009abd3bb740bb461af.tar.gz rneovim-d6ccb60a1c75f49255940009abd3bb740bb461af.tar.bz2 rneovim-d6ccb60a1c75f49255940009abd3bb740bb461af.zip |
Merge branch 'userreg' into 20230125_mix
Diffstat (limited to 'src/nvim/ops.h')
-rw-r--r-- | src/nvim/ops.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/nvim/ops.h b/src/nvim/ops.h index 75ea1853a0..bffb692d00 100644 --- a/src/nvim/ops.h +++ b/src/nvim/ops.h @@ -25,6 +25,7 @@ typedef int (*Indenter)(void); #define PUT_LINE_SPLIT 16 // split line for linewise register #define PUT_LINE_FORWARD 32 // put linewise register below Visual sel. #define PUT_BLOCK_INNER 64 // in block mode, do not add trailing spaces +#define ITER_REGISTER_NULL 0 // Registers: // 0 = register for latest (unnamed) yank @@ -38,7 +39,8 @@ typedef int (*Indenter)(void); // The following registers should not be saved in ShaDa file: #define STAR_REGISTER 37 #define PLUS_REGISTER 38 -#define NUM_REGISTERS 39 +#define USER_REGISTERS_START 39 +#define NUM_REGISTERS USER_REGISTERS_START // Operator IDs; The order must correspond to opchars[] in ops.c! #define OP_NOP 0 // no pending operation @@ -97,6 +99,8 @@ typedef enum { YREG_YANK, YREG_PUT, } yreg_mode_t; +/// Returns a reference to a user-defined register. +int get_userreg(const int regname); /// Convert register name into register index /// @@ -119,10 +123,15 @@ static inline int op_reg_index(const int regname) } else if (regname == '+') { return PLUS_REGISTER; } else { - return -1; + return get_userreg(regname); } } +struct yank_registers; +typedef struct yank_registers yank_registers_T; + +typedef size_t iter_register_T; + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "ops.h.generated.h" #endif |