made the pack completely portable and wrote relevent bat files to go with it
This commit is contained in:
273
gitportable/usr/share/vim/vim91/syntax/mp.vim
Normal file
273
gitportable/usr/share/vim/vim91/syntax/mp.vim
Normal file
@@ -0,0 +1,273 @@
|
||||
vim9script
|
||||
|
||||
# Vim syntax file
|
||||
# Language: MetaPost
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
# Deprecation warnings: to be removed eventually
|
||||
if exists("g:plain_mp_macros")
|
||||
echomsg "[mp] g:plain_mp_macros is deprecated: use g:mp_plain_macros instead."
|
||||
endif
|
||||
if exists("mfplain_mp_macros")
|
||||
echomsg "[mp] g:mfplain_mp_macros is deprecated: use g:mp_mfplain_macros instead."
|
||||
endif
|
||||
if exists("other_mp_macros")
|
||||
echomsg "[mp] g:other_mp_macros is deprecated: use g:mp_other_macros instead."
|
||||
endif
|
||||
|
||||
# Store the current values of METAFONT global options
|
||||
const mf_plain_macros = get(g:, "mf_plain_macros", get(g:, "plain_mf_macros", -1))
|
||||
const mf_plain_modes = get(g:, "mf_plain_modes", get(g:, "plain_mf_modes", -1))
|
||||
const mf_other_macros = get(g:, "mf_other_macros", get(g:, "other_mf_macros", -1))
|
||||
|
||||
g:mf_plain_macros = 0 # plain.mf has no special meaning for MetaPost
|
||||
g:mf_plain_modes = 0 # No METAFONT modes
|
||||
g:mf_other_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 mf_plain_macros == -1
|
||||
unlet g:mf_plain_macros
|
||||
else
|
||||
g:plain_mf_macros = mf_plain_macros
|
||||
endif
|
||||
if mf_plain_modes == -1
|
||||
unlet g:mf_plain_modes
|
||||
else
|
||||
g:mf_plain_modes = mf_plain_modes
|
||||
endif
|
||||
if mf_other_macros == -1
|
||||
unlet g:mf_other_macros
|
||||
else
|
||||
g:mf_other_macros = mf_other_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 matchgroup=mpTeXdelim start=/\<verbatimtex\>\|\<btex\>/ end=/\<etex\>/ 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
|
||||
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:, "mp_plain_macros", get(g:, "plain_mp_macros", 1)) || get(b:, "mp_metafun", get(g:, "mp_metafun", 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 keyword mpVariable laboff labxf labyf laboff labxf labyf
|
||||
syn match mpVariable /\.\%(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:, "mp_mfplain_macros", 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:, "mp_other_macros", 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
|
||||
|
||||
if get(b:, "mp_metafun", get(g:, "mp_metafun", 0))
|
||||
# MetaFun additions to MetaPost base file
|
||||
syn keyword mpConstant cyan magenta yellow
|
||||
syn keyword mpConstant penspec
|
||||
syn keyword mpNumExp graypart greycolor graycolor
|
||||
|
||||
# Highlight TeX keywords (for MetaPost embedded in ConTeXt documents)
|
||||
syn match mpTeXKeyword '\\[a-zA-Z@]\+'
|
||||
|
||||
syn keyword mpPrimitive runscript
|
||||
|
||||
runtime! syntax/shared/context-data-metafun.vim
|
||||
|
||||
hi def link metafunCommands Statement
|
||||
hi def link metafunInternals Identifier
|
||||
endif
|
||||
|
||||
# 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
|
||||
|
||||
b:current_syntax = "mp"
|
||||
|
||||
# vim: sw=2 fdm=marker
|
||||
Reference in New Issue
Block a user