neovim/runtime/syntax/ppwiz.vim

87 lines
2.7 KiB
VimL
Raw Normal View History

" Vim syntax file
" Language: PPWizard (preprocessor by Dennis Bareis)
" Maintainer: Stefan Schwarzer <s.schwarzer@ndh.net>
" URL: http://www.ndh.net/home/sschwarzer/download/ppwiz.vim
" Last Change: 2003 May 11
" Filename: ppwiz.vim
" Remove old syntax stuff
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case ignore
if !exists("ppwiz_highlight_defs")
let ppwiz_highlight_defs = 1
endif
if !exists("ppwiz_with_html")
let ppwiz_with_html = 1
endif
" comments
syn match ppwizComment "^;.*$"
syn match ppwizComment ";;.*$"
" HTML
if ppwiz_with_html > 0
syn region ppwizHTML start="<" end=">" contains=ppwizArg,ppwizMacro
syn match ppwizHTML "\&\w\+;"
endif
" define, evaluate etc.
if ppwiz_highlight_defs == 1
syn match ppwizDef "^\s*\#\S\+\s\+\S\+" contains=ALL
syn match ppwizDef "^\s*\#\(if\|else\|endif\)" contains=ALL
syn match ppwizDef "^\s*\#\({\|break\|continue\|}\)" contains=ALL
" elseif ppwiz_highlight_defs == 2
" syn region ppwizDef start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ALL
else
syn region ppwizDef start="^\s*\#" end="[^\\]$" end="^$" keepend contains=ppwizCont
endif
syn match ppwizError "\s.\\$"
syn match ppwizCont "\s\([+\-%]\|\)\\$"
" macros to execute
syn region ppwizMacro start="<\$" end=">" contains=@ppwizArgVal,ppwizCont
" macro arguments
syn region ppwizArg start="{" end="}" contains=ppwizEqual,ppwizString
syn match ppwizEqual "=" contained
syn match ppwizOperator "<>\|=\|<\|>" contained
" standard variables (builtin)
syn region ppwizStdVar start="<?[^?]" end=">" contains=@ppwizArgVal
" Rexx variables
syn region ppwizRexxVar start="<??" end=">" contains=@ppwizArgVal
" Constants
syn region ppwizString start=+"+ end=+"+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar
syn region ppwizString start=+'+ end=+'+ contained contains=ppwizMacro,ppwizArg,ppwizHTML,ppwizCont,ppwizStdVar,ppwizRexxVar
syn match ppwizInteger "\d\+" contained
" Clusters
syn cluster ppwizArgVal add=ppwizString,ppwizInteger
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
command -nargs=+ HiLink hi def link <args>
HiLink ppwizSpecial Special
HiLink ppwizEqual ppwizSpecial
HiLink ppwizOperator ppwizSpecial
HiLink ppwizComment Comment
HiLink ppwizDef PreProc
HiLink ppwizMacro Statement
HiLink ppwizArg Identifier
HiLink ppwizStdVar Identifier
HiLink ppwizRexxVar Identifier
HiLink ppwizString Constant
HiLink ppwizInteger Constant
HiLink ppwizCont ppwizSpecial
HiLink ppwizError Error
HiLink ppwizHTML Type
delcommand HiLink
let b:current_syntax = "ppwiz"
" vim: ts=4