" Vim syntax file
" Language: HTML/OS by Aestiva
" Maintainer: Jason Rust
" URL: http://www.rustyparts.com/vim/syntax/htmlos.vim
" Info: http://www.rustyparts.com/scripts.php
" Last Change: 2003 May 11
"
" 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 = 'htmlos'
endif
if version < 600
so :p:h/html.vim
else
runtime! syntax/html.vim
unlet b:current_syntax
endif
syn cluster htmlPreproc add=htmlosRegion
syn case ignore
" Function names
syn keyword htmlosFunctions expand sleep getlink version system ascii getascii syslock sysunlock cr lf clean postprep listtorow split listtocol coltolist rowtolist tabletolist contained
syn keyword htmlosFunctions cut \display cutall cutx cutallx length reverse lower upper proper repeat left right middle trim trimleft trimright count countx locate locatex replace replacex replaceall replaceallx paste pasteleft pasteleftx pasteleftall pasteleftallx pasteright pasterightall pasterightallx chopleft chopleftx chopright choprightx format concat contained
syn keyword htmlosFunctions goto exitgoto contained
syn keyword htmlosFunctions layout cols rows row items getitem putitem switchitems gettable delrow delrows delcol delcols append merge fillcol fillrow filltable pastetable getcol getrow fillindexcol insindexcol dups nodups maxtable mintable maxcol mincol maxrow minrow avetable avecol averow mediantable mediancol medianrow producttable productcol productrow sumtable sumcol sumrow sumsqrtable sumsqrcol sumsqrrow reversecols reverserows switchcols switchrows inscols insrows insfillcol sortcol reversesortcol sortcoln reversesortcoln sortrow sortrown reversesortrow reversesortrown getcoleq getcoleqn getcolnoteq getcolany getcolbegin getcolnotany getcolnotbegin getcolge getcolgt getcolle getcollt getcolgen getcolgtn getcollen getcoltn getcolend getcolnotend getrowend getrownotend getcolin getcolnotin getcolinbegin getcolnotinbegin getcolinend getcolnotinend getrowin getrownotin getrowinbegin getrownotinbegin getrowinend getrownotinend contained
syn keyword htmlosFunctions dbcreate dbadd dbedit dbdelete dbsearch dbsearchsort dbget dbgetsort dbstatus dbindex dbimport dbfill dbexport dbsort dbgetrec dbremove dbpurge dbfind dbfindsort dbunique dbcopy dbmove dbkill dbtransfer dbpoke dbsearchx dbgetx contained
syn keyword htmlosFunctions syshtmlosname sysstartname sysfixfile fileinfo filelist fileindex domainname page browser regdomain username usernum getenv httpheader copy file ts row sysls syscp sysmv sysmd sysrd filepush filepushlink dirname contained
syn keyword htmlosFunctions mail to address subject netmail netmailopen netmailclose mailfilelist netweb netwebresults webpush netsockopen netsockread netsockwrite netsockclose contained
syn keyword htmlosFunctions today time systime now yesterday tomorrow getday getmonth getyear getminute getweekday getweeknum getyearday getdate gettime getamorpm gethour addhours addminutes adddays timebetween timetill timefrom datetill datefrom mixedtimebetween mixeddatetill mixedtimetill mixedtimefrom mixeddatefrom nextdaybyweekfromdate nextdaybyweekfromtoday nextdaybymonthfromdate nextdaybymonthfromtoday nextdaybyyearfromdate nextdaybyyearfromtoday offsetdaybyweekfromdate offsetdaybyweekfromtoday offsetdaybymonthfromdate offsetdaybymonthfromtoday contained
syn keyword htmlosFunctions isprivate ispublic isfile isdir isblank iserror iserror iseven isodd istrue isfalse islogical istext istag isnumber isinteger isdate istableeq istableeqx istableeqn isfuture ispast istoday isweekday isweekend issamedate iseq isnoteq isge isle ismod10 isvalidstring contained
syn keyword htmlosFunctions celtof celtokel ftocel ftokel keltocel keltof cmtoin intocm fttom mtoft fttomile miletoft kmtomile miletokm mtoyd ydtom galtoltr ltrtogal ltrtoqt qttoltr gtooz oztog kgtolb lbtokg mttoton tontomt contained
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 htmlosFunctions xmldelete xmldeletex xmldeleteattr xmldeleteattrx xmledit xmleditx xmleditvalue xmleditvaluex xmleditattr xmleditattrx xmlinsertbefore xmlinsertbeforex smlinsertafter xmlinsertafterx xmlinsertattr xmlinsertattrx smlget xmlgetx xmlgetvalue xmlgetvaluex xmlgetattrvalue xmlgetattrvaluex xmlgetrec xmlgetrecx xmlgetrecattrvalue xmlgetrecattrvaluex xmlchopleftbefore xmlchopleftbeforex xmlchoprightbefore xmlchoprightbeforex xmlchopleftafter xmlchopleftafterx xmlchoprightafter xmlchoprightafterx xmllocatebefore xmllocatebeforex xmllocateafter xmllocateafterx contained
" Type
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
else
command -nargs=+ HiLink hi def link
endif
" The default methods for highlighting. Can be overridden later
HiLink htmlosSpecialIdentifier Operator
HiLink htmlosIdentifier Identifier
HiLink htmlosStorageClass StorageClass
HiLink htmlosComment Comment
HiLink htmlosBoolean Boolean
HiLink htmlosStringSingle String
HiLink htmlosStringDouble String
HiLink htmlosNumber Number
HiLink htmlosFloat Float
HiLink htmlosFunctions Function
HiLink htmlosRepeat Repeat
HiLink htmlosConditional Conditional
HiLink htmlosLabel Label
HiLink htmlosStatement Statement
HiLink htmlosKeyword Statement
HiLink htmlosType Type
HiLink htmlosDefine Define
HiLink htmlosParent Delimiter
HiLink htmlosError Error
HiLink htmlosTodo Todo
HiLink htmlosOperator Operator
HiLink htmlosRelation Operator
delcommand HiLink
endif
let b:current_syntax = "htmlos"
if main_syntax == 'htmlos'
unlet main_syntax
endif
" vim: ts=8 sw=2