Hi Bram,
problem is, you can't conceal items using :match or matchadd().

Attached patch fixes it:

regards,
Christian

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
Änderung:        2744:48c9a0425e94
Marke:           match_conceal
Marke:           qtip
Marke:           tip
Nutzer:          Christian Brabandt <[email protected]>
Datum:           Sat Apr 09 13:57:21 2011 +0200
Zusammenfassung: [mq]: match_conceal

diff --git a/src/screen.c b/src/screen.c
--- a/src/screen.c
+++ b/src/screen.c
@@ -2866,6 +2866,7 @@
 					   wrapping */
     int		vcol_off	= 0;	/* offset for concealed characters */
     int		did_wcol	= FALSE;
+    int         match_conc      = FALSE;
 # define VCOL_HLC (vcol - vcol_off)
 #else
 # define VCOL_HLC (vcol)
@@ -3401,6 +3402,7 @@
      */
     for (;;)
     {
+        match_conc=FALSE;
 	/* Skip this quickly when working on the text. */
 	if (draw_state != WL_LINE)
 	{
@@ -3671,6 +3673,13 @@
 				&& v < (long)shl->endcol)
 			{
 			    shl->attr_cur = shl->attr;
+#ifdef FEAT_CONCEAL
+			    if (cur != NULL &&
+				    syn_name2id((char_u *) "Conceal") == cur->hlg_id)
+				match_conc = TRUE;
+			    else
+				match_conc = FALSE;
+#endif
 			}
 			else if (v == (long)shl->endcol)
 			{
@@ -4472,8 +4481,8 @@
 #ifdef FEAT_CONCEAL
 	    if (   wp->w_p_cole > 0
 		&& (wp != curwin || lnum != wp->w_cursor.lnum ||
-						      conceal_cursor_line(wp))
-		&& (syntax_flags & HL_CONCEAL) != 0
+							conceal_cursor_line(wp) )
+		&& ( (syntax_flags & HL_CONCEAL) != 0 || match_conc)
 		&& !(lnum_in_visual_area
 				    && vim_strchr(wp->w_p_cocu, 'v') == NULL))
 	    {

Raspunde prin e-mail lui