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)
diff --git a/src/structs.h b/src/structs.h
index 40e87d5..c992e2a 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -147,10 +147,11 @@
*/
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 @@
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 */
@@ -2245,6 +2256,9 @@
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' */
int b_p_et; /* 'expandtab' */