blob: 28a2c6b51035a9172a2d0352c198afb56fc143c5 [file] [log] [blame]
Bram Moolenaar009b2592004-10-24 19:18:58 +00001" Vim syntax file
2" Language: tpp - Text Presentation Program
3" Maintainer: Gerfried Fuchs <alfie@ist.org>
4" Filenames: *.tpp
5" Last Change: 13. October 2004
6" URL: http://alfie.ist.org/projects/vim/syntax/tpp.vim
7" License: BSD
8"
9" Comments are very welcome - but please make sure that you are commenting on
10" the latest version of this file.
11" SPAM is _NOT_ welcome - be ready to be reported!
12
13" For version 5.x: Clear all syntax items
14" For version 6.x: Quit when a syntax file was already loaded
15if version < 600
16 syntax clear
17elseif exists("b:current_syntax")
18 finish
19endif
20
21if !exists("main_syntax")
22 let main_syntax = 'tpp'
23endif
24
25
26"" list of the legal switches/options
27syn match tppAbstractOptionKey contained "^--\%(author\|title\|date\) *" nextgroup=tppValue
28syn match tppPageLocalOptionKey contained "^--\%(heading\|center\|right\|sleep\|huge\|exec\) *" nextgroup=tppValue
29syn match tppPageLocalSwitchKey contained "^--\%(horline\|-\|\%(begin\|end\)\%(\%(shell\)\?output\|slide\%(left\|right\|top\|bottom\)\)\|\%(bold\|rev\|ul\)\%(on\|off\)\|withborder\)"
30syn match tppNewPageOptionKey contained "^--newpage *" nextgroup=tppValue
31syn match tppColorOptionKey contained "^--\%(\%(bg\|fg\)\?color\) *"
32syn match tppTimeOptionKey contained "^--sleep *"
33
34syn match tppValue contained ".*"
35syn match tppColor contained "\%(white\|yellow\|red\|green\|blue\|cyan\|magenta\|black\)"
36syn match tppTime contained "\d\+"
37
38syn region tppPageLocalSwitch start="^--" end="$" contains=tppPageLocalSwitchKey oneline
39syn region tppColorOption start="^--\%(\%(bg\|fg\)\?color\)" end="$" contains=tppColorOptionKey,tppColor oneline
40syn region tppTimeOption start="^--sleep" end="$" contains=tppTimeOptionKey,tppTime oneline
41syn region tppNewPageOption start="^--newpage" end="$" contains=tppNewPageOptionKey oneline
42syn region tppPageLocalOption start="^--\%(heading\|center\|right\|sleep\|huge\|exec\)" end="$" contains=tppPageLocalOptionKey oneline
43syn region tppAbstractOption start="^--\%(author\|title\|date\)" end="$" contains=tppAbstractOptionKey oneline
44
45if main_syntax != 'sh'
46 " shell command
47 if version < 600
48 syn include @tppShExec <sfile>:p:h/sh.vim
49 else
50 syn include @tppShExec syntax/sh.vim
51 endif
52 unlet b:current_syntax
53
54 syn region shExec matchgroup=tppPageLocalOptionKey start='^--exec *' keepend end='$' contains=@tppShExec
55
56endif
57
58
59" Define the default highlighting.
60" For version 5.7 and earlier: only when not done already
61" For version 5.8 and later: only when an item doesn't have highlighting yet
62if version >= 508 || !exists("did_tpp_syn_inits")
63 if version < 508
64 let did_tpp_syn_inits = 1
65 command -nargs=+ HiLink hi link <args>
66 else
67 command -nargs=+ HiLink hi def link <args>
68 endif
69
70 HiLink tppAbstractOptionKey Special
71 HiLink tppPageLocalOptionKey Keyword
72 HiLink tppPageLocalSwitchKey Keyword
73 HiLink tppColorOptionKey Keyword
74 HiLink tppTimeOptionKey Comment
75 HiLink tppNewPageOptionKey PreProc
76 HiLink tppValue String
77 HiLink tppColor String
78 HiLink tppTime Number
79 HiLink tppAbstractOption Error
80 HiLink tppPageLocalOption Error
81 HiLink tppPageLocalSwitch Error
82 HiLink tppColorOption Error
83 HiLink tppNewPageOption Error
84 HiLink tppTimeOption Error
85
86 delcommand HiLink
87endif
88
89let b:current_syntax = "tpp"
90
91" vim: ts=8 sw=2