blob: 050a2ba78d65a6fd123c28feaea27f43e6193317 [file] [log] [blame]
Bram Moolenaar009b2592004-10-24 19:18:58 +00001" Vim syntax file
2" Language: tpp - Text Presentation Program
Bram Moolenaar446cb832008-06-24 21:56:24 +00003" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
Bram Moolenaara93fa7e2006-04-17 22:14:47 +00004" Former Maintainer: Gerfried Fuchs <alfie@ist.org>
Bram Moolenaar446cb832008-06-24 21:56:24 +00005" Last Change: 2007-10-14
6" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/tpp.vim;hb=debian
Bram Moolenaar009b2592004-10-24 19:18:58 +00007" Filenames: *.tpp
Bram Moolenaar009b2592004-10-24 19:18:58 +00008" License: BSD
9"
Bram Moolenaara93fa7e2006-04-17 22:14:47 +000010" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain
11" it only because patches have been submitted for it by Debian users and the
12" former maintainer was MIA (Missing In Action), taking over its
13" maintenance was thus the only way to include those patches.
14" If you care about this file, and have time to maintain it please do so!
15"
Bram Moolenaar009b2592004-10-24 19:18:58 +000016" Comments are very welcome - but please make sure that you are commenting on
17" the latest version of this file.
18" SPAM is _NOT_ welcome - be ready to be reported!
19
20" For version 5.x: Clear all syntax items
21" For version 6.x: Quit when a syntax file was already loaded
22if version < 600
23 syntax clear
24elseif exists("b:current_syntax")
25 finish
26endif
27
28if !exists("main_syntax")
29 let main_syntax = 'tpp'
30endif
31
32
33"" list of the legal switches/options
Bram Moolenaara93fa7e2006-04-17 22:14:47 +000034syn match tppAbstractOptionKey contained "^--\%(author\|title\|date\|footer\) *" nextgroup=tppString
35syn match tppPageLocalOptionKey contained "^--\%(heading\|center\|right\|huge\|sethugefont\|exec\) *" nextgroup=tppString
Bram Moolenaar009b2592004-10-24 19:18:58 +000036syn match tppPageLocalSwitchKey contained "^--\%(horline\|-\|\%(begin\|end\)\%(\%(shell\)\?output\|slide\%(left\|right\|top\|bottom\)\)\|\%(bold\|rev\|ul\)\%(on\|off\)\|withborder\)"
Bram Moolenaara93fa7e2006-04-17 22:14:47 +000037syn match tppNewPageOptionKey contained "^--newpage *" nextgroup=tppString
Bram Moolenaar009b2592004-10-24 19:18:58 +000038syn match tppColorOptionKey contained "^--\%(\%(bg\|fg\)\?color\) *"
39syn match tppTimeOptionKey contained "^--sleep *"
40
Bram Moolenaara93fa7e2006-04-17 22:14:47 +000041syn match tppString contained ".*"
42syn match tppColor contained "\%(white\|yellow\|red\|green\|blue\|cyan\|magenta\|black\|default\)"
Bram Moolenaar009b2592004-10-24 19:18:58 +000043syn match tppTime contained "\d\+"
44
45syn region tppPageLocalSwitch start="^--" end="$" contains=tppPageLocalSwitchKey oneline
46syn region tppColorOption start="^--\%(\%(bg\|fg\)\?color\)" end="$" contains=tppColorOptionKey,tppColor oneline
47syn region tppTimeOption start="^--sleep" end="$" contains=tppTimeOptionKey,tppTime oneline
48syn region tppNewPageOption start="^--newpage" end="$" contains=tppNewPageOptionKey oneline
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000049syn region tppPageLocalOption start="^--\%(heading\|center\|right\|huge\|sethugefont\|exec\)" end="$" contains=tppPageLocalOptionKey oneline
Bram Moolenaara93fa7e2006-04-17 22:14:47 +000050syn region tppAbstractOption start="^--\%(author\|title\|date\|footer\)" end="$" contains=tppAbstractOptionKey oneline
Bram Moolenaar009b2592004-10-24 19:18:58 +000051
52if main_syntax != 'sh'
53 " shell command
54 if version < 600
55 syn include @tppShExec <sfile>:p:h/sh.vim
56 else
57 syn include @tppShExec syntax/sh.vim
58 endif
59 unlet b:current_syntax
60
61 syn region shExec matchgroup=tppPageLocalOptionKey start='^--exec *' keepend end='$' contains=@tppShExec
62
63endif
64
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000065syn match tppComment "^--##.*$"
Bram Moolenaar009b2592004-10-24 19:18:58 +000066
67" Define the default highlighting.
68" For version 5.7 and earlier: only when not done already
69" For version 5.8 and later: only when an item doesn't have highlighting yet
70if version >= 508 || !exists("did_tpp_syn_inits")
71 if version < 508
72 let did_tpp_syn_inits = 1
73 command -nargs=+ HiLink hi link <args>
74 else
75 command -nargs=+ HiLink hi def link <args>
76 endif
77
78 HiLink tppAbstractOptionKey Special
79 HiLink tppPageLocalOptionKey Keyword
80 HiLink tppPageLocalSwitchKey Keyword
81 HiLink tppColorOptionKey Keyword
82 HiLink tppTimeOptionKey Comment
83 HiLink tppNewPageOptionKey PreProc
Bram Moolenaara93fa7e2006-04-17 22:14:47 +000084 HiLink tppString String
Bram Moolenaar009b2592004-10-24 19:18:58 +000085 HiLink tppColor String
86 HiLink tppTime Number
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000087 HiLink tppComment Comment
Bram Moolenaar009b2592004-10-24 19:18:58 +000088 HiLink tppAbstractOption Error
89 HiLink tppPageLocalOption Error
90 HiLink tppPageLocalSwitch Error
91 HiLink tppColorOption Error
92 HiLink tppNewPageOption Error
93 HiLink tppTimeOption Error
94
95 delcommand HiLink
96endif
97
98let b:current_syntax = "tpp"
99
100" vim: ts=8 sw=2