blob: f31b9f654311798823425de9f9635f64108794c7 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: HTML/OS by Aestiva
3" Maintainer: Jason Rust <jrust@westmont.edu>
4" URL: http://www.rustyparts.com/vim/syntax/htmlos.vim
5" Info: http://www.rustyparts.com/scripts.php
6" Last Change: 2003 May 11
7"
8
9" For version 5.x: Clear all syntax items
10" For version 6.x: Quit when a syntax file was already loaded
11if version < 600
12 syntax clear
13elseif exists("b:current_syntax")
14 finish
15endif
16
17if !exists("main_syntax")
18 let main_syntax = 'htmlos'
19endif
20
21if version < 600
22 so <sfile>:p:h/html.vim
23else
24 runtime! syntax/html.vim
25 unlet b:current_syntax
26endif
27
28syn cluster htmlPreproc add=htmlosRegion
29
30syn case ignore
31
32" Function names
33syn keyword htmlosFunctions expand sleep getlink version system ascii getascii syslock sysunlock cr lf clean postprep listtorow split listtocol coltolist rowtolist tabletolist contained
34syn 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
35syn keyword htmlosFunctions goto exitgoto contained
36syn 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
37syn 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
38syn 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
39syn keyword htmlosFunctions mail to address subject netmail netmailopen netmailclose mailfilelist netweb netwebresults webpush netsockopen netsockread netsockwrite netsockclose contained
40syn 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
41syn 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
42syn 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
43syn 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
44syn 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
45
46" Type
47syn keyword htmlosType int str dol flt dat grp contained
48
49" StorageClass
50syn keyword htmlosStorageClass locals contained
51
52" Operator
53syn match htmlosOperator "[-=+/\*!]" contained
54syn match htmlosRelation "[~]" contained
55syn match htmlosRelation "[=~][&!]" contained
56syn match htmlosRelation "[!=<>]=" contained
57syn match htmlosRelation "[<>]" contained
58
59" Comment
60syn region htmlosComment start="#" end="/#" contained
61
62" Conditional
63syn keyword htmlosConditional if then /if to else elif contained
64syn keyword htmlosConditional and or nand nor xor not contained
65" Repeat
66syn keyword htmlosRepeat while do /while for /for contained
67
68" Keyword
69syn keyword htmlosKeyword name value step do rowname colname rownum contained
70
71" Repeat
72syn keyword htmlosLabel case matched /case switch contained
73
74" Statement
75syn keyword htmlosStatement break exit return continue contained
76
77" Identifier
78syn match htmlosIdentifier "\h\w*[\.]*\w*" contained
79
80" Special identifier
81syn match htmlosSpecialIdentifier "[\$@]" contained
82
83" Define
84syn keyword htmlosDefine function overlay contained
85
86" Boolean
87syn keyword htmlosBoolean true false contained
88
89" String
90syn region htmlosStringDouble keepend matchgroup=None start=+"+ end=+"+ contained
91syn region htmlosStringSingle keepend matchgroup=None start=+'+ end=+'+ contained
92
93" Number
94syn match htmlosNumber "-\=\<\d\+\>" contained
95
96" Float
97syn match htmlosFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained
98
99" Error
100syn match htmlosError "ERROR" contained
101
102" Parent
103syn match htmlosParent "[({[\]})]" contained
104
105" Todo
106syn keyword htmlosTodo TODO Todo todo contained
107
108syn cluster htmlosInside contains=htmlosComment,htmlosFunctions,htmlosIdentifier,htmlosSpecialIdentifier,htmlosConditional,htmlosRepeat,htmlosLabel,htmlosStatement,htmlosOperator,htmlosRelation,htmlosStringSingle,htmlosStringDouble,htmlosNumber,htmlosFloat,htmlosError,htmlosKeyword,htmlosType,htmlosBoolean,htmlosParent
109
110syn cluster htmlosTop contains=@htmlosInside,htmlosDefine,htmlosError,htmlosStorageClass
111
112syn region htmlosRegion keepend matchgroup=Delimiter start="<<" skip=+".\{-}?>.\{-}"\|'.\{-}?>.\{-}'\|/\*.\{-}?>.\{-}\*/+ end=">>" contains=@htmlosTop
113syn region htmlosRegion keepend matchgroup=Delimiter start="\[\[" skip=+".\{-}?>.\{-}"\|'.\{-}?>.\{-}'\|/\*.\{-}?>.\{-}\*/+ end="\]\]" contains=@htmlosTop
114
115
116" sync
117if exists("htmlos_minlines")
118 exec "syn sync minlines=" . htmlos_minlines
119else
120 syn sync minlines=100
121endif
122
123" Define the default highlighting.
124" For version 5.7 and earlier: only when not done already
125" For version 5.8 and later: only when an item doesn't have highlighting yet
126if version >= 508 || !exists("did_htmlos_syn_inits")
127 if version < 508
128 let did_htmlos_syn_inits = 1
129 command -nargs=+ HiLink hi link <args>
130 else
131 command -nargs=+ HiLink hi def link <args>
132 endif
133
134 " The default methods for highlighting. Can be overridden later
135 HiLink htmlosSpecialIdentifier Operator
136 HiLink htmlosIdentifier Identifier
137 HiLink htmlosStorageClass StorageClass
138 HiLink htmlosComment Comment
139 HiLink htmlosBoolean Boolean
140 HiLink htmlosStringSingle String
141 HiLink htmlosStringDouble String
142 HiLink htmlosNumber Number
143 HiLink htmlosFloat Float
144 HiLink htmlosFunctions Function
145 HiLink htmlosRepeat Repeat
146 HiLink htmlosConditional Conditional
147 HiLink htmlosLabel Label
148 HiLink htmlosStatement Statement
149 HiLink htmlosKeyword Statement
150 HiLink htmlosType Type
151 HiLink htmlosDefine Define
152 HiLink htmlosParent Delimiter
153 HiLink htmlosError Error
154 HiLink htmlosTodo Todo
155 HiLink htmlosOperator Operator
156 HiLink htmlosRelation Operator
157
158 delcommand HiLink
159endif
160let b:current_syntax = "htmlos"
161
162if main_syntax == 'htmlos'
163 unlet main_syntax
164endif
165
166" vim: ts=8 sw=2