1
0
forked from aniani/vim

updated for version 7.1-040

This commit is contained in:
Bram Moolenaar
2007-07-26 20:58:42 +00:00
parent f621048b53
commit 6ee10162b2
14 changed files with 833 additions and 119 deletions

View File

@@ -1693,6 +1693,41 @@ struct frame_S
#define FR_ROW 1 /* frame with a row of windows */
#define FR_COL 2 /* frame with a column of windows */
/*
* Struct used for highlighting 'hlsearch' matches, matches defined by
* ":match" and matches defined by match functions.
* For 'hlsearch' there is one pattern for all windows. For ":match" and the
* match functions there is a different pattern for each window.
*/
typedef struct
{
regmmatch_T rm; /* points to the regexp program; contains last found
match (may continue in next line) */
buf_T *buf; /* the buffer to search for a match */
linenr_T lnum; /* the line to search for a match */
int attr; /* attributes to be used for a match */
int attr_cur; /* attributes currently active in win_line() */
linenr_T first_lnum; /* first lnum to search for multi-line pat */
colnr_T startcol; /* in win_line() points to char where HL starts */
colnr_T endcol; /* in win_line() points to char where HL ends */
} match_T;
/*
* matchitem_T provides a linked list for storing match items for ":match" and
* the match functions.
*/
typedef struct matchitem matchitem_T;
struct matchitem
{
matchitem_T *next;
int id; /* match ID */
int priority; /* match priority */
char_u *pattern; /* pattern to highlight */
int hlg_id; /* highlight group ID */
regmmatch_T match; /* regexp program for pattern */
match_T hl; /* struct for doing the actual highlighting */
};
/*
* Structure which contains all information that belongs to a window
*
@@ -1934,9 +1969,8 @@ struct window_S
#endif
#ifdef FEAT_SEARCH_EXTRA
regmmatch_T w_match[3]; /* regexp programs for ":match" */
char_u *(w_match_pat[3]); /* patterns for ":match" */
int w_match_id[3]; /* highlight IDs for ":match" */
matchitem_T *w_match_head; /* head of match list */
int w_next_match_id; /* next match ID */
#endif
/*