summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/bdf.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/bdf.vim')
-rw-r--r--runtime/syntax/bdf.vim97
1 files changed, 97 insertions, 0 deletions
diff --git a/runtime/syntax/bdf.vim b/runtime/syntax/bdf.vim
new file mode 100644
index 0000000..cc1a337
--- /dev/null
+++ b/runtime/syntax/bdf.vim
@@ -0,0 +1,97 @@
+" Vim syntax file
+" Language: BDF font definition
+" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2006-04-19
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn region bdfFontDefinition transparent matchgroup=bdfKeyword
+ \ start='^STARTFONT\>' end='^ENDFONT\>'
+ \ contains=bdfComment,bdfFont,bdfSize,
+ \ bdfBoundingBox,bdfProperties,bdfChars,bdfChar
+
+syn match bdfNumber contained display
+ \ '\<\%(\x\+\|[+-]\=\d\+\%(\.\d\+\)*\)'
+
+syn keyword bdfTodo contained FIXME TODO XXX NOTE
+
+syn region bdfComment contained start='^COMMENT\>' end='$'
+ \ contains=bdfTodo,@Spell
+
+syn region bdfFont contained matchgroup=bdfKeyword
+ \ start='^FONT\>' end='$'
+
+syn region bdfSize contained transparent matchgroup=bdfKeyword
+ \ start='^SIZE\>' end='$' contains=bdfNumber
+
+syn region bdfBoundingBox contained transparent matchgroup=bdfKeyword
+ \ start='^FONTBOUNDINGBOX' end='$'
+ \ contains=bdfNumber
+
+syn region bdfProperties contained transparent matchgroup=bdfKeyword
+ \ start='^STARTPROPERTIES' end='^ENDPROPERTIES'
+ \ contains=bdfNumber,bdfString,bdfProperty,
+ \ bdfXProperty
+
+syn keyword bdfProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR
+syn match bdfProperty contained '^\S\+'
+
+syn keyword bdfXProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR
+ \ FONTNAME_REGISTRY FOUNDRY FAMILY_NAME
+ \ WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE
+ \ POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING
+ \ CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT
+ \ ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT
+ \ QUAD_WIDTH FONT AVERAGE_WIDTH
+
+syn region bdfString contained start=+"+ skip=+""+ end=+"+
+
+syn region bdfChars contained display transparent
+ \ matchgroup=bdfKeyword start='^CHARS' end='$'
+ \ contains=bdfNumber
+
+syn region bdfChar transparent matchgroup=bdfKeyword
+ \ start='^STARTCHAR' end='^ENDCHAR'
+ \ contains=bdfEncoding,bdfWidth,bdfAttributes,
+ \ bdfBitmap
+
+syn region bdfEncoding contained transparent matchgroup=bdfKeyword
+ \ start='^ENCODING' end='$' contains=bdfNumber
+
+syn region bdfWidth contained transparent matchgroup=bdfKeyword
+ \ start='^SWIDTH\|DWIDTH\|BBX' end='$'
+ \ contains=bdfNumber
+
+syn region bdfAttributes contained transparent matchgroup=bdfKeyword
+ \ start='^ATTRIBUTES' end='$'
+
+syn keyword bdfBitmap contained BITMAP
+
+if exists("bdf_minlines")
+ let b:bdf_minlines = bdf_minlines
+else
+ let b:bdf_minlines = 30
+endif
+exec "syn sync ccomment bdfChar minlines=" . b:bdf_minlines
+
+
+hi def link bdfKeyword Keyword
+hi def link bdfNumber Number
+hi def link bdfTodo Todo
+hi def link bdfComment Comment
+hi def link bdfFont String
+hi def link bdfProperty Identifier
+hi def link bdfXProperty Identifier
+hi def link bdfString String
+hi def link bdfChars Keyword
+hi def link bdfBitmap Keyword
+
+let b:current_syntax = "bdf"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save