1" Vim syntax file 2" Language: MetaPost 3" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com> 4" Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com> 5" Last Change: 2016 Oct 14 6 7if exists("b:current_syntax") 8 finish 9endif 10 11let s:cpo_sav = &cpo 12set cpo&vim 13 14if exists("g:plain_mf_macros") 15 let s:plain_mf_macros = g:plain_mf_macros 16endif 17if exists("g:plain_mf_modes") 18 let s:plain_mf_modes = g:plain_mf_modes 19endif 20if exists("g:other_mf_macros") 21 let s:other_mf_macros = g:other_mf_macros 22endif 23 24let g:plain_mf_macros = 0 " plain.mf has no special meaning for MetaPost 25let g:plain_mf_modes = 0 " No METAFONT modes 26let g:other_mf_macros = 0 " cmbase.mf, logo.mf, ... neither 27 28" Read the METAFONT syntax to start with 29runtime! syntax/mf.vim 30unlet b:current_syntax " Necessary for syn include below 31 32" Restore the value of existing global variables 33if exists("s:plain_mf_macros") 34 let g:plain_mf_macros = s:plain_mf_macros 35else 36 unlet g:plain_mf_macros 37endif 38if exists("s:plain_mf_modes") 39 let g:plain_mf_modes = s:plain_mf_modes 40else 41 unlet g:plain_mf_modes 42endif 43if exists("s:other_mf_macros") 44 let g:other_mf_macros = s:other_mf_macros 45else 46 unlet g:other_mf_macros 47endif 48 49" Use TeX highlighting inside verbatimtex/btex... etex 50syn include @MPTeX syntax/tex.vim 51unlet b:current_syntax 52" These are defined as keywords rather than using matchgroup 53" in order to make them available to syntaxcomplete. 54syn keyword mpTeXdelim btex etex verbatimtex contained 55syn region mpTeXinsert 56 \ start=/\<verbatimtex\>\|\<btex\>/rs=e+1 57 \ end=/\<etex\>/re=s-1 keepend 58 \ contains=@MPTeX,mpTeXdelim 59 60" iskeyword must be set after the syn include above, because tex.vim sets `syn 61" iskeyword`. Note that keywords do not contain numbers (numbers are 62" subscripts) 63syntax iskeyword @,_ 64 65" MetaPost primitives not found in METAFONT 66syn keyword mpBoolExp bounded clipped filled stroked textual arclength 67syn keyword mpNumExp arctime blackpart bluepart colormodel cyanpart 68syn keyword mpNumExp fontsize greenpart greypart magentapart redpart 69syn keyword mpPairExp yellowpart llcorner lrcorner ulcorner urcorner 70" envelope is seemingly undocumented, but it exists since mpost 1.003. 71" The syntax is: envelope <polygonal pen> of <path primary>. For example, 72" path p; 73" p := envelope pensquare of (up--left); 74" (Thanks to Daniel H. Luecking for the example!) 75syn keyword mpPathExp envelope pathpart 76syn keyword mpPenExp penpart 77syn keyword mpPicExp dashpart glyph infont 78syn keyword mpStringExp fontpart readfrom textpart 79syn keyword mpType cmykcolor color rgbcolor 80" Other MetaPost primitives listed in the manual 81syn keyword mpPrimitive mpxbreak within 82" Internal quantities not found in METAFONT 83" (Table 6 in MetaPost: A User's Manual) 84syn keyword mpInternal defaultcolormodel hour minute linecap linejoin 85syn keyword mpInternal miterlimit mpprocset mpversion numberprecision 86syn keyword mpInternal numbersystem outputfilename outputformat 87syn keyword mpInternal outputformatoptions outputtemplate prologues 88syn keyword mpInternal restoreclipcolor tracinglostchars troffmode 89syn keyword mpInternal truecorners 90" List of commands not found in METAFONT (from MetaPost: A User's Manual) 91syn keyword mpCommand clip closefrom dashed filenametemplate fontmapfile 92syn keyword mpCommand fontmapline setbounds withcmykcolor withcolor 93syn keyword mpCommand withgreyscale withoutcolor withpostscript 94syn keyword mpCommand withprescript withrgbcolor write 95" METAFONT internal variables not found in MetaPost 96syn keyword notDefined autorounding chardx chardy fillin granularity 97syn keyword notDefined proofing smoothing tracingedges tracingpens 98syn keyword notDefined turningcheck xoffset yoffset 99" Suffix defined only in METAFONT: 100syn keyword notDefined nodot 101" Other not implemented primitives (see MetaPost: A User's Manual, §C.1) 102syn keyword notDefined cull display openwindow numspecial totalweight 103syn keyword notDefined withweight 104 105" Keywords defined by plain.mp 106if get(g:, "plain_mp_macros", 1) || get(g:, "mp_metafun_macros", 0) 107 syn keyword mpDef beginfig clear_pen_memory clearit clearpen clearpen 108 syn keyword mpDef clearxy colorpart cutdraw downto draw drawarrow 109 syn keyword mpDef drawdblarrow drawdot drawoptions endfig erase 110 syn keyword mpDef exitunless fill filldraw flex gobble hide interact 111 syn keyword mpDef label loggingall makelabel numtok penstroke pickup 112 syn keyword mpDef range reflectedabout rotatedaround shipit 113 syn keyword mpDef stop superellipse takepower tracingall tracingnone 114 syn keyword mpDef undraw undrawdot unfill unfilldraw upto 115 syn match mpDef "???" 116 syn keyword mpVardef arrowhead bbox bot buildcycle byte ceiling center 117 syn keyword mpVardef counterclockwise decr dir direction directionpoint 118 syn keyword mpVardef dotlabel dotlabels image incr interpath inverse 119 syn keyword mpVardef labels lft magstep max min penlabels penpos round 120 syn keyword mpVardef rt savepen solve tensepath thelabel top unitvector 121 syn keyword mpVardef whatever z 122 syn keyword mpPrimaryDef div dotprod gobbled mod 123 syn keyword mpSecondaryDef intersectionpoint 124 syn keyword mpTertiaryDef cutafter cutbefore softjoin thru 125 syn keyword mpNewInternal ahangle ahlength bboxmargin beveled butt defaultpen 126 syn keyword mpNewInternal defaultscale dotlabeldiam eps epsilon infinity 127 syn keyword mpNewInternal join_radius labeloffset mitered pen_bot pen_lft 128 syn keyword mpNewInternal pen_rt pen_top rounded squared tolerance 129 " Predefined constants 130 syn keyword mpConstant EOF background base_name base_version black 131 syn keyword mpConstant blankpicture blue ditto down evenly fullcircle 132 syn keyword mpConstant green halfcircle identity left origin penrazor 133 syn keyword mpConstant penspeck pensquare quartercircle red right 134 syn keyword mpConstant unitsquare up white withdots 135 " Other predefined variables 136 syn keyword mpVariable currentpen currentpen_path currentpicture cuttings 137 syn keyword mpVariable defaultfont extra_beginfig extra_endfig 138 syn match mpVariable /\<\%(laboff\|labxf\|labyf\)\>/ 139 syn match mpVariable /\<\%(laboff\|labxf\|labyf\)\.\%(lft\|rt\|bot\|top\|ulft\|urt\|llft\|lrt\)\>/ 140 " let statements: 141 syn keyword mpnumExp abs 142 syn keyword mpDef rotatedabout 143 syn keyword mpCommand bye relax 144 " on and off are not technically keywords, but it is nice to highlight them 145 " inside dashpattern(). 146 syn keyword mpOnOff off on contained 147 syn keyword mpDash dashpattern contained 148 syn region mpDashPattern 149 \ start="dashpattern\s*" 150 \ end=")"he=e-1 151 \ contains=mfNumeric,mfLength,mpOnOff,mpDash 152endif 153 154" Keywords defined by mfplain.mp 155if get(g:, "mfplain_mp_macros", 0) 156 syn keyword mpDef beginchar capsule_def change_width 157 syn keyword mpDef define_blacker_pixels define_corrected_pixels 158 syn keyword mpDef define_good_x_pixels define_good_y_pixels 159 syn keyword mpDef define_horizontal_corrected_pixels define_pixels 160 syn keyword mpDef define_whole_blacker_pixels define_whole_pixels 161 syn keyword mpDef define_whole_vertical_blacker_pixels 162 syn keyword mpDef define_whole_vertical_pixels endchar 163 syn keyword mpDef font_coding_scheme font_extra_space font_identifier 164 syn keyword mpDef font_normal_shrink font_normal_space 165 syn keyword mpDef font_normal_stretch font_quad font_size font_slant 166 syn keyword mpDef font_x_height italcorr labelfont lowres_fix makebox 167 syn keyword mpDef makegrid maketicks mode_def mode_setup proofrule 168 syn keyword mpDef smode 169 syn keyword mpVardef hround proofrulethickness vround 170 syn keyword mpNewInternal blacker o_correction 171 syn keyword mpVariable extra_beginchar extra_endchar extra_setup rulepen 172 " plus some no-ops, also from mfplain.mp 173 syn keyword mpDef cull cullit gfcorners imagerules nodisplays 174 syn keyword mpDef notransforms openit proofoffset screenchars 175 syn keyword mpDef screenrule screenstrokes showit 176 syn keyword mpVardef grayfont slantfont titlefont 177 syn keyword mpVariable currenttransform 178 syn keyword mpConstant unitpixel 179 " These are not listed in the MetaPost manual, and some are ignored by 180 " MetaPost, but are nonetheless defined in mfplain.mp 181 syn keyword mpDef killtext 182 syn match mpVardef "\<good\.\%(x\|y\|lft\|rt\|top\|bot\)\>" 183 syn keyword mpVariable aspect_ratio localfont mag mode mode_name 184 syn keyword mpVariable proofcolor 185 syn keyword mpConstant lowres proof smoke 186 syn keyword mpNewInternal autorounding bp_per_pixel granularity 187 syn keyword mpNewInternal number_of_modes proofing smoothing turningcheck 188endif 189 190" Keywords defined by all base macro packages: 191" - (r)boxes.mp 192" - format.mp 193" - graph.mp 194" - marith.mp 195" - sarith.mp 196" - string.mp 197" - TEX.mp 198if get(g:, "other_mp_macros", 1) 199 " boxes and rboxes 200 syn keyword mpDef boxjoin drawboxed drawboxes drawunboxed 201 syn keyword mpNewInternal circmargin defaultdx defaultdy rbox_radius 202 syn keyword mpVardef boxit bpath circleit fixpos fixsize generic_declare 203 syn keyword mpVardef generic_redeclare generisize pic rboxit str_prefix 204 " format 205 syn keyword mpVardef Mformat format init_numbers roundd 206 syn keyword mpVariable Fe_base Fe_plus 207 syn keyword mpConstant Ten_to 208 " graph 209 syn keyword mpDef Gfor Gxyscale OUT auto begingraph endgraph gdata 210 syn keyword mpDef gdraw gdrawarrow gdrawdblarrow gfill plot 211 syn keyword mpVardef augment autogrid frame gdotlabel glabel grid itick 212 syn keyword mpVardef otick 213 syn keyword mpVardef Mreadpath setcoords setrange 214 syn keyword mpNewInternal Gmarks Gminlog Gpaths linear log 215 syn keyword mpVariable Autoform Gemarks Glmarks Gumarks 216 syn keyword mpConstant Gtemplate 217 syn match mpVariable /Gmargin\.\%(low\|high\)/ 218 " marith 219 syn keyword mpVardef Mabs Meform Mexp Mexp_str Mlog Mlog_Str Mlog_str 220 syn keyword mpPrimaryDef Mdiv Mmul 221 syn keyword mpSecondaryDef Madd Msub 222 syn keyword mpTertiaryDef Mleq 223 syn keyword mpNewInternal Mten Mzero 224 " sarith 225 syn keyword mpVardef Sabs Scvnum 226 syn keyword mpPrimaryDef Sdiv Smul 227 syn keyword mpSecondaryDef Sadd Ssub 228 syn keyword mpTertiaryDef Sleq Sneq 229 " string 230 syn keyword mpVardef cspan isdigit loptok 231 " TEX 232 syn keyword mpVardef TEX TEXPOST TEXPRE 233endif 234 235" Up to date as of 23-Sep-2016. 236if get(b:, 'mp_metafun_macros', get(g:, 'mp_metafun_macros', 0)) 237 " Highlight TeX keywords (for use in ConTeXt documents) 238 syn match mpTeXKeyword '\\[a-zA-Z@]\+' 239 240 " These keywords have been added manually. 241 syn keyword mpPrimitive runscript 242 243 " The following MetaFun keywords have been extracted automatically from 244 " ConTeXt source code. They include all "public" macros (where a macro is 245 " considered public if and only if it does not start with _, mfun_, mlib_, or 246 " do_, and it does not end with _), all "public" unsaved variables, and all 247 " `let` statements. 248 249 " mp-abck.mpiv 250 syn keyword mpDef abck_grid_line anchor_box box_found boxfilloptions 251 syn keyword mpDef boxgridoptions boxlineoptions draw_multi_pars 252 syn keyword mpDef draw_multi_side draw_multi_side_path freeze_box 253 syn keyword mpDef initialize_box initialize_box_pos 254 syn keyword mpDef multi_side_draw_options show_multi_kind 255 syn keyword mpDef show_multi_pars 256 syn keyword mpVardef abck_baseline_grid abck_draw_path abck_graphic_grid 257 syn keyword mpVariable boxdashtype boxfilloffset boxfilltype 258 syn keyword mpVariable boxgriddirection boxgriddistance boxgridshift 259 syn keyword mpVariable boxgridtype boxgridwidth boxlineoffset 260 syn keyword mpVariable boxlineradius boxlinetype boxlinewidth multikind 261 syn keyword mpConstant context_abck 262 " mp-apos.mpiv 263 syn keyword mpDef anch_sidebars_draw boxfilloptions boxlineoptions 264 syn keyword mpDef connect_positions 265 syn keyword mpConstant context_apos 266 " mp-asnc.mpiv 267 syn keyword mpDef FlushSyncTasks ProcessSyncTask ResetSyncTasks 268 syn keyword mpDef SetSyncColor SetSyncThreshold SyncTask 269 syn keyword mpVardef PrepareSyncTasks SyncBox TheSyncColor 270 syn keyword mpVardef TheSyncThreshold 271 syn keyword mpVariable CurrentSyncClass NOfSyncPaths SyncColor 272 syn keyword mpVariable SyncLeftOffset SyncPaths SyncTasks SyncThreshold 273 syn keyword mpVariable SyncThresholdMethod SyncWidth 274 syn keyword mpConstant context_asnc 275 " mp-back.mpiv 276 syn keyword mpDef some_double_back some_hash 277 syn keyword mpVariable back_nillcolor 278 syn keyword mpConstant context_back 279 " mp-bare.mpiv 280 syn keyword mpVardef colordecimals rawtextext 281 syn keyword mpPrimaryDef infont 282 syn keyword mpConstant context_bare 283 " mp-base.mpiv 284 " This is essentially plain.mp with only a few keywords added 285 syn keyword mpNumExp graypart 286 syn keyword mpType graycolor greycolor 287 syn keyword mpConstant cyan magenta yellow 288 " mp-butt.mpiv 289 syn keyword mpDef predefinedbutton some_button 290 syn keyword mpConstant context_butt 291 " mp-char.mpiv 292 syn keyword mpDef flow_begin_chart flow_begin_sub_chart 293 syn keyword mpDef flow_chart_draw_comment flow_chart_draw_exit 294 syn keyword mpDef flow_chart_draw_label flow_chart_draw_text 295 syn keyword mpDef flow_clip_chart flow_collapse_points 296 syn keyword mpDef flow_connect_bottom_bottom flow_connect_bottom_left 297 syn keyword mpDef flow_connect_bottom_right flow_connect_bottom_top 298 syn keyword mpDef flow_connect_left_bottom flow_connect_left_left 299 syn keyword mpDef flow_connect_left_right flow_connect_left_top 300 syn keyword mpDef flow_connect_right_bottom flow_connect_right_left 301 syn keyword mpDef flow_connect_right_right flow_connect_right_top 302 syn keyword mpDef flow_connect_top_bottom flow_connect_top_left 303 syn keyword mpDef flow_connect_top_right flow_connect_top_top 304 syn keyword mpDef flow_draw_connection flow_draw_connection_point 305 syn keyword mpDef flow_draw_midpoint flow_draw_shape 306 syn keyword mpDef flow_draw_test_area flow_draw_test_shape 307 syn keyword mpDef flow_draw_test_shapes flow_end_chart 308 syn keyword mpDef flow_end_sub_chart flow_flush_connections 309 syn keyword mpDef flow_flush_picture flow_flush_pictures 310 syn keyword mpDef flow_flush_shape flow_flush_shapes 311 syn keyword mpDef flow_initialize_grid flow_new_chart flow_new_shape 312 syn keyword mpDef flow_scaled_to_grid flow_show_connection 313 syn keyword mpDef flow_show_connections flow_show_shapes 314 syn keyword mpDef flow_xy_offset flow_y_pos 315 syn keyword mpVardef flow_connection_path flow_down_on_grid 316 syn keyword mpVardef flow_down_to_grid flow_i_point flow_left_on_grid 317 syn keyword mpVardef flow_left_to_grid flow_offset 318 syn keyword mpVardef flow_points_initialized flow_right_on_grid 319 syn keyword mpVardef flow_right_to_grid flow_smooth_connection 320 syn keyword mpVardef flow_trim_points flow_trimmed flow_up_on_grid 321 syn keyword mpVardef flow_up_to_grid flow_valid_connection 322 syn keyword mpVardef flow_x_on_grid flow_xy_bottom flow_xy_left 323 syn keyword mpVardef flow_xy_on_grid flow_xy_right flow_xy_top 324 syn keyword mpVardef flow_y_on_grid 325 syn keyword mpVariable flow_arrowtip flow_chart_background_color 326 syn keyword mpVariable flow_chart_offset flow_comment_offset 327 syn keyword mpVariable flow_connection_arrow_size 328 syn keyword mpVariable flow_connection_dash_size 329 syn keyword mpVariable flow_connection_line_color 330 syn keyword mpVariable flow_connection_line_width 331 syn keyword mpVariable flow_connection_smooth_size flow_connections 332 syn keyword mpVariable flow_cpath flow_dash_pattern flow_dashline 333 syn keyword mpVariable flow_exit_offset flow_forcevalid flow_grid_height 334 syn keyword mpVariable flow_grid_width flow_label_offset flow_max_x 335 syn keyword mpVariable flow_max_y flow_peepshape flow_reverse_connection 336 syn keyword mpVariable flow_reverse_y flow_shape_action flow_shape_archive 337 syn keyword mpVariable flow_shape_decision flow_shape_down 338 syn keyword mpVariable flow_shape_fill_color flow_shape_height 339 syn keyword mpVariable flow_shape_left flow_shape_line_color 340 syn keyword mpVariable flow_shape_line_width flow_shape_loop 341 syn keyword mpVariable flow_shape_multidocument flow_shape_node 342 syn keyword mpVariable flow_shape_procedure flow_shape_product 343 syn keyword mpVariable flow_shape_right flow_shape_singledocument 344 syn keyword mpVariable flow_shape_subprocedure flow_shape_up 345 syn keyword mpVariable flow_shape_wait flow_shape_width 346 syn keyword mpVariable flow_show_all_points flow_show_con_points 347 syn keyword mpVariable flow_show_mid_points flow_showcrossing flow_smooth 348 syn keyword mpVariable flow_touchshape flow_xypoint flow_zfactor 349 syn keyword mpConstant context_flow 350 " mp-chem.mpiv 351 syn keyword mpDef chem_init_all chem_reset chem_start_structure 352 syn keyword mpDef chem_transformed 353 syn keyword mpVardef chem_ad chem_adj chem_align chem_arrow chem_au 354 syn keyword mpVardef chem_b chem_bb chem_bd chem_bw chem_c chem_cc 355 syn keyword mpVardef chem_ccd chem_cd chem_crz chem_cz chem_dash chem_db 356 syn keyword mpVardef chem_diff chem_dir chem_do chem_dr chem_draw 357 syn keyword mpVardef chem_drawarrow chem_eb chem_ed chem_ep chem_er 358 syn keyword mpVardef chem_es chem_et chem_fill chem_hb chem_init_some 359 syn keyword mpVardef chem_label chem_ldb chem_ldd chem_line chem_lr 360 syn keyword mpVardef chem_lrb chem_lrbd chem_lrd chem_lrh chem_lrn 361 syn keyword mpVardef chem_lrt chem_lrz chem_lsr chem_lsub chem_mark 362 syn keyword mpVardef chem_marked chem_mid chem_mids chem_midz chem_mir 363 syn keyword mpVardef chem_mov chem_move chem_number chem_oe chem_off 364 syn keyword mpVardef chem_pb chem_pe chem_r chem_r_fragment chem_rb 365 syn keyword mpVardef chem_rbd chem_rd chem_rdb chem_rdd chem_restore 366 syn keyword mpVardef chem_rh chem_rm chem_rn chem_rot chem_rr chem_rrb 367 syn keyword mpVardef chem_rrbd chem_rrd chem_rrh chem_rrn chem_rrt 368 syn keyword mpVardef chem_rrz chem_rsr chem_rsub chem_rt chem_rz chem_s 369 syn keyword mpVardef chem_save chem_sb chem_sd chem_set chem_sr chem_ss 370 syn keyword mpVardef chem_start_component chem_stop_component 371 syn keyword mpVardef chem_stop_structure chem_sub chem_symbol chem_tb 372 syn keyword mpVardef chem_text chem_z chem_zln chem_zlt chem_zn chem_zrn 373 syn keyword mpVardef chem_zrt chem_zt 374 syn keyword mpVariable chem_mark_pair chem_stack_mirror chem_stack_origin 375 syn keyword mpVariable chem_stack_p chem_stack_previous 376 syn keyword mpVariable chem_stack_rotation chem_trace_boundingbox 377 syn keyword mpVariable chem_trace_nesting chem_trace_text 378 syn keyword mpConstant context_chem 379 " mp-core.mpiv 380 syn keyword mpDef FlushSyncTasks ProcessSyncTask 381 syn keyword mpDef RegisterLocalTextArea RegisterPlainTextArea 382 syn keyword mpDef RegisterRegionTextArea RegisterTextArea 383 syn keyword mpDef ResetLocalTextArea ResetSyncTasks ResetTextAreas 384 syn keyword mpDef SaveTextAreas SetSyncColor SetSyncThreshold 385 syn keyword mpDef SyncTask anchor_box box_found boxfilloptions 386 syn keyword mpDef boxgridoptions boxlineoptions collapse_multi_pars 387 syn keyword mpDef draw_box draw_multi_pars draw_par freeze_box 388 syn keyword mpDef initialize_area initialize_area_par initialize_box 389 syn keyword mpDef initialize_box_pos initialize_par 390 syn keyword mpDef prepare_multi_pars relocate_multipars save_multipar 391 syn keyword mpDef set_par_line_height show_multi_pars show_par 392 syn keyword mpDef simplify_multi_pars sort_multi_pars 393 syn keyword mpVardef InsideSavedTextArea InsideSomeSavedTextArea 394 syn keyword mpVardef InsideSomeTextArea InsideTextArea PrepareSyncTasks 395 syn keyword mpVardef SyncBox TextAreaH TextAreaW TextAreaWH TextAreaX 396 syn keyword mpVardef TextAreaXY TextAreaY TheSyncColor TheSyncThreshold 397 syn keyword mpVardef baseline_grid graphic_grid multi_par_at_top 398 syn keyword mpVariable CurrentSyncClass NOfSavedTextAreas 399 syn keyword mpVariable NOfSavedTextColumns NOfSyncPaths NOfTextAreas 400 syn keyword mpVariable NOfTextColumns PlainTextArea RegionTextArea 401 syn keyword mpVariable SavedTextColumns SyncColor SyncLeftOffset SyncPaths 402 syn keyword mpVariable SyncTasks SyncThreshold SyncThresholdMethod 403 syn keyword mpVariable SyncWidth TextAreas TextColumns 404 syn keyword mpVariable auto_multi_par_hsize boxdashtype boxfilloffset 405 syn keyword mpVariable boxfilltype boxgriddirection boxgriddistance 406 syn keyword mpVariable boxgridshift boxgridtype boxgridwidth boxlineradius 407 syn keyword mpVariable boxlinetype boxlinewidth check_multi_par_chain 408 syn keyword mpVariable compensate_multi_par_topskip 409 syn keyword mpVariable enable_multi_par_fallback force_multi_par_chain 410 syn keyword mpVariable ignore_multi_par_page last_multi_par_shift lefthang 411 syn keyword mpVariable local_multi_par_area multi_column_first_page_hack 412 syn keyword mpVariable multi_par_pages multiloc multilocs multipar 413 syn keyword mpVariable multipars multiref multirefs nofmultipars 414 syn keyword mpVariable obey_multi_par_hang obey_multi_par_more 415 syn keyword mpVariable one_piece_multi_par par_hang_after par_hang_indent 416 syn keyword mpVariable par_indent par_left_skip par_line_height 417 syn keyword mpVariable par_right_skip par_start_pos par_stop_pos 418 syn keyword mpVariable par_strut_depth par_strut_height ppos righthang 419 syn keyword mpVariable snap_multi_par_tops somehang span_multi_column_pars 420 syn keyword mpVariable use_multi_par_region 421 syn keyword mpConstant context_core 422 syn keyword LET anchor_area anchor_par draw_area 423 " mp-cows.mpiv 424 syn keyword mpConstant context_cows cow 425 " mp-crop.mpiv 426 syn keyword mpDef page_marks_add_color page_marks_add_lines 427 syn keyword mpDef page_marks_add_marking page_marks_add_number 428 syn keyword mpVardef crop_color crop_gray crop_marks_cmyk 429 syn keyword mpVardef crop_marks_cmykrgb crop_marks_gray crop_marks_lines 430 syn keyword mpVariable crop_colors more page 431 syn keyword mpConstant context_crop 432 " mp-figs.mpiv 433 syn keyword mpDef naturalfigure registerfigure 434 syn keyword mpVardef figuredimensions figureheight figuresize 435 syn keyword mpVardef figurewidth 436 syn keyword mpConstant context_figs 437 " mp-fobg.mpiv 438 syn keyword mpDef DrawFoFrame 439 syn keyword mpVardef equalpaths 440 syn keyword mpPrimaryDef inset outset 441 syn keyword mpVariable FoBackground FoBackgroundColor FoFrame FoLineColor 442 syn keyword mpVariable FoLineStyle FoLineWidth FoSplit 443 syn keyword mpConstant FoAll FoBottom FoDash FoDotted FoDouble FoGroove 444 syn keyword mpConstant FoHidden FoInset FoLeft FoMedium FoNoColor FoNone 445 syn keyword mpConstant FoOutset FoRidge FoRight FoSolid FoThick FoThin 446 syn keyword mpConstant FoTop context_fobg 447 " mp-form.mpiv 448 syn keyword mpConstant context_form 449 " mp-func.mpiv 450 syn keyword mpDef constructedfunction constructedpairs 451 syn keyword mpDef constructedpath curvedfunction curvedpairs 452 syn keyword mpDef curvedpath function pathconnectors straightfunction 453 syn keyword mpDef straightpairs straightpath 454 syn keyword mpConstant context_func 455 " mp-grap.mpiv 456 syn keyword mpDef Gfor OUT auto begingraph circles crosses diamonds 457 syn keyword mpDef downtriangles endgraph gdata gdraw gdrawarrow 458 syn keyword mpDef gdrawdblarrow gfill graph_addto 459 syn keyword mpDef graph_addto_currentpicture graph_comma 460 syn keyword mpDef graph_coordinate_multiplication graph_draw 461 syn keyword mpDef graph_draw_label graph_errorbar_text graph_fill 462 syn keyword mpDef graph_generate_exponents 463 syn keyword mpDef graph_generate_label_position 464 syn keyword mpDef graph_generate_numbers graph_label_location 465 syn keyword mpDef graph_scan_mark graph_scan_marks graph_setbounds 466 syn keyword mpDef graph_suffix graph_tick_label 467 syn keyword mpDef graph_with_pen_and_color graph_withlist 468 syn keyword mpDef graph_xyscale lefttriangles makefunctionpath plot 469 syn keyword mpDef plotsymbol points rainbow righttriangles smoothpath 470 syn keyword mpDef squares stars uptriangles witherrorbars 471 syn keyword mpVardef addtopath augment autogrid constant_fit 472 syn keyword mpVardef constant_function det escaped_format exp 473 syn keyword mpVardef exponential_fit exponential_function format 474 syn keyword mpVardef formatted frame functionpath gaussian_fit 475 syn keyword mpVardef gaussian_function gdotlabel glabel graph_Feform 476 syn keyword mpVardef graph_Meform graph_arrowhead_extent graph_bounds 477 syn keyword mpVardef graph_clear_bounds 478 syn keyword mpVardef graph_convert_user_path_to_internal graph_cspan 479 syn keyword mpVardef graph_draw_arrowhead graph_error graph_errorbars 480 syn keyword mpVardef graph_exp graph_factor_and_exponent_to_string 481 syn keyword mpVardef graph_gridline_picture graph_is_null 482 syn keyword mpVardef graph_label_convert_user_to_internal graph_loptok 483 syn keyword mpVardef graph_match_exponents graph_mlog 484 syn keyword mpVardef graph_modified_exponent_ypart graph_pair_adjust 485 syn keyword mpVardef graph_picture_conversion graph_post_draw 486 syn keyword mpVardef graph_read_line graph_readpath graph_remap 487 syn keyword mpVardef graph_scan_path graph_select_exponent_mark 488 syn keyword mpVardef graph_select_mark graph_set_bounds 489 syn keyword mpVardef graph_set_default_bounds graph_shapesize 490 syn keyword mpVardef graph_stash_label graph_tick_mark_spacing 491 syn keyword mpVardef graph_unknown_pair_bbox grid isdigit itick 492 syn keyword mpVardef linear_fit linear_function ln logten lorentzian_fit 493 syn keyword mpVardef lorentzian_function otick polynomial_fit 494 syn keyword mpVardef polynomial_function power_law_fit 495 syn keyword mpVardef power_law_function powten setcoords setrange 496 syn keyword mpVardef sortpath strfmt tick varfmt 497 syn keyword mpNewInternal Mzero doubleinfinity graph_log_minimum 498 syn keyword mpNewInternal graph_minimum_number_of_marks largestmantissa 499 syn keyword mpNewInternal linear lntwo log mlogten singleinfinity 500 syn keyword mpVariable Autoform determinant fit_chi_squared 501 syn keyword mpVariable graph_errorbar_picture graph_exp_marks 502 syn keyword mpVariable graph_frame_pair_a graph_frame_pair_b 503 syn keyword mpVariable graph_lin_marks graph_log_marks graph_modified_bias 504 syn keyword mpVariable graph_modified_higher graph_modified_lower 505 syn keyword mpVariable graph_shape r_s resistance_color resistance_name 506 syn keyword mpConstant context_grap 507 " mp-grid.mpiv 508 syn keyword mpDef hlingrid hloggrid vlingrid vloggrid 509 syn keyword mpVardef hlinlabel hlintext hlogtext linlin linlinpath 510 syn keyword mpVardef linlog linlogpath loglin loglinpath loglog 511 syn keyword mpVardef loglogpath processpath vlinlabel vlintext vlogtext 512 syn keyword mpVariable fmt_initialize fmt_pictures fmt_precision 513 syn keyword mpVariable fmt_separator fmt_zerocheck grid_eps 514 syn keyword mpConstant context_grid 515 " mp-grph.mpiv 516 syn keyword mpDef beginfig begingraphictextfig data_mpo_file 517 syn keyword mpDef data_mpy_file doloadfigure draw endfig 518 syn keyword mpDef endgraphictextfig fill fixedplace graphictext 519 syn keyword mpDef loadfigure new_graphictext normalwithshade number 520 syn keyword mpDef old_graphictext outlinefill protectgraphicmacros 521 syn keyword mpDef resetfig reversefill withdrawcolor withfillcolor 522 syn keyword mpDef withshade 523 syn keyword mpVariable currentgraphictext figureshift 524 syn keyword mpConstant context_grph 525 " mp-idea.mpiv 526 syn keyword mpVardef bcomponent ccomponent gcomponent mcomponent 527 syn keyword mpVardef rcomponent somecolor ycomponent 528 " mp-luas.mpiv 529 syn keyword mpDef luacall message 530 syn keyword mpVardef MP lua lualist 531 syn keyword mpConstant context_luas 532 " mp-mlib.mpiv 533 syn keyword mpDef autoalign bitmapimage circular_shade cmyk comment 534 syn keyword mpDef defineshade eofill eofillup externalfigure figure 535 syn keyword mpDef fillup label linear_shade multitonecolor namedcolor 536 syn keyword mpDef nofill onlayer passarrayvariable passvariable 537 syn keyword mpDef plain_label register resolvedcolor scantokens 538 syn keyword mpDef set_circular_vector set_linear_vector shaded 539 syn keyword mpDef spotcolor startpassingvariable stoppassingvariable 540 syn keyword mpDef thelabel transparent[] usemetafunlabels 541 syn keyword mpDef useplainlabels withcircularshade withlinearshade 542 syn keyword mpDef withmask withproperties withshadecenter 543 syn keyword mpDef withshadecolors withshadedirection withshadedomain 544 syn keyword mpDef withshadefactor withshadefraction withshadeorigin 545 syn keyword mpDef withshaderadius withshadestep withshadetransform 546 syn keyword mpDef withshadevector withtransparency 547 syn keyword mpVardef anchored checkbounds checkedbounds 548 syn keyword mpVardef define_circular_shade define_linear_shade dotlabel 549 syn keyword mpVardef escaped_format fmttext fontsize format formatted 550 syn keyword mpVardef installlabel onetimefmttext onetimetextext 551 syn keyword mpVardef outlinetext plain_thelabel properties rawfmttext 552 syn keyword mpVardef rawtexbox rawtextext rule strfmt strut texbox 553 syn keyword mpVardef textext thefmttext thelabel thetexbox thetextext 554 syn keyword mpVardef tostring transparency_alternative_to_number 555 syn keyword mpVardef validtexbox varfmt verbatim 556 syn keyword mpPrimaryDef asgroup infont normalinfont shadedinto 557 syn keyword mpPrimaryDef shownshadecenter shownshadedirection 558 syn keyword mpPrimaryDef shownshadeorigin shownshadevector withshade 559 syn keyword mpPrimaryDef withshademethod 560 syn keyword mpNewInternal colorburntransparent colordodgetransparent 561 syn keyword mpNewInternal colortransparent darkentransparent 562 syn keyword mpNewInternal differencetransparent exclusiontransparent 563 syn keyword mpNewInternal hardlighttransparent huetransparent 564 syn keyword mpNewInternal lightentransparent luminositytransparent 565 syn keyword mpNewInternal multiplytransparent normaltransparent 566 syn keyword mpNewInternal overlaytransparent saturationtransparent 567 syn keyword mpNewInternal screentransparent shadefactor softlighttransparent 568 syn keyword mpNewInternal textextoffset 569 syn keyword mpType property transparency 570 syn keyword mpVariable currentoutlinetext shadeddown shadedleft 571 syn keyword mpVariable shadedright shadedup shadeoffset trace_shades 572 syn keyword mpConstant context_mlib 573 " mp-page.mpiv 574 syn keyword mpDef BoundCoverAreas BoundPageAreas Enlarged FakeRule 575 syn keyword mpDef FakeWord LoadPageState OverlayBox RuleColor 576 syn keyword mpDef SetAreaVariables SetPageArea SetPageBackPage 577 syn keyword mpDef SetPageCoverPage SetPageField SetPageFrontPage 578 syn keyword mpDef SetPageHsize SetPageHstep SetPageLocation 579 syn keyword mpDef SetPagePage SetPageSpine SetPageVariables 580 syn keyword mpDef SetPageVsize SetPageVstep StartCover StartPage 581 syn keyword mpDef StopCover StopPage SwapPageState innerenlarged 582 syn keyword mpDef llEnlarged lrEnlarged outerenlarged ulEnlarged 583 syn keyword mpDef urEnlarged 584 syn keyword mpVardef BackPageHeight BackPageWidth BackSpace BaseLineSkip 585 syn keyword mpVardef BodyFontSize BottomDistance BottomHeight 586 syn keyword mpVardef BottomSpace CoverHeight CoverWidth CurrentColumn 587 syn keyword mpVardef CurrentHeight CurrentWidth CutSpace EmWidth 588 syn keyword mpVardef ExHeight FooterDistance FooterHeight 589 syn keyword mpVardef FrontPageHeight FrontPageWidth HSize HeaderDistance 590 syn keyword mpVardef HeaderHeight InPageBody InnerEdgeDistance 591 syn keyword mpVardef InnerEdgeWidth InnerMarginDistance InnerMarginWidth 592 syn keyword mpVardef InnerSpaceWidth LastPageNumber LayoutColumnDistance 593 syn keyword mpVardef LayoutColumnWidth LayoutColumns LeftEdgeDistance 594 syn keyword mpVardef LeftEdgeWidth LeftMarginDistance LeftMarginWidth 595 syn keyword mpVardef LineHeight MakeupHeight MakeupWidth NOfColumns 596 syn keyword mpVardef NOfPages OnOddPage OnRightPage OuterEdgeDistance 597 syn keyword mpVardef OuterEdgeWidth OuterMarginDistance OuterMarginWidth 598 syn keyword mpVardef OuterSpaceWidth OverlayDepth OverlayHeight 599 syn keyword mpVardef OverlayLineWidth OverlayOffset OverlayWidth 600 syn keyword mpVardef PageDepth PageFraction PageNumber PageOffset 601 syn keyword mpVardef PaperBleed PaperHeight PaperWidth PrintPaperHeight 602 syn keyword mpVardef PrintPaperWidth RealPageNumber RightEdgeDistance 603 syn keyword mpVardef RightEdgeWidth RightMarginDistance RightMarginWidth 604 syn keyword mpVardef SpineHeight SpineWidth StrutDepth StrutHeight 605 syn keyword mpVardef TextHeight TextWidth TopDistance TopHeight TopSkip 606 syn keyword mpVardef TopSpace VSize defaultcolormodel 607 syn keyword mpVariable Area BackPage CoverPage CurrentLayout Field 608 syn keyword mpVariable FrontPage HorPos Hsize Hstep Location Page 609 syn keyword mpVariable PageStateAvailable RuleDepth RuleDirection 610 syn keyword mpVariable RuleFactor RuleH RuleHeight RuleOffset RuleOption 611 syn keyword mpVariable RuleThickness RuleV RuleWidth Spine VerPos Vsize 612 syn keyword mpVariable Vstep 613 syn keyword mpConstant context_page 614 " mp-shap.mpiv 615 syn keyword mpDef drawline drawshape some_shape 616 syn keyword mpDef start_predefined_shape_definition 617 syn keyword mpDef stop_predefined_shape_definition 618 syn keyword mpVardef drawpredefinedline drawpredefinedshape 619 syn keyword mpVardef some_shape_path 620 syn keyword mpVariable predefined_shapes predefined_shapes_xradius 621 syn keyword mpVariable predefined_shapes_xxradius 622 syn keyword mpVariable predefined_shapes_yradius 623 syn keyword mpVariable predefined_shapes_yyradius 624 syn keyword mpConstant context_shap 625 " mp-step.mpiv 626 syn keyword mpDef initialize_step_variables midbottomboundary 627 syn keyword mpDef midtopboundary step_begin_cell step_begin_chart 628 syn keyword mpDef step_cell_ali step_cell_bot step_cell_top 629 syn keyword mpDef step_cells step_end_cell step_end_chart 630 syn keyword mpDef step_text_bot step_text_mid step_text_top 631 syn keyword mpDef step_texts 632 syn keyword mpVariable cell_distance_x cell_distance_y cell_fill_color 633 syn keyword mpVariable cell_line_color cell_line_width cell_offset 634 syn keyword mpVariable chart_align chart_category chart_vertical 635 syn keyword mpVariable line_distance line_height line_line_color 636 syn keyword mpVariable line_line_width line_offset nofcells 637 syn keyword mpVariable text_distance_set text_fill_color text_line_color 638 syn keyword mpVariable text_line_width text_offset 639 syn keyword mpConstant context_cell 640 " mp-symb.mpiv 641 syn keyword mpDef finishglyph prepareglyph 642 syn keyword mpConstant lefttriangle midbar onebar righttriangle sidebar 643 syn keyword mpConstant sublefttriangle subrighttriangle twobar 644 " mp-text.mpiv 645 syn keyword mpDef build_parshape 646 syn keyword mpVardef found_point 647 syn keyword mpVariable trace_parshape 648 syn keyword mpConstant context_text 649 " mp-tool.mpiv 650 syn keyword mpCommand dump 651 syn keyword mpDef addbackground b_color beginglyph break centerarrow 652 syn keyword mpDef clearxy condition data_mpd_file detaileddraw 653 syn keyword mpDef detailpaths dowithpath draw drawboundary 654 syn keyword mpDef drawboundingbox drawcontrollines drawcontrolpoints 655 syn keyword mpDef drawfill draworigin drawpath drawpathonly 656 syn keyword mpDef drawpathwithpoints drawpoint drawpointlabels 657 syn keyword mpDef drawpoints drawticks drawwholepath drawxticks 658 syn keyword mpDef drawyticks endglyph fill finishsavingdata g_color 659 syn keyword mpDef inner_boundingbox job_name leftarrow loadmodule 660 syn keyword mpDef midarrowhead naturalizepaths newboolean newcolor 661 syn keyword mpDef newnumeric newpair newpath newpicture newstring 662 syn keyword mpDef newtransform normalcolors normaldraw normalfill 663 syn keyword mpDef normalwithcolor outer_boundingbox pop_boundingbox 664 syn keyword mpDef popboundingbox popcurrentpicture push_boundingbox 665 syn keyword mpDef pushboundingbox pushcurrentpicture r_color readfile 666 syn keyword mpDef recolor redraw refill register_dirty_chars 667 syn keyword mpDef remapcolor remapcolors remappedcolor reprocess 668 syn keyword mpDef resetarrows resetcolormap resetdrawoptions 669 syn keyword mpDef resolvedcolor restroke retext rightarrow savedata 670 syn keyword mpDef saveoptions scale_currentpicture set_ahlength 671 syn keyword mpDef set_grid showgrid startplaincompatibility 672 syn keyword mpDef startsavingdata stopplaincompatibility 673 syn keyword mpDef stopsavingdata stripe_path_a stripe_path_n undashed 674 syn keyword mpDef undrawfill untext visualizeddraw visualizedfill 675 syn keyword mpDef visualizepaths withcolor withgray 676 syn keyword mpDef xscale_currentpicture xshifted 677 syn keyword mpDef xyscale_currentpicture yscale_currentpicture 678 syn keyword mpDef yshifted 679 syn keyword mpVardef acos acosh anglebetween area arrowhead 680 syn keyword mpVardef arrowheadonpath arrowpath asciistring asin asinh 681 syn keyword mpVardef atan basiccolors bbheight bbwidth bcomponent 682 syn keyword mpVardef blackcolor bottomboundary boundingbox c_phantom 683 syn keyword mpVardef ccomponent center cleanstring colorcircle 684 syn keyword mpVardef colordecimals colordecimalslist colorlike colorpart 685 syn keyword mpVardef colortype complementary complemented copylist cos 686 syn keyword mpVardef cosh cot cotd curved ddddecimal dddecimal ddecimal 687 syn keyword mpVardef decorated drawarrowpath epsed exp freedotlabel 688 syn keyword mpVardef freelabel gcomponent getunstringed grayed greyed 689 syn keyword mpVardef hsvtorgb infinite innerboundingbox interpolated inv 690 syn keyword mpVardef invcos inverted invsin invtan laddered leftboundary 691 syn keyword mpVardef leftpath leftrightpath listsize listtocurves 692 syn keyword mpVardef listtolines ln log mcomponent new_on_grid 693 syn keyword mpVardef outerboundingbox paired pen_size penpoint phantom 694 syn keyword mpVardef pointarrow pow punked rangepath rcomponent 695 syn keyword mpVardef redecorated repathed rightboundary rightpath 696 syn keyword mpVardef rotation roundedsquare set_inner_boundingbox 697 syn keyword mpVardef set_outer_boundingbox setunstringed shapedlist 698 syn keyword mpVardef simplified sin sinh sortlist sqr straightpath tan 699 syn keyword mpVardef tand tanh tensecircle thefreelabel topboundary 700 syn keyword mpVardef tripled undecorated unitvector unspiked unstringed 701 syn keyword mpVardef whitecolor ycomponent 702 syn keyword mpPrimaryDef along blownup bottomenlarged cornered crossed 703 syn keyword mpPrimaryDef enlarged enlonged leftenlarged llenlarged llmoved 704 syn keyword mpPrimaryDef lrenlarged lrmoved on paralleled randomized 705 syn keyword mpPrimaryDef randomizedcontrols randomshifted rightenlarged 706 syn keyword mpPrimaryDef shortened sized smoothed snapped softened squeezed 707 syn keyword mpPrimaryDef stretched superellipsed topenlarged ulenlarged 708 syn keyword mpPrimaryDef ulmoved uncolored urenlarged urmoved xsized 709 syn keyword mpPrimaryDef xstretched xyscaled xysized ysized ystretched zmod 710 syn keyword mpSecondaryDef anglestriped intersection_point numberstriped 711 syn keyword mpSecondaryDef peepholed 712 syn keyword mpTertiaryDef cutends 713 syn keyword mpNewInternal ahdimple ahvariant anglelength anglemethod 714 syn keyword mpNewInternal angleoffset charscale cmykcolormodel graycolormodel 715 syn keyword mpNewInternal greycolormodel maxdimensions metapostversion 716 syn keyword mpNewInternal nocolormodel rgbcolormodel striped_normal_inner 717 syn keyword mpNewInternal striped_normal_outer striped_reverse_inner 718 syn keyword mpNewInternal striped_reverse_outer 719 syn keyword mpType grayscale greyscale quadruplet triplet 720 syn keyword mpVariable ahfactor collapse_data color_map drawoptionsfactor 721 syn keyword mpVariable freedotlabelsize freelabeloffset grid grid_full 722 syn keyword mpVariable grid_h grid_left grid_nx grid_ny grid_w grid_x 723 syn keyword mpVariable grid_y intersection_found originlength 724 syn keyword mpVariable plain_compatibility_data pointlabelfont 725 syn keyword mpVariable pointlabelscale refillbackground savingdata 726 syn keyword mpVariable savingdatadone swappointlabels ticklength tickstep 727 syn keyword mpConstant CRLF DQUOTE PERCENT SPACE bcircle context_tool crlf 728 syn keyword mpConstant darkblue darkcyan darkgray darkgreen darkmagenta 729 syn keyword mpConstant darkred darkyellow downtriangle dquote freesquare 730 syn keyword mpConstant fulldiamond fullsquare fulltriangle lcircle 731 syn keyword mpConstant lefttriangle lightgray llcircle lltriangle lrcircle 732 syn keyword mpConstant lrtriangle mpversion nocolor noline oddly 733 syn keyword mpConstant originpath percent rcircle righttriangle space 734 syn keyword mpConstant tcircle triangle ulcircle ultriangle unitcircle 735 syn keyword mpConstant unitdiamond unittriangle uptriangle urcircle 736 syn keyword mpConstant urtriangle 737endif " MetaFun macros 738 739" Define the default highlighting 740hi def link mpTeXdelim mpPrimitive 741hi def link mpBoolExp mfBoolExp 742hi def link mpNumExp mfNumExp 743hi def link mpPairExp mfPairExp 744hi def link mpPathExp mfPathExp 745hi def link mpPenExp mfPenExp 746hi def link mpPicExp mfPicExp 747hi def link mpStringExp mfStringExp 748hi def link mpInternal mfInternal 749hi def link mpCommand mfCommand 750hi def link mpType mfType 751hi def link mpPrimitive mfPrimitive 752hi def link mpDef mfDef 753hi def link mpVardef mpDef 754hi def link mpPrimaryDef mpDef 755hi def link mpSecondaryDef mpDef 756hi def link mpTertiaryDef mpDef 757hi def link mpNewInternal mpInternal 758hi def link mpVariable mfVariable 759hi def link mpConstant mfConstant 760hi def link mpOnOff mpPrimitive 761hi def link mpDash mpPrimitive 762hi def link mpTeXKeyword Identifier 763 764let b:current_syntax = "mp" 765 766let &cpo = s:cpo_sav 767unlet! s:cpo_sav 768 769" vim:sw=2 770