neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

tpp.vim (3416B)


      1 " Vim syntax file
      2 " Language: tpp - Text Presentation Program
      3 " Maintainer: Debian Vim Maintainers
      4 " Former Maintainer: Gerfried Fuchs <alfie@ist.org>
      5 " Last Change: 2023 Jan 16
      6 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/tpp.vim
      7 " Filenames: *.tpp
      8 " License: BSD
      9 "
     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!
     15 "
     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!
     19 
     20 " quit when a syntax file was already loaded
     21 if exists('b:current_syntax')
     22  finish
     23 endif
     24 
     25 if !exists('main_syntax')
     26  let main_syntax = 'tpp'
     27 endif
     28 
     29 
     30 "" list of the legal switches/options
     31 syn match tppAbstractOptionKey contained "^--\%(author\|title\|date\|footer\) *" nextgroup=tppString
     32 syn match tppPageLocalOptionKey contained "^--\%(heading\|center\|right\|huge\|sethugefont\|exec\) *" nextgroup=tppString
     33 syn match tppPageLocalSwitchKey contained "^--\%(horline\|-\|\%(begin\|end\)\%(\%(shell\)\?output\|slide\%(left\|right\|top\|bottom\)\)\|\%(bold\|rev\|ul\)\%(on\|off\)\|withborder\)"
     34 syn match tppNewPageOptionKey contained "^--newpage *" nextgroup=tppString
     35 syn match tppColorOptionKey contained "^--\%(\%(bg\|fg\)\?color\) *"
     36 syn match tppTimeOptionKey contained "^--sleep *"
     37 
     38 syn match tppString contained ".*"
     39 syn match tppColor contained "\%(white\|yellow\|red\|green\|blue\|cyan\|magenta\|black\|default\)"
     40 syn match tppTime contained "\d\+"
     41 
     42 syn region tppPageLocalSwitch start="^--" end="$" contains=tppPageLocalSwitchKey oneline
     43 syn region tppColorOption start="^--\%(\%(bg\|fg\)\?color\)" end="$" contains=tppColorOptionKey,tppColor oneline
     44 syn region tppTimeOption start="^--sleep" end="$" contains=tppTimeOptionKey,tppTime oneline
     45 syn region tppNewPageOption start="^--newpage" end="$" contains=tppNewPageOptionKey oneline
     46 syn region tppPageLocalOption start="^--\%(heading\|center\|right\|huge\|sethugefont\|exec\)" end="$" contains=tppPageLocalOptionKey oneline
     47 syn region tppAbstractOption start="^--\%(author\|title\|date\|footer\)" end="$" contains=tppAbstractOptionKey oneline
     48 
     49 if main_syntax !=# 'sh'
     50  " shell command
     51  syn include @tppShExec syntax/sh.vim
     52  unlet b:current_syntax
     53 
     54  syn region shExec matchgroup=tppPageLocalOptionKey start='^--exec *' keepend end='$' contains=@tppShExec
     55 
     56 endif
     57 
     58 syn match tppComment "^--##.*$"
     59 
     60 " Define the default highlighting.
     61 " Only when an item doesn't have highlighting yet
     62 
     63 hi def link tppAbstractOptionKey		Special
     64 hi def link tppPageLocalOptionKey		Keyword
     65 hi def link tppPageLocalSwitchKey		Keyword
     66 hi def link tppColorOptionKey		Keyword
     67 hi def link tppTimeOptionKey		Comment
     68 hi def link tppNewPageOptionKey		PreProc
     69 hi def link tppString			String
     70 hi def link tppColor			String
     71 hi def link tppTime			Number
     72 hi def link tppComment			Comment
     73 hi def link tppAbstractOption		Error
     74 hi def link tppPageLocalOption		Error
     75 hi def link tppPageLocalSwitch		Error
     76 hi def link tppColorOption			Error
     77 hi def link tppNewPageOption		Error
     78 hi def link tppTimeOption			Error
     79 
     80 
     81 let b:current_syntax = 'tpp'
     82 
     83 " vim: ts=8 sw=2