xref: /vim-8.2.3635/runtime/syntax/bdf.vim (revision 19a09a18)
1" Vim syntax file
2" Language:	    BDF Font definition
3" Maintainer:	    Nikolai Weibull <[email protected]>
4" URL:		    http://www.pcppopper.org/vim/syntax/pcp/bdf/
5" Latest Revision:  2004-05-06
6" arch-tag:	    b696b6ba-af24-41ba-b4eb-d248495eca68
7
8if version < 600
9  syntax clear
10elseif exists("b:current_syntax")
11  finish
12endif
13
14" numbers
15syn match   bdfNumber	    display "\<\(\x\+\|\d\+\.\d\+\)\>"
16
17" comments
18syn region  bdfComment	    start="^COMMENT\>" end="$" contains=bdfTodo
19
20" todo
21syn keyword bdfTodo	    contained TODO FIXME XXX NOTE
22
23" strings
24syn region  bdfString	    start=+"+ skip=+""+ end=+"+
25
26" properties
27syn keyword bdfProperties   contained FONT SIZE FONTBOUNDINGBOX CHARS
28
29" X11 properties
30syn keyword bdfXProperties  contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR
31syn keyword bdfXProperties  contained FONTNAME_REGISTRY FOUNDRY FAMILY_NAME
32syn keyword bdfXProperties  contained WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE
33syn keyword bdfXProperties  contained POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING
34syn keyword bdfXProperties  contained CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT
35syn keyword bdfXProperties  contained ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT
36syn keyword bdfXProperties  contained QUAD_WIDTH FONT AVERAGE_WIDTH
37
38syn region  bdfDefinition   transparent matchgroup=bdfDelim start="^STARTPROPERTIES\>" end="^ENDPROPERTIES\>" contains=bdfXProperties,bdfNumber,bdfString
39
40" characters
41syn keyword bdfCharProperties contained ENCODING SWIDTH DWIDTH BBX ATTRIBUTES BITMAP
42
43syn match   bdfCharName	    contained display "\<[0-9a-zA-Z]\{1,14}\>"
44syn match   bdfCharNameError contained display "\<[0-9a-zA-Z]\{15,}\>"
45
46syn region  bdfStartChar    transparent matchgroup=bdfDelim start="\<STARTCHAR\>" end="$" contains=bdfCharName,bdfCharNameError
47
48syn region  bdfCharDefinition transparent start="^STARTCHAR\>" matchgroup=bdfDelim end="^ENDCHAR\>" contains=bdfCharProperties,bdfNumber,bdfStartChar
49
50" font
51syn region  bdfFontDefinition transparent matchgroup=bdfDelim start="^STARTFONT\>" end="^ENDFONT\>" contains=bdfProperties,bdfDefinition,bdfCharDefinition,bdfNumber,bdfComment
52
53if exists("bdf_minlines")
54  let b:bdf_minlines = bdf_minlines
55else
56  let b:bdf_minlines = 50
57endif
58exec "syn sync minlines=" . b:bdf_minlines
59
60" Define the default highlighting.
61" For version 5.7 and earlier: only when not done already
62" For version 5.8 and later: only when an item doesn't have highlighting yet
63if version >= 508 || !exists("did_bdf_syn_inits")
64  if version < 508
65    let did_bdf_syn_inits = 1
66    command -nargs=+ HiLink hi link <args>
67  else
68    command -nargs=+ HiLink hi def link <args>
69  endif
70
71  HiLink bdfComment		Comment
72  HiLink bdfTodo		Todo
73  HiLink bdfNumber		Number
74  HiLink bdfString		String
75  HiLink bdfProperties	Keyword
76  HiLink bdfXProperties	Keyword
77  HiLink bdfCharProperties	Structure
78  HiLink bdfDelim		Delimiter
79  HiLink bdfCharName		String
80  HiLink bdfCharNameError	Error
81  delcommand HiLink
82endif
83
84let b:current_syntax = "bdf"
85
86" vim: set sts=2 sw=2:
87