xref: /vim-8.2.3635/runtime/syntax/context.vim (revision 0dc065ee)
1" Vim syntax file
2" Language:         ConTeXt typesetting engine
3" Maintainer:       Nikolai Weibull <[email protected]>
4" Latest Revision:  2005-07-04
5
6if exists("b:current_syntax")
7  finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
13syn keyword contextTodo       TODO FIXME XXX NOTE
14
15syn region  contextComment    display oneline start='%' end='$'
16                              \ contains=contextTodo
17syn region  contextComment    display oneline start='^\s*%[CDM]' end='$'
18                              \ contains=ALL
19
20syn match   contextStatement  display '\\[a-zA-Z@]\+' contains=@NoSpell
21
22syn match   contextBlockDelim display '\\\%(start\|stop\)\a\+'
23                              \ contains=@NoSpell
24
25syn match   contextDelimiter  '[][{}]'
26
27syn match   contextEscaped    display '\\\_[\{}|&%$ ]'
28syn region  contextEscaped    display matchgroup=contextPreProc
29                              \ start='\\type\z(\A\)' end='\z1'
30syn region  contextEscaped    display matchgroup=contextPreProc
31                              \ start='\\type\={' end='}'
32syn region  contextEscaped    display matchgroup=contextPreProc
33                              \ start='\\type\=<<' end='>>'
34syn region  contextEscaped    matchgroup=contextPreProc
35                              \ start='\\start\z(\a*\%(typing\|typen\)\)'
36                              \ end='\\stop\z1'
37syn region  contextEscaped    display matchgroup=contextPreProc
38                              \ start='\\\h\+Type{' end='}'
39syn region  contextEscaped    display matchgroup=contextPreProc
40                              \ start='\\Typed\h\+{' end='}'
41
42"syn region  contextMath       matchgroup=contextMath start='\$' end='\$'
43"                              \ contains=contextStatement
44
45syn match   contextBuiltin    '\\\%(newif\|def\|gdef\|global\|let\|glet\|bgroup\)\>'
46                              \ contains=@NoSpell
47syn match   contextBuiltin    '\\\%(begingroup\|egroup\|endgroup\|long\|catcode\)\>'
48                              \ contains=@NoSpell
49syn match   contextBuiltin    '\\\%(unprotect\|unexpanded\|if\|else\|fi\|ifx\)\>'
50                              \ contains=@NoSpell
51syn match   contextBuiltin    '\\\%(futurelet\|protect\)\>' contains=@NoSpell
52syn match   contextBuiltin    '\\\%([lr]q\)\>' contains=@NoSpell
53
54syn match   contextPreProc    '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\).*$'
55                              \ contains=@NoSpell
56syn match   contextPreProc    '^\s*\\input\s\+.*$' contains=@NoSpell
57
58syn match   contextSectioning '\\chapter\>' contains=@NoSpell
59syn match   contextSectioning '\\\%(sub\)*section\>' contains=@NoSpell
60
61syn match   contextSpecial    '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|'
62                              \ contains=@NoSpell
63syn match   contextSpecial    '\\[`'"]'
64syn match   contextSpecial    +\\char\%(\d\{1,3}\|'\o\{1,3}\|"\x\{1,2}\)\>+
65                              \ contains=@NoSpell
66syn match   contextSpecial    '\^\^.'
67syn match   contextSpecial    '`\%(\\.\|\^\^.\|.\)'
68
69syn match   contextStyle      '\\\%(em\|tt\|rm\|ss\|hw\|cg\)\>'
70                              \ contains=@NoSpell
71syn match   contextFont       '\\\%(CAP\|Cap\|cap\|Caps\|kap\|nocap\)\>'
72                              \ contains=@NoSpell
73syn match   contextFont       '\\\%(Word\|WORD\|Words\|WORDS\)\>'
74                              \ contains=@NoSpell
75syn match   contextFont       '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>'
76                              \ contains=@NoSpell
77syn match   contextFont       '\\\%(tf[abcdx]\|bfx\|[is]lx\)\>'
78                              \ contains=@NoSpell
79syn match   contextFont       '\\\%(b[fsi]\|s[cl]\|it\|os\|mf\)\>'
80                              \ contains=@NoSpell
81
82syn match   contextDimension  '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|mm\|dd\|sp\|e[mx]\)\>'
83                              \ contains=@NoSpell
84
85hi def link contextTodo       Todo
86hi def link contextComment    Comment
87hi def link contextEscaped    Special
88hi def link contextStatement  Identifier
89hi def link contextMath       String
90hi def link contextBlockDelim Keyword
91hi def link contextBuiltin    Keyword
92hi def link contextDelimiter  Delimiter
93hi def link contextPreProc    PreProc
94hi def link contextSectioning PreProc
95hi def link contextSpecial    Special
96hi def link contextStyle      contextType
97hi def link contextFont       contextType
98hi def link contextType       Type
99hi def link contextDimension  Number
100
101let b:current_syntax = "context"
102
103let &cpo = s:cpo_save
104unlet s:cpo_save
105