From 13841a56b4b4916a2f18e66f97cb6f5e55d40e53 Mon Sep 17 00:00:00 2001 From: KillTheMule Date: Fri, 12 Aug 2016 12:00:36 +0200 Subject: Incsubsitution feature Originally implemented by * Clement0 * DesbyP * aym7 * Adrey06 * Robinhola in #4811. Major reworkings and bug fixes by * bfredl Most tests suggested by ZyX-l, suggestions for improvements by oni-link. --- src/nvim/ex_cmds.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/nvim/ex_cmds.h') diff --git a/src/nvim/ex_cmds.h b/src/nvim/ex_cmds.h index 721145efd8..991695deca 100644 --- a/src/nvim/ex_cmds.h +++ b/src/nvim/ex_cmds.h @@ -5,6 +5,9 @@ #include "nvim/os/time.h" #include "nvim/eval_defs.h" +#include "nvim/pos.h" +#include "nvim/lib/klist.h" +#include "nvim/lib/kvec.h" /* flags for do_ecmd() */ #define ECMD_HIDE 0x01 /* don't free the current buffer */ @@ -13,6 +16,7 @@ #define ECMD_OLDBUF 0x04 /* use existing buffer if it exists */ #define ECMD_FORCEIT 0x08 /* ! used in Ex command */ #define ECMD_ADDBUF 0x10 /* don't edit, just add to buffer list */ +#define ECMD_RESERVED_BUFNR 0x20 /* bufnr argument is reserved bufnr */ /* for lnum argument in do_ecmd() */ #define ECMD_LASTL (linenr_T)0 /* use last position in loaded file */ @@ -26,6 +30,24 @@ typedef struct { list_T *additional_elements; ///< Additional data left from ShaDa file. } SubReplacementString; + +// Defs for inc_sub functionality + +/// Structure to backup and display matched lines in incsubstitution +typedef struct { + linenr_T lnum; + long nmatch; + char_u *line; + // list of column numbers of matches on this line + kvec_t(colnr_T) start_col; +} MatchedLine; + +// List of matched lines +typedef kvec_t(MatchedLine) MatchedLineVec; + +// End defs for inc_sub functionality + + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "ex_cmds.h.generated.h" #endif -- cgit