0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.1.1228: not possible to process tags with a function

Problem:    Not possible to process tags with a function.
Solution:   Add tagfunc() (Christian Brabandt, Andy Massimino, closes #4010)
This commit is contained in:
Bram Moolenaar
2019-04-28 18:05:35 +02:00
parent 7a9df9dd00
commit 45e18cbdc4
20 changed files with 647 additions and 53 deletions

View File

@@ -147,10 +147,11 @@ typedef struct xfilemark
*/
typedef struct taggy
{
char_u *tagname; /* tag name */
fmark_T fmark; /* cursor position BEFORE ":tag" */
int cur_match; /* match number */
int cur_fnum; /* buffer number used for cur_match */
char_u *tagname; // tag name
fmark_T fmark; // cursor position BEFORE ":tag"
int cur_match; // match number
int cur_fnum; // buffer number used for cur_match
char_u *user_data; // used with tagfunc
} taggy_T;
/*
@@ -1885,6 +1886,16 @@ typedef struct list_stack_S
struct list_stack_S *prev;
} list_stack_T;
/*
* Structure used for iterating over dictionary items.
* Initialize with dict_iterate_start().
*/
typedef struct
{
long_u dit_todo;
hashitem_T *dit_hi;
} dict_iterator_T;
/* values for b_syn_spell: what to do with toplevel text */
#define SYNSPL_DEFAULT 0 /* spell check if @Spell not defined */
#define SYNSPL_TOP 1 /* spell check toplevel text */
@@ -2244,6 +2255,9 @@ struct file_buffer
#ifdef FEAT_COMPL_FUNC
char_u *b_p_cfu; /* 'completefunc' */
char_u *b_p_ofu; /* 'omnifunc' */
#endif
#ifdef FEAT_EVAL
char_u *b_p_tfu; /* 'tagfunc' */
#endif
int b_p_eol; /* 'endofline' */
int b_p_fixeol; /* 'fixendofline' */