Merge remote branch 'svn-vim' into vim
[MacVim.git] / runtime / syntax / tpp.vim
blob050a2ba78d65a6fd123c28feaea27f43e6193317
1 " Vim syntax file
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
7 " Filenames:    *.tpp
8 " License:      BSD
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
22 if version < 600
23   syntax clear
24 elseif exists("b:current_syntax")
25   finish
26 endif
28 if !exists("main_syntax")
29   let main_syntax = 'tpp'
30 endif
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'
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
61   syn region shExec matchgroup=tppPageLocalOptionKey start='^--exec *' keepend end='$' contains=@tppShExec
63 endif
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")
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
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
86   HiLink tppTime                        Number
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
95   delcommand HiLink
96 endif
98 let b:current_syntax = "tpp"
100 " vim: ts=8 sw=2