1071d4279SBram Moolenaar" Vim syntax file 242eeac35SBram Moolenaar" Language: BDF font definition 3*214641f7SBram Moolenaar" Previous Maintainer: Nikolai Weibull <[email protected]> 457657d85SBram Moolenaar" Latest Revision: 2006-04-19 5071d4279SBram Moolenaar 642eeac35SBram Moolenaarif exists("b:current_syntax") 7071d4279SBram Moolenaar finish 8071d4279SBram Moolenaarendif 9071d4279SBram Moolenaar 1042eeac35SBram Moolenaarlet s:cpo_save = &cpo 1142eeac35SBram Moolenaarset cpo&vim 12071d4279SBram Moolenaar 1342eeac35SBram Moolenaarsyn region bdfFontDefinition transparent matchgroup=bdfKeyword 1442eeac35SBram Moolenaar \ start='^STARTFONT\>' end='^ENDFONT\>' 1542eeac35SBram Moolenaar \ contains=bdfComment,bdfFont,bdfSize, 1642eeac35SBram Moolenaar \ bdfBoundingBox,bdfProperties,bdfChars,bdfChar 17071d4279SBram Moolenaar 1842eeac35SBram Moolenaarsyn match bdfNumber contained display 1942eeac35SBram Moolenaar \ '\<\%(\x\+\|[+-]\=\d\+\%(\.\d\+\)*\)' 20071d4279SBram Moolenaar 2142eeac35SBram Moolenaarsyn keyword bdfTodo contained FIXME TODO XXX NOTE 22071d4279SBram Moolenaar 2342eeac35SBram Moolenaarsyn region bdfComment contained start='^COMMENT\>' end='$' 2442eeac35SBram Moolenaar \ contains=bdfTodo,@Spell 25071d4279SBram Moolenaar 2642eeac35SBram Moolenaarsyn region bdfFont contained matchgroup=bdfKeyword 2742eeac35SBram Moolenaar \ start='^FONT\>' end='$' 28071d4279SBram Moolenaar 2942eeac35SBram Moolenaarsyn region bdfSize contained transparent matchgroup=bdfKeyword 3042eeac35SBram Moolenaar \ start='^SIZE\>' end='$' contains=bdfNumber 31071d4279SBram Moolenaar 3242eeac35SBram Moolenaarsyn region bdfBoundingBox contained transparent matchgroup=bdfKeyword 3342eeac35SBram Moolenaar \ start='^FONTBOUNDINGBOX' end='$' 3442eeac35SBram Moolenaar \ contains=bdfNumber 35071d4279SBram Moolenaar 3642eeac35SBram Moolenaarsyn region bdfProperties contained transparent matchgroup=bdfKeyword 3742eeac35SBram Moolenaar \ start='^STARTPROPERTIES' end='^ENDPROPERTIES' 3842eeac35SBram Moolenaar \ contains=bdfNumber,bdfString,bdfProperty, 3942eeac35SBram Moolenaar \ bdfXProperty 40071d4279SBram Moolenaar 4142eeac35SBram Moolenaarsyn keyword bdfProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR 4242eeac35SBram Moolenaarsyn match bdfProperty contained '^\S\+' 43071d4279SBram Moolenaar 4442eeac35SBram Moolenaarsyn keyword bdfXProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR 4542eeac35SBram Moolenaar \ FONTNAME_REGISTRY FOUNDRY FAMILY_NAME 4642eeac35SBram Moolenaar \ WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE 4742eeac35SBram Moolenaar \ POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING 4842eeac35SBram Moolenaar \ CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT 4942eeac35SBram Moolenaar \ ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT 5042eeac35SBram Moolenaar \ QUAD_WIDTH FONT AVERAGE_WIDTH 51071d4279SBram Moolenaar 5242eeac35SBram Moolenaarsyn region bdfString contained start=+"+ skip=+""+ end=+"+ 5342eeac35SBram Moolenaar 5442eeac35SBram Moolenaarsyn region bdfChars contained display transparent 5542eeac35SBram Moolenaar \ matchgroup=bdfKeyword start='^CHARS' end='$' 5642eeac35SBram Moolenaar \ contains=bdfNumber 5742eeac35SBram Moolenaar 5842eeac35SBram Moolenaarsyn region bdfChar transparent matchgroup=bdfKeyword 5942eeac35SBram Moolenaar \ start='^STARTCHAR' end='^ENDCHAR' 6042eeac35SBram Moolenaar \ contains=bdfEncoding,bdfWidth,bdfAttributes, 6142eeac35SBram Moolenaar \ bdfBitmap 6242eeac35SBram Moolenaar 6342eeac35SBram Moolenaarsyn region bdfEncoding contained transparent matchgroup=bdfKeyword 6442eeac35SBram Moolenaar \ start='^ENCODING' end='$' contains=bdfNumber 6542eeac35SBram Moolenaar 6642eeac35SBram Moolenaarsyn region bdfWidth contained transparent matchgroup=bdfKeyword 6742eeac35SBram Moolenaar \ start='^SWIDTH\|DWIDTH\|BBX' end='$' 6842eeac35SBram Moolenaar \ contains=bdfNumber 6942eeac35SBram Moolenaar 7042eeac35SBram Moolenaarsyn region bdfAttributes contained transparent matchgroup=bdfKeyword 7142eeac35SBram Moolenaar \ start='^ATTRIBUTES' end='$' 7242eeac35SBram Moolenaar 7342eeac35SBram Moolenaarsyn keyword bdfBitmap contained BITMAP 74071d4279SBram Moolenaar 75071d4279SBram Moolenaarif exists("bdf_minlines") 76071d4279SBram Moolenaar let b:bdf_minlines = bdf_minlines 77071d4279SBram Moolenaarelse 7842eeac35SBram Moolenaar let b:bdf_minlines = 30 79071d4279SBram Moolenaarendif 8042eeac35SBram Moolenaarexec "syn sync ccomment bdfChar minlines=" . b:bdf_minlines 81071d4279SBram Moolenaar 82071d4279SBram Moolenaar 8342eeac35SBram Moolenaarhi def link bdfKeyword Keyword 8442eeac35SBram Moolenaarhi def link bdfNumber Number 8542eeac35SBram Moolenaarhi def link bdfTodo Todo 8642eeac35SBram Moolenaarhi def link bdfComment Comment 8742eeac35SBram Moolenaarhi def link bdfFont String 8842eeac35SBram Moolenaarhi def link bdfProperty Identifier 8942eeac35SBram Moolenaarhi def link bdfXProperty Identifier 9042eeac35SBram Moolenaarhi def link bdfString String 9142eeac35SBram Moolenaarhi def link bdfChars Keyword 9242eeac35SBram Moolenaarhi def link bdfBitmap Keyword 93071d4279SBram Moolenaar 94071d4279SBram Moolenaarlet b:current_syntax = "bdf" 95071d4279SBram Moolenaar 9642eeac35SBram Moolenaarlet &cpo = s:cpo_save 9742eeac35SBram Moolenaarunlet s:cpo_save 98