diff options
Diffstat (limited to 'src/nvim/syntax.c')
| -rw-r--r-- | src/nvim/syntax.c | 24 | 
1 files changed, 15 insertions, 9 deletions
| diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index f1eb7879b0..ed886ab7f9 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -3469,13 +3469,13 @@ static void syn_cmd_onoff(exarg_T *eap, char *name)    }  } -void syn_maybe_on(void) +void syn_maybe_enable(void)  {    if (!did_syntax_onoff) {      exarg_T ea;      ea.arg = (char_u *)"";      ea.skip = false; -    syn_cmd_onoff(&ea, "syntax"); +    syn_cmd_enable(&ea, false);    }  } @@ -5306,13 +5306,17 @@ get_id_list(            xfree(name);            break;          } -        if (name[1] == 'A') -          id = SYNID_ALLBUT; -        else if (name[1] == 'T') -          id = SYNID_TOP; -        else -          id = SYNID_CONTAINED; -        id += current_syn_inc_tag; +        if (name[1] == 'A') { +          id = SYNID_ALLBUT + current_syn_inc_tag; +        } else if (name[1] == 'T') { +          if (curwin->w_s->b_syn_topgrp >= SYNID_CLUSTER) { +            id = curwin->w_s->b_syn_topgrp; +          } else { +            id = SYNID_TOP + current_syn_inc_tag; +          } +        } else { +          id = SYNID_CONTAINED + current_syn_inc_tag; +        }        } else if (name[1] == '@')   {          if (skip) {            id = -1; @@ -6047,6 +6051,8 @@ static const char *highlight_init_both[] = {    "default link MsgSeparator StatusLine",    "default link NormalFloat Pmenu",    "default link FloatBorder VertSplit", +  "default FloatShadow blend=80 guibg=Black", +  "default FloatShadowThrough blend=100 guibg=Black",    "RedrawDebugNormal cterm=reverse gui=reverse",    "RedrawDebugClear ctermbg=Yellow guibg=Yellow",    "RedrawDebugComposed ctermbg=Green guibg=Green", | 
