patch 8.0.1123: cannot define a toolbar for a window
Problem: Cannot define a toolbar for a window.
Solution: Add a window-local toolbar.
diff --git a/src/syntax.c b/src/syntax.c
index c6e0156..6361bd7 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -7002,6 +7002,12 @@
CENT("StatusLineTermNC term=reverse ctermfg=White ctermbg=DarkGreen",
"StatusLineTermNC term=reverse ctermfg=White ctermbg=DarkGreen guifg=bg guibg=DarkGreen"),
#endif
+#ifdef FEAT_MENU
+ CENT("ToolbarLine term=underline ctermbg=LightGrey",
+ "ToolbarLine term=underline ctermbg=LightGrey guibg=LightGrey"),
+ CENT("ToolbarButton cterm=bold ctermfg=White ctermbg=DarkGrey",
+ "ToolbarButton cterm=bold ctermfg=White ctermbg=DarkGrey gui=bold guifg=White guibg=DarkGrey"),
+#endif
NULL
};
@@ -7094,6 +7100,12 @@
CENT("StatusLineTermNC term=reverse ctermfg=Black ctermbg=LightGreen",
"StatusLineTermNC term=reverse ctermfg=Black ctermbg=LightGreen guifg=bg guibg=LightGreen"),
#endif
+#ifdef FEAT_MENU
+ CENT("ToolbarLine term=underline ctermbg=DarkGrey",
+ "ToolbarLine term=underline ctermbg=DarkGrey guibg=DarkGrey"),
+ CENT("ToolbarButton cterm=bold ctermfg=Black ctermbg=LightGrey",
+ "ToolbarButton cterm=bold ctermfg=Black ctermbg=LightGrey gui=bold guifg=Black guibg=LightGrey"),
+#endif
NULL
};
@@ -9525,6 +9537,20 @@
return i + 1;
}
+/*
+ * Lookup a highlight group name and return its attributes.
+ * Return zero if not found.
+ */
+ int
+syn_name2attr(char_u *name)
+{
+ int id = syn_name2id(name);
+
+ if (id != 0)
+ return syn_id2attr(syn_get_final_id(id));
+ return 0;
+}
+
#if defined(FEAT_EVAL) || defined(PROTO)
/*
* Return TRUE if highlight group "name" exists.