2 " Language: tpp - Text Presentation Program
3 " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
4 " Former Maintainer: Gerfried Fuchs <alfie@ist.org>
5 " 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
10 " 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!
16 " 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!
20 " For version 5.x: Clear all syntax items
21 " For version 6.x: Quit when a syntax file was already loaded
24 elseif exists("b:current_syntax")
28 if !exists("main_syntax")
29 let main_syntax = 'tpp'
33 "" list of the legal switches/options
34 syn match tppAbstractOptionKey contained "^--\%(author\|title\|date\|footer\) *" nextgroup=tppString
35 syn match tppPageLocalOptionKey contained "^--\%(heading\|center\|right\|huge\|sethugefont\|exec\) *" nextgroup=tppString
36 syn match tppPageLocalSwitchKey contained "^--\%(horline\|-\|\%(begin\|end\)\%(\%(shell\)\?output\|slide\%(left\|right\|top\|bottom\)\)\|\%(bold\|rev\|ul\)\%(on\|off\)\|withborder\)"
37 syn match tppNewPageOptionKey contained "^--newpage *" nextgroup=tppString
38 syn match tppColorOptionKey contained "^--\%(\%(bg\|fg\)\?color\) *"
39 syn match tppTimeOptionKey contained "^--sleep *"
41 syn match tppString contained ".*"
42 syn match tppColor contained "\%(white\|yellow\|red\|green\|blue\|cyan\|magenta\|black\|default\)"
43 syn match tppTime contained "\d\+"
45 syn region tppPageLocalSwitch start="^--" end="$" contains=tppPageLocalSwitchKey oneline
46 syn region tppColorOption start="^--\%(\%(bg\|fg\)\?color\)" end="$" contains=tppColorOptionKey,tppColor oneline
47 syn region tppTimeOption start="^--sleep" end="$" contains=tppTimeOptionKey,tppTime oneline
48 syn region tppNewPageOption start="^--newpage" end="$" contains=tppNewPageOptionKey oneline
49 syn region tppPageLocalOption start="^--\%(heading\|center\|right\|huge\|sethugefont\|exec\)" end="$" contains=tppPageLocalOptionKey oneline
50 syn region tppAbstractOption start="^--\%(author\|title\|date\|footer\)" end="$" contains=tppAbstractOptionKey oneline
52 if main_syntax != 'sh'
55 syn include @tppShExec <sfile>:p:h/sh.vim
57 syn include @tppShExec syntax/sh.vim
59 unlet b:current_syntax
61 syn region shExec matchgroup=tppPageLocalOptionKey start='^--exec *' keepend end='$' contains=@tppShExec
65 syn match tppComment "^--##.*$"
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
70 if version >= 508 || !exists("did_tpp_syn_inits")
72 let did_tpp_syn_inits = 1
73 command -nargs=+ HiLink hi link <args>
75 command -nargs=+ HiLink hi def link <args>
78 HiLink tppAbstractOptionKey Special
79 HiLink tppPageLocalOptionKey Keyword
80 HiLink tppPageLocalSwitchKey Keyword
81 HiLink tppColorOptionKey Keyword
82 HiLink tppTimeOptionKey Comment
83 HiLink tppNewPageOptionKey PreProc
84 HiLink tppString String
85 HiLink tppColor String
87 HiLink tppComment Comment
88 HiLink tppAbstractOption Error
89 HiLink tppPageLocalOption Error
90 HiLink tppPageLocalSwitch Error
91 HiLink tppColorOption Error
92 HiLink tppNewPageOption Error
93 HiLink tppTimeOption Error
98 let b:current_syntax = "tpp"