summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/mp.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/mp.vim')
-rw-r--r--runtime/syntax/mp.vim769
1 files changed, 769 insertions, 0 deletions
diff --git a/runtime/syntax/mp.vim b/runtime/syntax/mp.vim
new file mode 100644
index 0000000..a8fa36f
--- /dev/null
+++ b/runtime/syntax/mp.vim
@@ -0,0 +1,769 @@
+" Vim syntax file
+" Language: MetaPost
+" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
+" Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
+" Last Change: 2016 Oct 14
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_sav = &cpo
+set cpo&vim
+
+if exists("g:plain_mf_macros")
+ let s:plain_mf_macros = g:plain_mf_macros
+endif
+if exists("g:plain_mf_modes")
+ let s:plain_mf_modes = g:plain_mf_modes
+endif
+if exists("g:other_mf_macros")
+ let s:other_mf_macros = g:other_mf_macros
+endif
+
+let g:plain_mf_macros = 0 " plain.mf has no special meaning for MetaPost
+let g:plain_mf_modes = 0 " No METAFONT modes
+let g:other_mf_macros = 0 " cmbase.mf, logo.mf, ... neither
+
+" Read the METAFONT syntax to start with
+runtime! syntax/mf.vim
+unlet b:current_syntax " Necessary for syn include below
+
+" Restore the value of existing global variables
+if exists("s:plain_mf_macros")
+ let g:plain_mf_macros = s:plain_mf_macros
+else
+ unlet g:plain_mf_macros
+endif
+if exists("s:plain_mf_modes")
+ let g:plain_mf_modes = s:plain_mf_modes
+else
+ unlet g:plain_mf_modes
+endif
+if exists("s:other_mf_macros")
+ let g:other_mf_macros = s:other_mf_macros
+else
+ unlet g:other_mf_macros
+endif
+
+" Use TeX highlighting inside verbatimtex/btex... etex
+syn include @MPTeX syntax/tex.vim
+unlet b:current_syntax
+" These are defined as keywords rather than using matchgroup
+" in order to make them available to syntaxcomplete.
+syn keyword mpTeXdelim btex etex verbatimtex contained
+syn region mpTeXinsert
+ \ start=/\<verbatimtex\>\|\<btex\>/rs=e+1
+ \ end=/\<etex\>/re=s-1 keepend
+ \ contains=@MPTeX,mpTeXdelim
+
+" iskeyword must be set after the syn include above, because tex.vim sets `syn
+" iskeyword`. Note that keywords do not contain numbers (numbers are
+" subscripts)
+syntax iskeyword @,_
+
+" MetaPost primitives not found in METAFONT
+syn keyword mpBoolExp bounded clipped filled stroked textual arclength
+syn keyword mpNumExp arctime blackpart bluepart colormodel cyanpart
+syn keyword mpNumExp fontsize greenpart greypart magentapart redpart
+syn keyword mpPairExp yellowpart llcorner lrcorner ulcorner urcorner
+" envelope is seemingly undocumented, but it exists since mpost 1.003.
+" The syntax is: envelope <polygonal pen> of <path primary>. For example,
+" path p;
+" p := envelope pensquare of (up--left);
+" (Thanks to Daniel H. Luecking for the example!)
+syn keyword mpPathExp envelope pathpart
+syn keyword mpPenExp penpart
+syn keyword mpPicExp dashpart glyph infont
+syn keyword mpStringExp fontpart readfrom textpart
+syn keyword mpType cmykcolor color rgbcolor
+" Other MetaPost primitives listed in the manual
+syn keyword mpPrimitive mpxbreak within
+" Internal quantities not found in METAFONT
+" (Table 6 in MetaPost: A User's Manual)
+syn keyword mpInternal defaultcolormodel hour minute linecap linejoin
+syn keyword mpInternal miterlimit mpprocset mpversion numberprecision
+syn keyword mpInternal numbersystem outputfilename outputformat
+syn keyword mpInternal outputformatoptions outputtemplate prologues
+syn keyword mpInternal restoreclipcolor tracinglostchars troffmode
+syn keyword mpInternal truecorners
+" List of commands not found in METAFONT (from MetaPost: A User's Manual)
+syn keyword mpCommand clip closefrom dashed filenametemplate fontmapfile
+syn keyword mpCommand fontmapline setbounds withcmykcolor withcolor
+syn keyword mpCommand withgreyscale withoutcolor withpostscript
+syn keyword mpCommand withprescript withrgbcolor write
+" METAFONT internal variables not found in MetaPost
+syn keyword notDefined autorounding chardx chardy fillin granularity
+syn keyword notDefined proofing smoothing tracingedges tracingpens
+syn keyword notDefined turningcheck xoffset yoffset
+" Suffix defined only in METAFONT:
+syn keyword notDefined nodot
+" Other not implemented primitives (see MetaPost: A User's Manual, §C.1)
+syn keyword notDefined cull display openwindow numspecial totalweight
+syn keyword notDefined withweight
+
+" Keywords defined by plain.mp
+if get(g:, "plain_mp_macros", 1) || get(g:, "mp_metafun_macros", 0)
+ syn keyword mpDef beginfig clear_pen_memory clearit clearpen clearpen
+ syn keyword mpDef clearxy colorpart cutdraw downto draw drawarrow
+ syn keyword mpDef drawdblarrow drawdot drawoptions endfig erase
+ syn keyword mpDef exitunless fill filldraw flex gobble hide interact
+ syn keyword mpDef label loggingall makelabel numtok penstroke pickup
+ syn keyword mpDef range reflectedabout rotatedaround shipit
+ syn keyword mpDef stop superellipse takepower tracingall tracingnone
+ syn keyword mpDef undraw undrawdot unfill unfilldraw upto
+ syn match mpDef "???"
+ syn keyword mpVardef arrowhead bbox bot buildcycle byte ceiling center
+ syn keyword mpVardef counterclockwise decr dir direction directionpoint
+ syn keyword mpVardef dotlabel dotlabels image incr interpath inverse
+ syn keyword mpVardef labels lft magstep max min penlabels penpos round
+ syn keyword mpVardef rt savepen solve tensepath thelabel top unitvector
+ syn keyword mpVardef whatever z
+ syn keyword mpPrimaryDef div dotprod gobbled mod
+ syn keyword mpSecondaryDef intersectionpoint
+ syn keyword mpTertiaryDef cutafter cutbefore softjoin thru
+ syn keyword mpNewInternal ahangle ahlength bboxmargin beveled butt defaultpen
+ syn keyword mpNewInternal defaultscale dotlabeldiam eps epsilon infinity
+ syn keyword mpNewInternal join_radius labeloffset mitered pen_bot pen_lft
+ syn keyword mpNewInternal pen_rt pen_top rounded squared tolerance
+ " Predefined constants
+ syn keyword mpConstant EOF background base_name base_version black
+ syn keyword mpConstant blankpicture blue ditto down evenly fullcircle
+ syn keyword mpConstant green halfcircle identity left origin penrazor
+ syn keyword mpConstant penspeck pensquare quartercircle red right
+ syn keyword mpConstant unitsquare up white withdots
+ " Other predefined variables
+ syn keyword mpVariable currentpen currentpen_path currentpicture cuttings
+ syn keyword mpVariable defaultfont extra_beginfig extra_endfig
+ syn match mpVariable /\<\%(laboff\|labxf\|labyf\)\>/
+ syn match mpVariable /\<\%(laboff\|labxf\|labyf\)\.\%(lft\|rt\|bot\|top\|ulft\|urt\|llft\|lrt\)\>/
+ " let statements:
+ syn keyword mpnumExp abs
+ syn keyword mpDef rotatedabout
+ syn keyword mpCommand bye relax
+ " on and off are not technically keywords, but it is nice to highlight them
+ " inside dashpattern().
+ syn keyword mpOnOff off on contained
+ syn keyword mpDash dashpattern contained
+ syn region mpDashPattern
+ \ start="dashpattern\s*"
+ \ end=")"he=e-1
+ \ contains=mfNumeric,mfLength,mpOnOff,mpDash
+endif
+
+" Keywords defined by mfplain.mp
+if get(g:, "mfplain_mp_macros", 0)
+ syn keyword mpDef beginchar capsule_def change_width
+ syn keyword mpDef define_blacker_pixels define_corrected_pixels
+ syn keyword mpDef define_good_x_pixels define_good_y_pixels
+ syn keyword mpDef define_horizontal_corrected_pixels define_pixels
+ syn keyword mpDef define_whole_blacker_pixels define_whole_pixels
+ syn keyword mpDef define_whole_vertical_blacker_pixels
+ syn keyword mpDef define_whole_vertical_pixels endchar
+ syn keyword mpDef font_coding_scheme font_extra_space font_identifier
+ syn keyword mpDef font_normal_shrink font_normal_space
+ syn keyword mpDef font_normal_stretch font_quad font_size font_slant
+ syn keyword mpDef font_x_height italcorr labelfont lowres_fix makebox
+ syn keyword mpDef makegrid maketicks mode_def mode_setup proofrule
+ syn keyword mpDef smode
+ syn keyword mpVardef hround proofrulethickness vround
+ syn keyword mpNewInternal blacker o_correction
+ syn keyword mpVariable extra_beginchar extra_endchar extra_setup rulepen
+ " plus some no-ops, also from mfplain.mp
+ syn keyword mpDef cull cullit gfcorners imagerules nodisplays
+ syn keyword mpDef notransforms openit proofoffset screenchars
+ syn keyword mpDef screenrule screenstrokes showit
+ syn keyword mpVardef grayfont slantfont titlefont
+ syn keyword mpVariable currenttransform
+ syn keyword mpConstant unitpixel
+ " These are not listed in the MetaPost manual, and some are ignored by
+ " MetaPost, but are nonetheless defined in mfplain.mp
+ syn keyword mpDef killtext
+ syn match mpVardef "\<good\.\%(x\|y\|lft\|rt\|top\|bot\)\>"
+ syn keyword mpVariable aspect_ratio localfont mag mode mode_name
+ syn keyword mpVariable proofcolor
+ syn keyword mpConstant lowres proof smoke
+ syn keyword mpNewInternal autorounding bp_per_pixel granularity
+ syn keyword mpNewInternal number_of_modes proofing smoothing turningcheck
+endif
+
+" Keywords defined by all base macro packages:
+" - (r)boxes.mp
+" - format.mp
+" - graph.mp
+" - marith.mp
+" - sarith.mp
+" - string.mp
+" - TEX.mp
+if get(g:, "other_mp_macros", 1)
+ " boxes and rboxes
+ syn keyword mpDef boxjoin drawboxed drawboxes drawunboxed
+ syn keyword mpNewInternal circmargin defaultdx defaultdy rbox_radius
+ syn keyword mpVardef boxit bpath circleit fixpos fixsize generic_declare
+ syn keyword mpVardef generic_redeclare generisize pic rboxit str_prefix
+ " format
+ syn keyword mpVardef Mformat format init_numbers roundd
+ syn keyword mpVariable Fe_base Fe_plus
+ syn keyword mpConstant Ten_to
+ " graph
+ syn keyword mpDef Gfor Gxyscale OUT auto begingraph endgraph gdata
+ syn keyword mpDef gdraw gdrawarrow gdrawdblarrow gfill plot
+ syn keyword mpVardef augment autogrid frame gdotlabel glabel grid itick
+ syn keyword mpVardef otick
+ syn keyword mpVardef Mreadpath setcoords setrange
+ syn keyword mpNewInternal Gmarks Gminlog Gpaths linear log
+ syn keyword mpVariable Autoform Gemarks Glmarks Gumarks
+ syn keyword mpConstant Gtemplate
+ syn match mpVariable /Gmargin\.\%(low\|high\)/
+ " marith
+ syn keyword mpVardef Mabs Meform Mexp Mexp_str Mlog Mlog_Str Mlog_str
+ syn keyword mpPrimaryDef Mdiv Mmul
+ syn keyword mpSecondaryDef Madd Msub
+ syn keyword mpTertiaryDef Mleq
+ syn keyword mpNewInternal Mten Mzero
+ " sarith
+ syn keyword mpVardef Sabs Scvnum
+ syn keyword mpPrimaryDef Sdiv Smul
+ syn keyword mpSecondaryDef Sadd Ssub
+ syn keyword mpTertiaryDef Sleq Sneq
+ " string
+ syn keyword mpVardef cspan isdigit loptok
+ " TEX
+ syn keyword mpVardef TEX TEXPOST TEXPRE
+endif
+
+" Up to date as of 23-Sep-2016.
+if get(b:, 'mp_metafun_macros', get(g:, 'mp_metafun_macros', 0))
+ " Highlight TeX keywords (for use in ConTeXt documents)
+ syn match mpTeXKeyword '\\[a-zA-Z@]\+'
+
+ " These keywords have been added manually.
+ syn keyword mpPrimitive runscript
+
+ " The following MetaFun keywords have been extracted automatically from
+ " ConTeXt source code. They include all "public" macros (where a macro is
+ " considered public if and only if it does not start with _, mfun_, mlib_, or
+ " do_, and it does not end with _), all "public" unsaved variables, and all
+ " `let` statements.
+
+ " mp-abck.mpiv
+ syn keyword mpDef abck_grid_line anchor_box box_found boxfilloptions
+ syn keyword mpDef boxgridoptions boxlineoptions draw_multi_pars
+ syn keyword mpDef draw_multi_side draw_multi_side_path freeze_box
+ syn keyword mpDef initialize_box initialize_box_pos
+ syn keyword mpDef multi_side_draw_options show_multi_kind
+ syn keyword mpDef show_multi_pars
+ syn keyword mpVardef abck_baseline_grid abck_draw_path abck_graphic_grid
+ syn keyword mpVariable boxdashtype boxfilloffset boxfilltype
+ syn keyword mpVariable boxgriddirection boxgriddistance boxgridshift
+ syn keyword mpVariable boxgridtype boxgridwidth boxlineoffset
+ syn keyword mpVariable boxlineradius boxlinetype boxlinewidth multikind
+ syn keyword mpConstant context_abck
+ " mp-apos.mpiv
+ syn keyword mpDef anch_sidebars_draw boxfilloptions boxlineoptions
+ syn keyword mpDef connect_positions
+ syn keyword mpConstant context_apos
+ " mp-asnc.mpiv
+ syn keyword mpDef FlushSyncTasks ProcessSyncTask ResetSyncTasks
+ syn keyword mpDef SetSyncColor SetSyncThreshold SyncTask
+ syn keyword mpVardef PrepareSyncTasks SyncBox TheSyncColor
+ syn keyword mpVardef TheSyncThreshold
+ syn keyword mpVariable CurrentSyncClass NOfSyncPaths SyncColor
+ syn keyword mpVariable SyncLeftOffset SyncPaths SyncTasks SyncThreshold
+ syn keyword mpVariable SyncThresholdMethod SyncWidth
+ syn keyword mpConstant context_asnc
+ " mp-back.mpiv
+ syn keyword mpDef some_double_back some_hash
+ syn keyword mpVariable back_nillcolor
+ syn keyword mpConstant context_back
+ " mp-bare.mpiv
+ syn keyword mpVardef colordecimals rawtextext
+ syn keyword mpPrimaryDef infont
+ syn keyword mpConstant context_bare
+ " mp-base.mpiv
+ " This is essentially plain.mp with only a few keywords added
+ 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 mpDef flow_chart_draw_label flow_chart_draw_text
+ syn keyword mpDef flow_clip_chart flow_collapse_points
+ syn keyword mpDef flow_connect_bottom_bottom flow_connect_bottom_left
+ syn keyword mpDef flow_connect_bottom_right flow_connect_bottom_top
+ syn keyword mpDef flow_connect_left_bottom flow_connect_left_left
+ syn keyword mpDef flow_connect_left_right flow_connect_left_top
+ syn keyword mpDef flow_connect_right_bottom flow_connect_right_left
+ syn keyword mpDef flow_connect_right_right flow_connect_right_top
+ syn keyword mpDef flow_connect_top_bottom flow_connect_top_left
+ syn keyword mpDef flow_connect_top_right flow_connect_top_top
+ syn keyword mpDef flow_draw_connection flow_draw_connection_point
+ syn keyword mpDef flow_draw_midpoint flow_draw_shape
+ syn keyword mpDef flow_draw_test_area flow_draw_test_shape
+ syn keyword mpDef flow_draw_test_shapes flow_end_chart
+ syn keyword mpDef flow_end_sub_chart flow_flush_connections
+ syn keyword mpDef flow_flush_picture flow_flush_pictures
+ syn keyword mpDef flow_flush_shape flow_flush_shapes
+ syn keyword mpDef flow_initialize_grid flow_new_chart flow_new_shape
+ syn keyword mpDef flow_scaled_to_grid flow_show_connection
+ syn keyword mpDef flow_show_connections flow_show_shapes
+ syn keyword mpDef flow_xy_offset flow_y_pos
+ syn keyword mpVardef flow_connection_path flow_down_on_grid
+ syn keyword mpVardef flow_down_to_grid flow_i_point flow_left_on_grid
+ syn keyword mpVardef flow_left_to_grid flow_offset
+ syn keyword mpVardef flow_points_initialized flow_right_on_grid
+ syn keyword mpVardef flow_right_to_grid flow_smooth_connection
+ syn keyword mpVardef flow_trim_points flow_trimmed flow_up_on_grid
+ syn keyword mpVardef flow_up_to_grid flow_valid_connection
+ syn keyword mpVardef flow_x_on_grid flow_xy_bottom flow_xy_left
+ 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
+ syn keyword mpVariable flow_connection_dash_size
+ syn keyword mpVariable flow_connection_line_color
+ syn keyword mpVariable flow_connection_line_width
+ syn keyword mpVariable flow_connection_smooth_size flow_connections
+ syn keyword mpVariable flow_cpath flow_dash_pattern flow_dashline
+ syn keyword mpVariable flow_exit_offset flow_forcevalid flow_grid_height
+ syn keyword mpVariable flow_grid_width flow_label_offset flow_max_x
+ syn keyword mpVariable flow_max_y flow_peepshape flow_reverse_connection
+ syn keyword mpVariable flow_reverse_y flow_shape_action flow_shape_archive
+ syn keyword mpVariable flow_shape_decision flow_shape_down
+ syn keyword mpVariable flow_shape_fill_color flow_shape_height
+ syn keyword mpVariable flow_shape_left flow_shape_line_color
+ syn keyword mpVariable flow_shape_line_width flow_shape_loop
+ syn keyword mpVariable flow_shape_multidocument flow_shape_node
+ syn keyword mpVariable flow_shape_procedure flow_shape_product
+ syn keyword mpVariable flow_shape_right flow_shape_singledocument
+ syn keyword mpVariable flow_shape_subprocedure flow_shape_up
+ syn keyword mpVariable flow_shape_wait flow_shape_width
+ syn keyword mpVariable flow_show_all_points flow_show_con_points
+ syn keyword mpVariable flow_show_mid_points flow_showcrossing flow_smooth
+ syn keyword mpVariable flow_touchshape flow_xypoint flow_zfactor
+ syn keyword mpConstant context_flow
+ " mp-chem.mpiv
+ syn keyword mpDef chem_init_all chem_reset chem_start_structure
+ syn keyword mpDef chem_transformed
+ syn keyword mpVardef chem_ad chem_adj chem_align chem_arrow chem_au
+ syn keyword mpVardef chem_b chem_bb chem_bd chem_bw chem_c chem_cc
+ syn keyword mpVardef chem_ccd chem_cd chem_crz chem_cz chem_dash chem_db
+ syn keyword mpVardef chem_diff chem_dir chem_do chem_dr chem_draw
+ syn keyword mpVardef chem_drawarrow chem_eb chem_ed chem_ep chem_er
+ syn keyword mpVardef chem_es chem_et chem_fill chem_hb chem_init_some
+ syn keyword mpVardef chem_label chem_ldb chem_ldd chem_line chem_lr
+ syn keyword mpVardef chem_lrb chem_lrbd chem_lrd chem_lrh chem_lrn
+ syn keyword mpVardef chem_lrt chem_lrz chem_lsr chem_lsub chem_mark
+ syn keyword mpVardef chem_marked chem_mid chem_mids chem_midz chem_mir
+ syn keyword mpVardef chem_mov chem_move chem_number chem_oe chem_off
+ syn keyword mpVardef chem_pb chem_pe chem_r chem_r_fragment chem_rb
+ syn keyword mpVardef chem_rbd chem_rd chem_rdb chem_rdd chem_restore
+ syn keyword mpVardef chem_rh chem_rm chem_rn chem_rot chem_rr chem_rrb
+ syn keyword mpVardef chem_rrbd chem_rrd chem_rrh chem_rrn chem_rrt
+ syn keyword mpVardef chem_rrz chem_rsr chem_rsub chem_rt chem_rz chem_s
+ syn keyword mpVardef chem_save chem_sb chem_sd chem_set chem_sr chem_ss
+ syn keyword mpVardef chem_start_component chem_stop_component
+ syn keyword mpVardef chem_stop_structure chem_sub chem_symbol chem_tb
+ syn keyword mpVardef chem_text chem_z chem_zln chem_zlt chem_zn chem_zrn
+ syn keyword mpVardef chem_zrt chem_zt
+ syn keyword mpVariable chem_mark_pair chem_stack_mirror chem_stack_origin
+ syn keyword mpVariable chem_stack_p chem_stack_previous
+ syn keyword mpVariable chem_stack_rotation chem_trace_boundingbox
+ syn keyword mpVariable chem_trace_nesting chem_trace_text
+ syn keyword mpConstant context_chem
+ " mp-core.mpiv
+ syn keyword mpDef FlushSyncTasks ProcessSyncTask
+ syn keyword mpDef RegisterLocalTextArea RegisterPlainTextArea
+ syn keyword mpDef RegisterRegionTextArea RegisterTextArea
+ syn keyword mpDef ResetLocalTextArea ResetSyncTasks ResetTextAreas
+ syn keyword mpDef SaveTextAreas SetSyncColor SetSyncThreshold
+ syn keyword mpDef SyncTask anchor_box box_found boxfilloptions
+ syn keyword mpDef boxgridoptions boxlineoptions collapse_multi_pars
+ syn keyword mpDef draw_box draw_multi_pars draw_par freeze_box
+ syn keyword mpDef initialize_area initialize_area_par initialize_box
+ syn keyword mpDef initialize_box_pos initialize_par
+ syn keyword mpDef prepare_multi_pars relocate_multipars save_multipar
+ syn keyword mpDef set_par_line_height show_multi_pars show_par
+ syn keyword mpDef simplify_multi_pars sort_multi_pars
+ syn keyword mpVardef InsideSavedTextArea InsideSomeSavedTextArea
+ syn keyword mpVardef InsideSomeTextArea InsideTextArea PrepareSyncTasks
+ syn keyword mpVardef SyncBox TextAreaH TextAreaW TextAreaWH TextAreaX
+ syn keyword mpVardef TextAreaXY TextAreaY TheSyncColor TheSyncThreshold
+ syn keyword mpVardef baseline_grid graphic_grid multi_par_at_top
+ syn keyword mpVariable CurrentSyncClass NOfSavedTextAreas
+ syn keyword mpVariable NOfSavedTextColumns NOfSyncPaths NOfTextAreas
+ syn keyword mpVariable NOfTextColumns PlainTextArea RegionTextArea
+ syn keyword mpVariable SavedTextColumns SyncColor SyncLeftOffset SyncPaths
+ syn keyword mpVariable SyncTasks SyncThreshold SyncThresholdMethod
+ syn keyword mpVariable SyncWidth TextAreas TextColumns
+ syn keyword mpVariable auto_multi_par_hsize boxdashtype boxfilloffset
+ syn keyword mpVariable boxfilltype boxgriddirection boxgriddistance
+ syn keyword mpVariable boxgridshift boxgridtype boxgridwidth boxlineradius
+ syn keyword mpVariable boxlinetype boxlinewidth check_multi_par_chain
+ syn keyword mpVariable compensate_multi_par_topskip
+ syn keyword mpVariable enable_multi_par_fallback force_multi_par_chain
+ syn keyword mpVariable ignore_multi_par_page last_multi_par_shift lefthang
+ syn keyword mpVariable local_multi_par_area multi_column_first_page_hack
+ syn keyword mpVariable multi_par_pages multiloc multilocs multipar
+ syn keyword mpVariable multipars multiref multirefs nofmultipars
+ syn keyword mpVariable obey_multi_par_hang obey_multi_par_more
+ syn keyword mpVariable one_piece_multi_par par_hang_after par_hang_indent
+ syn keyword mpVariable par_indent par_left_skip par_line_height
+ syn keyword mpVariable par_right_skip par_start_pos par_stop_pos
+ syn keyword mpVariable par_strut_depth par_strut_height ppos righthang
+ syn keyword mpVariable snap_multi_par_tops somehang span_multi_column_pars
+ syn keyword mpVariable use_multi_par_region
+ syn keyword mpConstant context_core
+ syn keyword LET anchor_area anchor_par draw_area
+ " mp-cows.mpiv
+ syn keyword mpConstant context_cows cow
+ " mp-crop.mpiv
+ syn keyword mpDef page_marks_add_color page_marks_add_lines
+ syn keyword mpDef page_marks_add_marking page_marks_add_number
+ syn keyword mpVardef crop_color crop_gray crop_marks_cmyk
+ syn keyword mpVardef crop_marks_cmykrgb crop_marks_gray crop_marks_lines
+ syn keyword mpVariable crop_colors more page
+ syn keyword mpConstant context_crop
+ " mp-figs.mpiv
+ syn keyword mpDef naturalfigure registerfigure
+ syn keyword mpVardef figuredimensions figureheight figuresize
+ syn keyword mpVardef figurewidth
+ syn keyword mpConstant context_figs
+ " mp-fobg.mpiv
+ syn keyword mpDef DrawFoFrame
+ syn keyword mpVardef equalpaths
+ syn keyword mpPrimaryDef inset outset
+ syn keyword mpVariable FoBackground FoBackgroundColor FoFrame FoLineColor
+ syn keyword mpVariable FoLineStyle FoLineWidth FoSplit
+ syn keyword mpConstant FoAll FoBottom FoDash FoDotted FoDouble FoGroove
+ syn keyword mpConstant FoHidden FoInset FoLeft FoMedium FoNoColor FoNone
+ syn keyword mpConstant FoOutset FoRidge FoRight FoSolid FoThick FoThin
+ syn keyword mpConstant FoTop context_fobg
+ " mp-form.mpiv
+ syn keyword mpConstant context_form
+ " mp-func.mpiv
+ syn keyword mpDef constructedfunction constructedpairs
+ syn keyword mpDef constructedpath curvedfunction curvedpairs
+ syn keyword mpDef curvedpath function pathconnectors straightfunction
+ syn keyword mpDef straightpairs straightpath
+ syn keyword mpConstant context_func
+ " mp-grap.mpiv
+ syn keyword mpDef Gfor OUT auto begingraph circles crosses diamonds
+ syn keyword mpDef downtriangles endgraph gdata gdraw gdrawarrow
+ syn keyword mpDef gdrawdblarrow gfill graph_addto
+ syn keyword mpDef graph_addto_currentpicture graph_comma
+ syn keyword mpDef graph_coordinate_multiplication graph_draw
+ syn keyword mpDef graph_draw_label graph_errorbar_text graph_fill
+ syn keyword mpDef graph_generate_exponents
+ syn keyword mpDef graph_generate_label_position
+ syn keyword mpDef graph_generate_numbers graph_label_location
+ syn keyword mpDef graph_scan_mark graph_scan_marks graph_setbounds
+ syn keyword mpDef graph_suffix graph_tick_label
+ syn keyword mpDef graph_with_pen_and_color graph_withlist
+ syn keyword mpDef graph_xyscale lefttriangles makefunctionpath plot
+ syn keyword mpDef plotsymbol points rainbow righttriangles smoothpath
+ syn keyword mpDef squares stars uptriangles witherrorbars
+ syn keyword mpVardef addtopath augment autogrid constant_fit
+ syn keyword mpVardef constant_function det escaped_format exp
+ syn keyword mpVardef exponential_fit exponential_function format
+ syn keyword mpVardef formatted frame functionpath gaussian_fit
+ syn keyword mpVardef gaussian_function gdotlabel glabel graph_Feform
+ syn keyword mpVardef graph_Meform graph_arrowhead_extent graph_bounds
+ syn keyword mpVardef graph_clear_bounds
+ syn keyword mpVardef graph_convert_user_path_to_internal graph_cspan
+ syn keyword mpVardef graph_draw_arrowhead graph_error graph_errorbars
+ syn keyword mpVardef graph_exp graph_factor_and_exponent_to_string
+ syn keyword mpVardef graph_gridline_picture graph_is_null
+ syn keyword mpVardef graph_label_convert_user_to_internal graph_loptok
+ syn keyword mpVardef graph_match_exponents graph_mlog
+ syn keyword mpVardef graph_modified_exponent_ypart graph_pair_adjust
+ syn keyword mpVardef graph_picture_conversion graph_post_draw
+ syn keyword mpVardef graph_read_line graph_readpath graph_remap
+ syn keyword mpVardef graph_scan_path graph_select_exponent_mark
+ syn keyword mpVardef graph_select_mark graph_set_bounds
+ syn keyword mpVardef graph_set_default_bounds graph_shapesize
+ syn keyword mpVardef graph_stash_label graph_tick_mark_spacing
+ syn keyword mpVardef graph_unknown_pair_bbox grid isdigit itick
+ syn keyword mpVardef linear_fit linear_function ln logten lorentzian_fit
+ syn keyword mpVardef lorentzian_function otick polynomial_fit
+ syn keyword mpVardef polynomial_function power_law_fit
+ syn keyword mpVardef power_law_function powten setcoords setrange
+ syn keyword mpVardef sortpath strfmt tick varfmt
+ syn keyword mpNewInternal Mzero doubleinfinity graph_log_minimum
+ syn keyword mpNewInternal graph_minimum_number_of_marks largestmantissa
+ syn keyword mpNewInternal linear lntwo log mlogten singleinfinity
+ syn keyword mpVariable Autoform determinant fit_chi_squared
+ syn keyword mpVariable graph_errorbar_picture graph_exp_marks
+ syn keyword mpVariable graph_frame_pair_a graph_frame_pair_b
+ syn keyword mpVariable graph_lin_marks graph_log_marks graph_modified_bias
+ syn keyword mpVariable graph_modified_higher graph_modified_lower
+ syn keyword mpVariable graph_shape r_s resistance_color resistance_name
+ syn keyword mpConstant context_grap
+ " mp-grid.mpiv
+ syn keyword mpDef hlingrid hloggrid vlingrid vloggrid
+ syn keyword mpVardef hlinlabel hlintext hlogtext linlin linlinpath
+ syn keyword mpVardef linlog linlogpath loglin loglinpath loglog
+ syn keyword mpVardef loglogpath processpath vlinlabel vlintext vlogtext
+ syn keyword mpVariable fmt_initialize fmt_pictures fmt_precision
+ syn keyword mpVariable fmt_separator fmt_zerocheck grid_eps
+ syn keyword mpConstant context_grid
+ " mp-grph.mpiv
+ syn keyword mpDef beginfig begingraphictextfig data_mpo_file
+ syn keyword mpDef data_mpy_file doloadfigure draw endfig
+ syn keyword mpDef endgraphictextfig fill fixedplace graphictext
+ syn keyword mpDef loadfigure new_graphictext normalwithshade number
+ syn keyword mpDef old_graphictext outlinefill protectgraphicmacros
+ syn keyword mpDef resetfig reversefill withdrawcolor withfillcolor
+ syn keyword mpDef withshade
+ syn keyword mpVariable currentgraphictext figureshift
+ syn keyword mpConstant context_grph
+ " mp-idea.mpiv
+ syn keyword mpVardef bcomponent ccomponent gcomponent mcomponent
+ syn keyword mpVardef rcomponent somecolor ycomponent
+ " mp-luas.mpiv
+ syn keyword mpDef luacall message
+ syn keyword mpVardef MP lua lualist
+ syn keyword mpConstant context_luas
+ " mp-mlib.mpiv
+ syn keyword mpDef autoalign bitmapimage circular_shade cmyk comment
+ syn keyword mpDef defineshade eofill eofillup externalfigure figure
+ syn keyword mpDef fillup label linear_shade multitonecolor namedcolor
+ syn keyword mpDef nofill onlayer passarrayvariable passvariable
+ syn keyword mpDef plain_label register resolvedcolor scantokens
+ syn keyword mpDef set_circular_vector set_linear_vector shaded
+ syn keyword mpDef spotcolor startpassingvariable stoppassingvariable
+ syn keyword mpDef thelabel transparent[] usemetafunlabels
+ syn keyword mpDef useplainlabels withcircularshade withlinearshade
+ syn keyword mpDef withmask withproperties withshadecenter
+ syn keyword mpDef withshadecolors withshadedirection withshadedomain
+ syn keyword mpDef withshadefactor withshadefraction withshadeorigin
+ syn keyword mpDef withshaderadius withshadestep withshadetransform
+ syn keyword mpDef withshadevector withtransparency
+ syn keyword mpVardef anchored checkbounds checkedbounds
+ syn keyword mpVardef define_circular_shade define_linear_shade dotlabel
+ syn keyword mpVardef escaped_format fmttext fontsize format formatted
+ syn keyword mpVardef installlabel onetimefmttext onetimetextext
+ syn keyword mpVardef outlinetext plain_thelabel properties rawfmttext
+ syn keyword mpVardef rawtexbox rawtextext rule strfmt strut texbox
+ syn keyword mpVardef textext thefmttext thelabel thetexbox thetextext
+ syn keyword mpVardef tostring transparency_alternative_to_number
+ syn keyword mpVardef validtexbox varfmt verbatim
+ syn keyword mpPrimaryDef asgroup infont normalinfont shadedinto
+ syn keyword mpPrimaryDef shownshadecenter shownshadedirection
+ syn keyword mpPrimaryDef shownshadeorigin shownshadevector withshade
+ syn keyword mpPrimaryDef withshademethod
+ syn keyword mpNewInternal colorburntransparent colordodgetransparent
+ syn keyword mpNewInternal colortransparent darkentransparent
+ syn keyword mpNewInternal differencetransparent exclusiontransparent
+ syn keyword mpNewInternal hardlighttransparent huetransparent
+ syn keyword mpNewInternal lightentransparent luminositytransparent
+ syn keyword mpNewInternal multiplytransparent normaltransparent
+ syn keyword mpNewInternal overlaytransparent saturationtransparent
+ syn keyword mpNewInternal screentransparent shadefactor softlighttransparent
+ syn keyword mpNewInternal textextoffset
+ syn keyword mpType property transparency
+ syn keyword mpVariable currentoutlinetext shadeddown shadedleft
+ syn keyword mpVariable shadedright shadedup shadeoffset trace_shades
+ syn keyword mpConstant context_mlib
+ " mp-page.mpiv
+ syn keyword mpDef BoundCoverAreas BoundPageAreas Enlarged FakeRule
+ syn keyword mpDef FakeWord LoadPageState OverlayBox RuleColor
+ syn keyword mpDef SetAreaVariables SetPageArea SetPageBackPage
+ syn keyword mpDef SetPageCoverPage SetPageField SetPageFrontPage
+ syn keyword mpDef SetPageHsize SetPageHstep SetPageLocation
+ syn keyword mpDef SetPagePage SetPageSpine SetPageVariables
+ syn keyword mpDef SetPageVsize SetPageVstep StartCover StartPage
+ syn keyword mpDef StopCover StopPage SwapPageState innerenlarged
+ syn keyword mpDef llEnlarged lrEnlarged outerenlarged ulEnlarged
+ syn keyword mpDef urEnlarged
+ syn keyword mpVardef BackPageHeight BackPageWidth BackSpace BaseLineSkip
+ syn keyword mpVardef BodyFontSize BottomDistance BottomHeight
+ syn keyword mpVardef BottomSpace CoverHeight CoverWidth CurrentColumn
+ syn keyword mpVardef CurrentHeight CurrentWidth CutSpace EmWidth
+ syn keyword mpVardef ExHeight FooterDistance FooterHeight
+ syn keyword mpVardef FrontPageHeight FrontPageWidth HSize HeaderDistance
+ syn keyword mpVardef HeaderHeight InPageBody InnerEdgeDistance
+ syn keyword mpVardef InnerEdgeWidth InnerMarginDistance InnerMarginWidth
+ syn keyword mpVardef InnerSpaceWidth LastPageNumber LayoutColumnDistance
+ syn keyword mpVardef LayoutColumnWidth LayoutColumns LeftEdgeDistance
+ syn keyword mpVardef LeftEdgeWidth LeftMarginDistance LeftMarginWidth
+ syn keyword mpVardef LineHeight MakeupHeight MakeupWidth NOfColumns
+ syn keyword mpVardef NOfPages OnOddPage OnRightPage OuterEdgeDistance
+ syn keyword mpVardef OuterEdgeWidth OuterMarginDistance OuterMarginWidth
+ syn keyword mpVardef OuterSpaceWidth OverlayDepth OverlayHeight
+ syn keyword mpVardef OverlayLineWidth OverlayOffset OverlayWidth
+ syn keyword mpVardef PageDepth PageFraction PageNumber PageOffset
+ syn keyword mpVardef PaperBleed PaperHeight PaperWidth PrintPaperHeight
+ syn keyword mpVardef PrintPaperWidth RealPageNumber RightEdgeDistance
+ syn keyword mpVardef RightEdgeWidth RightMarginDistance RightMarginWidth
+ syn keyword mpVardef SpineHeight SpineWidth StrutDepth StrutHeight
+ syn keyword mpVardef TextHeight TextWidth TopDistance TopHeight TopSkip
+ syn keyword mpVardef TopSpace VSize defaultcolormodel
+ syn keyword mpVariable Area BackPage CoverPage CurrentLayout Field
+ syn keyword mpVariable FrontPage HorPos Hsize Hstep Location Page
+ syn keyword mpVariable PageStateAvailable RuleDepth RuleDirection
+ syn keyword mpVariable RuleFactor RuleH RuleHeight RuleOffset RuleOption
+ syn keyword mpVariable RuleThickness RuleV RuleWidth Spine VerPos Vsize
+ syn keyword mpVariable Vstep
+ syn keyword mpConstant context_page
+ " mp-shap.mpiv
+ syn keyword mpDef drawline drawshape some_shape
+ syn keyword mpDef start_predefined_shape_definition
+ syn keyword mpDef stop_predefined_shape_definition
+ syn keyword mpVardef drawpredefinedline drawpredefinedshape
+ syn keyword mpVardef some_shape_path
+ syn keyword mpVariable predefined_shapes predefined_shapes_xradius
+ syn keyword mpVariable predefined_shapes_xxradius
+ syn keyword mpVariable predefined_shapes_yradius
+ syn keyword mpVariable predefined_shapes_yyradius
+ syn keyword mpConstant context_shap
+ " mp-step.mpiv
+ syn keyword mpDef initialize_step_variables midbottomboundary
+ syn keyword mpDef midtopboundary step_begin_cell step_begin_chart
+ syn keyword mpDef step_cell_ali step_cell_bot step_cell_top
+ syn keyword mpDef step_cells step_end_cell step_end_chart
+ syn keyword mpDef step_text_bot step_text_mid step_text_top
+ syn keyword mpDef step_texts
+ syn keyword mpVariable cell_distance_x cell_distance_y cell_fill_color
+ syn keyword mpVariable cell_line_color cell_line_width cell_offset
+ syn keyword mpVariable chart_align chart_category chart_vertical
+ syn keyword mpVariable line_distance line_height line_line_color
+ syn keyword mpVariable line_line_width line_offset nofcells
+ syn keyword mpVariable text_distance_set text_fill_color text_line_color
+ syn keyword mpVariable text_line_width text_offset
+ syn keyword mpConstant context_cell
+ " mp-symb.mpiv
+ syn keyword mpDef finishglyph prepareglyph
+ syn keyword mpConstant lefttriangle midbar onebar righttriangle sidebar
+ syn keyword mpConstant sublefttriangle subrighttriangle twobar
+ " mp-text.mpiv
+ syn keyword mpDef build_parshape
+ syn keyword mpVardef found_point
+ syn keyword mpVariable trace_parshape
+ syn keyword mpConstant context_text
+ " mp-tool.mpiv
+ syn keyword mpCommand dump
+ syn keyword mpDef addbackground b_color beginglyph break centerarrow
+ syn keyword mpDef clearxy condition data_mpd_file detaileddraw
+ syn keyword mpDef detailpaths dowithpath draw drawboundary
+ syn keyword mpDef drawboundingbox drawcontrollines drawcontrolpoints
+ syn keyword mpDef drawfill draworigin drawpath drawpathonly
+ syn keyword mpDef drawpathwithpoints drawpoint drawpointlabels
+ syn keyword mpDef drawpoints drawticks drawwholepath drawxticks
+ syn keyword mpDef drawyticks endglyph fill finishsavingdata g_color
+ syn keyword mpDef inner_boundingbox job_name leftarrow loadmodule
+ syn keyword mpDef midarrowhead naturalizepaths newboolean newcolor
+ syn keyword mpDef newnumeric newpair newpath newpicture newstring
+ syn keyword mpDef newtransform normalcolors normaldraw normalfill
+ syn keyword mpDef normalwithcolor outer_boundingbox pop_boundingbox
+ syn keyword mpDef popboundingbox popcurrentpicture push_boundingbox
+ syn keyword mpDef pushboundingbox pushcurrentpicture r_color readfile
+ syn keyword mpDef recolor redraw refill register_dirty_chars
+ syn keyword mpDef remapcolor remapcolors remappedcolor reprocess
+ syn keyword mpDef resetarrows resetcolormap resetdrawoptions
+ syn keyword mpDef resolvedcolor restroke retext rightarrow savedata
+ syn keyword mpDef saveoptions scale_currentpicture set_ahlength
+ syn keyword mpDef set_grid showgrid startplaincompatibility
+ syn keyword mpDef startsavingdata stopplaincompatibility
+ syn keyword mpDef stopsavingdata stripe_path_a stripe_path_n undashed
+ syn keyword mpDef undrawfill untext visualizeddraw visualizedfill
+ syn keyword mpDef visualizepaths withcolor withgray
+ syn keyword mpDef xscale_currentpicture xshifted
+ syn keyword mpDef xyscale_currentpicture yscale_currentpicture
+ syn keyword mpDef yshifted
+ syn keyword mpVardef acos acosh anglebetween area arrowhead
+ syn keyword mpVardef arrowheadonpath arrowpath asciistring asin asinh
+ syn keyword mpVardef atan basiccolors bbheight bbwidth bcomponent
+ syn keyword mpVardef blackcolor bottomboundary boundingbox c_phantom
+ syn keyword mpVardef ccomponent center cleanstring colorcircle
+ syn keyword mpVardef colordecimals colordecimalslist colorlike colorpart
+ syn keyword mpVardef colortype complementary complemented copylist cos
+ syn keyword mpVardef cosh cot cotd curved ddddecimal dddecimal ddecimal
+ syn keyword mpVardef decorated drawarrowpath epsed exp freedotlabel
+ syn keyword mpVardef freelabel gcomponent getunstringed grayed greyed
+ syn keyword mpVardef hsvtorgb infinite innerboundingbox interpolated inv
+ syn keyword mpVardef invcos inverted invsin invtan laddered leftboundary
+ syn keyword mpVardef leftpath leftrightpath listsize listtocurves
+ syn keyword mpVardef listtolines ln log mcomponent new_on_grid
+ syn keyword mpVardef outerboundingbox paired pen_size penpoint phantom
+ syn keyword mpVardef pointarrow pow punked rangepath rcomponent
+ syn keyword mpVardef redecorated repathed rightboundary rightpath
+ syn keyword mpVardef rotation roundedsquare set_inner_boundingbox
+ syn keyword mpVardef set_outer_boundingbox setunstringed shapedlist
+ syn keyword mpVardef simplified sin sinh sortlist sqr straightpath tan
+ syn keyword mpVardef tand tanh tensecircle thefreelabel topboundary
+ syn keyword mpVardef tripled undecorated unitvector unspiked unstringed
+ syn keyword mpVardef whitecolor ycomponent
+ syn keyword mpPrimaryDef along blownup bottomenlarged cornered crossed
+ syn keyword mpPrimaryDef enlarged enlonged leftenlarged llenlarged llmoved
+ syn keyword mpPrimaryDef lrenlarged lrmoved on paralleled randomized
+ syn keyword mpPrimaryDef randomizedcontrols randomshifted rightenlarged
+ syn keyword mpPrimaryDef shortened sized smoothed snapped softened squeezed
+ syn keyword mpPrimaryDef stretched superellipsed topenlarged ulenlarged
+ syn keyword mpPrimaryDef ulmoved uncolored urenlarged urmoved xsized
+ syn keyword mpPrimaryDef xstretched xyscaled xysized ysized ystretched zmod
+ syn keyword mpSecondaryDef anglestriped intersection_point numberstriped
+ syn keyword mpSecondaryDef peepholed
+ syn keyword mpTertiaryDef cutends
+ syn keyword mpNewInternal ahdimple ahvariant anglelength anglemethod
+ syn keyword mpNewInternal angleoffset charscale cmykcolormodel graycolormodel
+ syn keyword mpNewInternal greycolormodel maxdimensions metapostversion
+ syn keyword mpNewInternal nocolormodel rgbcolormodel striped_normal_inner
+ syn keyword mpNewInternal striped_normal_outer striped_reverse_inner
+ syn keyword mpNewInternal striped_reverse_outer
+ syn keyword mpType grayscale greyscale quadruplet triplet
+ syn keyword mpVariable ahfactor collapse_data color_map drawoptionsfactor
+ syn keyword mpVariable freedotlabelsize freelabeloffset grid grid_full
+ syn keyword mpVariable grid_h grid_left grid_nx grid_ny grid_w grid_x
+ syn keyword mpVariable grid_y intersection_found originlength
+ syn keyword mpVariable plain_compatibility_data pointlabelfont
+ syn keyword mpVariable pointlabelscale refillbackground savingdata
+ syn keyword mpVariable savingdatadone swappointlabels ticklength tickstep
+ syn keyword mpConstant CRLF DQUOTE PERCENT SPACE bcircle context_tool crlf
+ syn keyword mpConstant darkblue darkcyan darkgray darkgreen darkmagenta
+ syn keyword mpConstant darkred darkyellow downtriangle dquote freesquare
+ syn keyword mpConstant fulldiamond fullsquare fulltriangle lcircle
+ syn keyword mpConstant lefttriangle lightgray llcircle lltriangle lrcircle
+ syn keyword mpConstant lrtriangle mpversion nocolor noline oddly
+ syn keyword mpConstant originpath percent rcircle righttriangle space
+ syn keyword mpConstant tcircle triangle ulcircle ultriangle unitcircle
+ syn keyword mpConstant unitdiamond unittriangle uptriangle urcircle
+ syn keyword mpConstant urtriangle
+endif " MetaFun macros
+
+" Define the default highlighting
+hi def link mpTeXdelim mpPrimitive
+hi def link mpBoolExp mfBoolExp
+hi def link mpNumExp mfNumExp
+hi def link mpPairExp mfPairExp
+hi def link mpPathExp mfPathExp
+hi def link mpPenExp mfPenExp
+hi def link mpPicExp mfPicExp
+hi def link mpStringExp mfStringExp
+hi def link mpInternal mfInternal
+hi def link mpCommand mfCommand
+hi def link mpType mfType
+hi def link mpPrimitive mfPrimitive
+hi def link mpDef mfDef
+hi def link mpVardef mpDef
+hi def link mpPrimaryDef mpDef
+hi def link mpSecondaryDef mpDef
+hi def link mpTertiaryDef mpDef
+hi def link mpNewInternal mpInternal
+hi def link mpVariable mfVariable
+hi def link mpConstant mfConstant
+hi def link mpOnOff mpPrimitive
+hi def link mpDash mpPrimitive
+hi def link mpTeXKeyword Identifier
+
+let b:current_syntax = "mp"
+
+let &cpo = s:cpo_sav
+unlet! s:cpo_sav
+
+" vim:sw=2