mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			133 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	MetaPost
 | |
| " Maintainer:	Andreas Scherer <andreas.scherer@pobox.com>
 | |
| " Last Change:	April 30, 2001
 | |
| 
 | |
| " For version 5.x: Clear all syntax items
 | |
| " For version 6.x: Quit when a syntax file was already loaded
 | |
| if version < 600
 | |
|   syn clear
 | |
| elseif exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| let plain_mf_macros = 0 " plain.mf has no special meaning for MetaPost
 | |
| let other_mf_macros = 0 " cmbase.mf, logo.mf, ... neither
 | |
| 
 | |
| " Read the Metafont syntax to start with
 | |
| if version < 600
 | |
|   source <sfile>:p:h/mf.vim
 | |
| else
 | |
|   runtime! syntax/mf.vim
 | |
| endif
 | |
| 
 | |
| " MetaPost has TeX inserts for typeset labels
 | |
| " verbatimtex, btex, and etex will be treated as keywords
 | |
| syn match mpTeXbegin "\(verbatimtex\|btex\)"
 | |
| syn match mpTeXend "etex"
 | |
| syn region mpTeXinsert start="\(verbatimtex\|btex\)"hs=e+1 end="etex"he=s-1 contains=mpTeXbegin,mpTeXend keepend
 | |
| 
 | |
| " MetaPost primitives not found in Metafont
 | |
| syn keyword mpInternal bluepart clip color dashed fontsize greenpart infont
 | |
| syn keyword mpInternal linecap linejoin llcorner lrcorner miterlimit mpxbreak
 | |
| syn keyword mpInternal prologues redpart setbounds tracinglostchars
 | |
| syn keyword mpInternal truecorners ulcorner urcorner withcolor
 | |
| 
 | |
| " Metafont primitives not found in MetaPost
 | |
| syn keyword notDefined autorounding chardx chardy fillin granularity hppp
 | |
| syn keyword notDefined proofing smoothing tracingedges tracingpens
 | |
| syn keyword notDefined turningcheck vppp xoffset yoffset
 | |
| 
 | |
| " Keywords defined by plain.mp
 | |
| if !exists("plain_mp_macros")
 | |
|   let plain_mp_macros = 1 " Set this to '0' if your source gets too colourful
 | |
| endif
 | |
| if plain_mp_macros
 | |
|   syn keyword mpMacro ahangle ahlength background bbox bboxmargin beginfig
 | |
|   syn keyword mpMacro beveled black blue buildcycle butt center cutafter
 | |
|   syn keyword mpMacro cutbefore cuttings dashpattern defaultfont defaultpen
 | |
|   syn keyword mpMacro defaultscale dotlabel dotlabels drawarrow drawdblarrow
 | |
|   syn keyword mpMacro drawoptions endfig evenly extra_beginfig extra_endfig
 | |
|   syn keyword mpMacro green label labeloffset mitered red rounded squared
 | |
|   syn keyword mpMacro thelabel white base_name base_version
 | |
|   syn keyword mpMacro upto downto exitunless relax gobble gobbled
 | |
|   syn keyword mpMacro interact loggingall tracingall tracingnone
 | |
|   syn keyword mpMacro eps epsilon infinity right left up down origin
 | |
|   syn keyword mpMacro quartercircle halfcircle fullcircle unitsquare identity
 | |
|   syn keyword mpMacro blankpicture withdots ditto EOF pensquare penrazor
 | |
|   syn keyword mpMacro penspeck whatever abs round ceiling byte dir unitvector
 | |
|   syn keyword mpMacro inverse counterclockwise tensepath mod div dotprod
 | |
|   syn keyword mpMacro takepower direction directionpoint intersectionpoint
 | |
|   syn keyword mpMacro softjoin incr decr reflectedabout rotatedaround
 | |
|   syn keyword mpMacro rotatedabout min max flex superellipse interpath
 | |
|   syn keyword mpMacro magstep currentpen currentpen_path currentpicture
 | |
|   syn keyword mpMacro fill draw filldraw drawdot unfill undraw unfilldraw
 | |
|   syn keyword mpMacro undrawdot erase cutdraw image pickup numeric_pickup
 | |
|   syn keyword mpMacro pen_lft pen_rt pen_top pen_bot savepen clearpen
 | |
|   syn keyword mpMacro clear_pen_memory lft rt top bot ulft urt llft lrt
 | |
|   syn keyword mpMacro penpos penstroke arrowhead makelabel labels penlabel
 | |
|   syn keyword mpMacro range numtok thru clearxy clearit clearpen pickup
 | |
|   syn keyword mpMacro shipit bye hide stop solve
 | |
| endif
 | |
| 
 | |
| " Keywords defined by mfplain.mp
 | |
| if !exists("mfplain_mp_macros")
 | |
|   let mfplain_mp_macros = 0 " Set this to '1' to include these macro names
 | |
| endif
 | |
| if mfplain_mp_macros
 | |
|   syn keyword mpMacro beginchar blacker capsule_def change_width
 | |
|   syn keyword mpMacro define_blacker_pixels define_corrected_pixels
 | |
|   syn keyword mpMacro define_good_x_pixels define_good_y_pixels
 | |
|   syn keyword mpMacro define_horizontal_corrected_pixels
 | |
|   syn keyword mpMacro define_pixels define_whole_blacker_pixels
 | |
|   syn keyword mpMacro define_whole_vertical_blacker_pixels
 | |
|   syn keyword mpMacro define_whole_vertical_pixels endchar
 | |
|   syn keyword mpMacro extra_beginchar extra_endchar extra_setup
 | |
|   syn keyword mpMacro font_coding_scheme font_extra_space font_identifier
 | |
|   syn keyword mpMacro font_normal_shrink font_normal_space
 | |
|   syn keyword mpMacro font_normal_stretch font_quad font_size
 | |
|   syn keyword mpMacro font_slant font_x_height italcorr labelfont
 | |
|   syn keyword mpMacro makebox makegrid maketicks mode_def mode_setup
 | |
|   syn keyword mpMacro o_correction proofrule proofrulethickness rulepen smode
 | |
| 
 | |
|   " plus some no-ops, also from mfplain.mp
 | |
|   syn keyword mpMacro cullit currenttransform gfcorners grayfont hround
 | |
|   syn keyword mpMacro imagerules lowres_fix nodisplays notransforms openit
 | |
|   syn keyword mpMacro proofoffset screenchars screenrule screenstrokes
 | |
|   syn keyword mpMacro showit slantfont titlefont unitpixel vround
 | |
| endif
 | |
| 
 | |
| " Keywords defined by other macro packages, e.g., boxes.mp
 | |
| if !exists("other_mp_macros")
 | |
|   let other_mp_macros = 1 " Set this to '0' if your source gets too colourful
 | |
| endif
 | |
| if other_mp_macros
 | |
|   syn keyword mpMacro circmargin defaultdx defaultdy
 | |
|   syn keyword mpMacro boxit boxjoin bpath circleit drawboxed drawboxes
 | |
|   syn keyword mpMacro drawunboxed fixpos fixsize pic
 | |
| endif
 | |
| 
 | |
| " Define the default highlighting
 | |
| " For version 5.7 and earlier: only when not done already
 | |
| " For version 5.8 and later: only when an item doesn't have highlighting yet
 | |
| if version >= 508 || !exists("did_mp_syntax_inits")
 | |
|   if version < 508
 | |
|     let did_mp_syntax_inits = 1
 | |
|     command -nargs=+ HiLink hi link <args>
 | |
|   else
 | |
|     command -nargs=+ HiLink hi def link <args>
 | |
|   endif
 | |
| 
 | |
|   HiLink mpTeXinsert	String
 | |
|   HiLink mpTeXbegin	Statement
 | |
|   HiLink mpTeXend	Statement
 | |
|   HiLink mpInternal	mfInternal
 | |
|   HiLink mpMacro	Macro
 | |
| 
 | |
|   delcommand HiLink
 | |
| endif
 | |
| 
 | |
| let b:current_syntax = "mp"
 | |
| 
 | |
| " vim: ts=8
 |