syn keyword htmlosFunctions max min abs sign inverse square sqrt cube roundsig round ceiling roundup floor rounddown roundeven rounddowneven roundupeven roundodd roundupodd rounddownodd random factorial summand fibonacci remainder mod radians degrees cos sin tan cotan secant cosecant acos asin atan exp power power10 ln log10 log sinh cosh tanh contained
syn keyword htmlosType int str dol flt dat grp contained
" StorageClass
syn keyword htmlosStorageClass locals contained
" Operator
syn match htmlosOperator "[-=+/\*!]" contained
syn match htmlosRelation "[~]" contained
syn match htmlosRelation "[=~][&!]" contained
syn match htmlosRelation "[!=<>]=" contained
syn match htmlosRelation "[<>]" contained
" Comment
syn region htmlosComment start="#" end="/#" contained
" Conditional
syn keyword htmlosConditional if then /if to else elif contained
syn keyword htmlosConditional and or nand nor xor not contained
" Repeat
syn keyword htmlosRepeat while do /while for /for contained
" Keyword
syn keyword htmlosKeyword name value step do rowname colname rownum contained
" Repeat
syn keyword htmlosLabel case matched /case switch contained
" Statement
syn keyword htmlosStatement break exit return continue contained
" Identifier
syn match htmlosIdentifier "\h\w*[\.]*\w*" contained
" Special identifier
syn match htmlosSpecialIdentifier "[\$@]" contained
" Define
syn keyword htmlosDefine function overlay contained
" Boolean
syn keyword htmlosBoolean true false contained
" String
syn region htmlosStringDouble keepend matchgroup=None start=+"+ end=+"+ contained
syn region htmlosStringSingle keepend matchgroup=None start=+'+ end=+'+ contained
" Number
syn match htmlosNumber "-\=\<\d\+\>" contained
" Float
syn match htmlosFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained
" Error
syn match htmlosError "ERROR" contained
" Parent
syn match htmlosParent "[({[\]})]" contained
" Todo
syn keyword htmlosTodo TODO Todo todo contained
syn cluster htmlosInside contains=htmlosComment,htmlosFunctions,htmlosIdentifier,htmlosSpecialIdentifier,htmlosConditional,htmlosRepeat,htmlosLabel,htmlosStatement,htmlosOperator,htmlosRelation,htmlosStringSingle,htmlosStringDouble,htmlosNumber,htmlosFloat,htmlosError,htmlosKeyword,htmlosType,htmlosBoolean,htmlosParent
syn cluster htmlosTop contains=@htmlosInside,htmlosDefine,htmlosError,htmlosStorageClass
syn region htmlosRegion keepend matchgroup=Delimiter start="<<" skip=+".\{-}?>.\{-}"\|'.\{-}?>.\{-}'\|/\*.\{-}?>.\{-}\*/+ end=">>" contains=@htmlosTop
syn region htmlosRegion keepend matchgroup=Delimiter start="\[\[" skip=+".\{-}?>.\{-}"\|'.\{-}?>.\{-}'\|/\*.\{-}?>.\{-}\*/+ end="\]\]" contains=@htmlosTop
" sync
if exists("htmlos_minlines")
exec "syn sync minlines=" . htmlos_minlines
else
syn sync minlines=100
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_htmlos_syn_inits")
if version < 508
let did_htmlos_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
" The default methods for highlighting. Can be overridden later