diff options
Diffstat (limited to 'runtime/syntax/tpp.vim')
-rw-r--r-- | runtime/syntax/tpp.vim | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/runtime/syntax/tpp.vim b/runtime/syntax/tpp.vim new file mode 100644 index 000000000..28a2c6b51 --- /dev/null +++ b/runtime/syntax/tpp.vim @@ -0,0 +1,91 @@ +" Vim syntax file +" Language: tpp - Text Presentation Program +" Maintainer: Gerfried Fuchs <alfie@ist.org> +" Filenames: *.tpp +" Last Change: 13. October 2004 +" URL: http://alfie.ist.org/projects/vim/syntax/tpp.vim +" License: BSD +" +" Comments are very welcome - but please make sure that you are commenting on +" the latest version of this file. +" SPAM is _NOT_ welcome - be ready to be reported! + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +if !exists("main_syntax") + let main_syntax = 'tpp' +endif + + +"" list of the legal switches/options +syn match tppAbstractOptionKey contained "^--\%(author\|title\|date\) *" nextgroup=tppValue +syn match tppPageLocalOptionKey contained "^--\%(heading\|center\|right\|sleep\|huge\|exec\) *" nextgroup=tppValue +syn match tppPageLocalSwitchKey contained "^--\%(horline\|-\|\%(begin\|end\)\%(\%(shell\)\?output\|slide\%(left\|right\|top\|bottom\)\)\|\%(bold\|rev\|ul\)\%(on\|off\)\|withborder\)" +syn match tppNewPageOptionKey contained "^--newpage *" nextgroup=tppValue +syn match tppColorOptionKey contained "^--\%(\%(bg\|fg\)\?color\) *" +syn match tppTimeOptionKey contained "^--sleep *" + +syn match tppValue contained ".*" +syn match tppColor contained "\%(white\|yellow\|red\|green\|blue\|cyan\|magenta\|black\)" +syn match tppTime contained "\d\+" + +syn region tppPageLocalSwitch start="^--" end="$" contains=tppPageLocalSwitchKey oneline +syn region tppColorOption start="^--\%(\%(bg\|fg\)\?color\)" end="$" contains=tppColorOptionKey,tppColor oneline +syn region tppTimeOption start="^--sleep" end="$" contains=tppTimeOptionKey,tppTime oneline +syn region tppNewPageOption start="^--newpage" end="$" contains=tppNewPageOptionKey oneline +syn region tppPageLocalOption start="^--\%(heading\|center\|right\|sleep\|huge\|exec\)" end="$" contains=tppPageLocalOptionKey oneline +syn region tppAbstractOption start="^--\%(author\|title\|date\)" end="$" contains=tppAbstractOptionKey oneline + +if main_syntax != 'sh' + " shell command + if version < 600 + syn include @tppShExec <sfile>:p:h/sh.vim + else + syn include @tppShExec syntax/sh.vim + endif + unlet b:current_syntax + + syn region shExec matchgroup=tppPageLocalOptionKey start='^--exec *' keepend end='$' contains=@tppShExec + +endif + + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_tpp_syn_inits") + if version < 508 + let did_tpp_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink tppAbstractOptionKey Special + HiLink tppPageLocalOptionKey Keyword + HiLink tppPageLocalSwitchKey Keyword + HiLink tppColorOptionKey Keyword + HiLink tppTimeOptionKey Comment + HiLink tppNewPageOptionKey PreProc + HiLink tppValue String + HiLink tppColor String + HiLink tppTime Number + HiLink tppAbstractOption Error + HiLink tppPageLocalOption Error + HiLink tppPageLocalSwitch Error + HiLink tppColorOption Error + HiLink tppNewPageOption Error + HiLink tppTimeOption Error + + delcommand HiLink +endif + +let b:current_syntax = "tpp" + +" vim: ts=8 sw=2 |