On 2021-05-29, Hans Hagen
so what does vim expect? isn't there some kind of common format for lexers?
The output I need is very simple: syn keyword Group1 <keyword1> <keyword2> ... syn keyword Group2 <keyword1> <keyword2> ... ... where Group1, Group2, ... define arbitrary groups of keywords. For instance, for MetaFun I currently have `mpDef` (MetaPost def macro), `mpVardef` (MetaPost vardef), `mpPrimaryDef`, `mpSecondaryDef`, `mpTertiaryDef`, `mpCommand`, `mpConstant`, `mpVariable`, `mpType`, `mpNewInternal`, and a few others. An excerpt from the current syntax file looks like this: ... " mp-base.mpiv syn keyword mpNumExp graypart syn keyword mpType graycolor greycolor syn keyword mpConstant cyan magenta yellow " mp-butt.mpiv syn keyword mpDef predefinedbutton some_button syn keyword mpConstant context_butt " mp-char.mpiv syn keyword mpDef flow_begin_chart flow_begin_sub_chart syn keyword mpDef flow_chart_draw_comment flow_chart_draw_exit ... syn keyword mpVardef flow_xy_on_grid flow_xy_right flow_xy_top syn keyword mpVardef flow_y_on_grid syn keyword mpVariable flow_arrowtip flow_chart_background_color syn keyword mpVariable flow_chart_offset flow_comment_offset syn keyword mpVariable flow_connection_arrow_size ... This fine-grained classification allows for great flexibility when defining syntax highlighting, because each group can have different properties (and the user can customize that), although by default several groups are highlighted in the same way (e.g., all macros have the same highlighting by default). Nicola