1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Hyper Builder 3071d4279SBram Moolenaar" Maintainer: Alejandro Forero Cuervo 4071d4279SBram Moolenaar" URL: http://bachue.com/hb/vim/syntax/hb.vim 56ee8d89cSBram Moolenaar" Last Change: 2012 Jan 08 by Thilo Six 6071d4279SBram Moolenaar 789bcfda6SBram Moolenaar" quit when a syntax file was already loaded 889bcfda6SBram Moolenaarif exists("b:current_syntax") 9071d4279SBram Moolenaar finish 10071d4279SBram Moolenaarendif 11071d4279SBram Moolenaar 126ee8d89cSBram Moolenaarlet s:cpo_save = &cpo 136ee8d89cSBram Moolenaarset cpo&vim 146ee8d89cSBram Moolenaar 15071d4279SBram Moolenaar" Read the HTML syntax to start with 16071d4279SBram Moolenaar"syn include @HTMLStuff <sfile>:p:h/htmlhb.vim 17071d4279SBram Moolenaar 18071d4279SBram Moolenaar"this would be nice but we are supposed not to do it 19071d4279SBram Moolenaar"set mps=<:> 20071d4279SBram Moolenaar 21071d4279SBram Moolenaar"syn region HBhtmlString contained start=+"+ end=+"+ contains=htmlSpecialChar 22071d4279SBram Moolenaar"syn region HBhtmlString contained start=+'+ end=+'+ contains=htmlSpecialChar 23071d4279SBram Moolenaar 24071d4279SBram Moolenaar"syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*" 25071d4279SBram Moolenaar 26071d4279SBram Moolenaarsyn match htmlSpecialChar "&[^;]*;" contained 27071d4279SBram Moolenaar 28071d4279SBram Moolenaarsyn match HBhtmlTagSk contained "[A-Za-z]*" 29071d4279SBram Moolenaar 30071d4279SBram Moolenaarsyn match HBhtmlTagS contained "<\s*\(hb\s*\.\s*\(sec\|min\|hour\|day\|mon\|year\|input\|html\|time\|getcookie\|streql\|url-enc\)\|wall\s*\.\s*\(show\|info\|id\|new\|rm\|count\)\|auth\s*\.\s*\(chk\|add\|find\|user\)\|math\s*\.\s*exp\)\s*\([^.A-Za-z0-9]\|$\)" contains=HBhtmlTagSk transparent 31071d4279SBram Moolenaar 32071d4279SBram Moolenaarsyn match HBhtmlTagN contained "[A-Za-z0-9\/\-]\+" 33071d4279SBram Moolenaar 34071d4279SBram Moolenaarsyn match HBhtmlTagB contained "<\s*[A-Za-z0-9\/\-]\+\(\s*\.\s*[A-Za-z0-9\/\-]\+\)*" contains=HBhtmlTagS,HBhtmlTagN 35071d4279SBram Moolenaar 36071d4279SBram Moolenaarsyn region HBhtmlTag contained start=+<+ end=+>+ contains=HBhtmlTagB,HBDirectiveError 37071d4279SBram Moolenaar 38071d4279SBram Moolenaarsyn match HBFileName ".*" contained 39071d4279SBram Moolenaar 40071d4279SBram Moolenaarsyn match HBDirectiveKeyword ":\s*\(include\|lib\|set\|out\)\s\+" contained 41071d4279SBram Moolenaar 42071d4279SBram Moolenaarsyn match HBDirectiveError "^:.*$" contained 43071d4279SBram Moolenaar 44071d4279SBram Moolenaar"syn match HBDirectiveBlockEnd "^:\s*$" contained 45071d4279SBram Moolenaar 46071d4279SBram Moolenaar"syn match HBDirectiveOutHead "^:\s*out\s\+\S\+.*" contained contains=HBDirectiveKeyword,HBFileName 47071d4279SBram Moolenaar 48071d4279SBram Moolenaar"syn match HBDirectiveSetHead "^:\s*set\s\+\S\+.*" contained contains=HBDirectiveKeyword,HBFileName 49071d4279SBram Moolenaar 50071d4279SBram Moolenaarsyn match HBInvalidLine "^.*$" 51071d4279SBram Moolenaar 52071d4279SBram Moolenaarsyn match HBDirectiveInclude "^:\s*include\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword 53071d4279SBram Moolenaar 54071d4279SBram Moolenaarsyn match HBDirectiveLib "^:\s*lib\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword 55071d4279SBram Moolenaar 56071d4279SBram Moolenaarsyn region HBText matchgroup=HBDirectiveKeyword start=/^:\(set\|out\)\s*\S\+.*$/ end=/^:\s*$/ contains=HBDirectiveError,htmlSpecialChar,HBhtmlTag keepend 57071d4279SBram Moolenaar 58071d4279SBram Moolenaar"syn match HBLine "^:.*$" contains=HBDirectiveInclude,HBDirectiveLib,HBDirectiveError,HBDirectiveSet,HBDirectiveOut 59071d4279SBram Moolenaar 60071d4279SBram Moolenaarsyn match HBComment "^#.*$" 61071d4279SBram Moolenaar 62071d4279SBram Moolenaar" Define the default highlighting. 6389bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 64071d4279SBram Moolenaar 65*f37506f6SBram Moolenaarhi def link HBhtmlString String 66*f37506f6SBram Moolenaarhi def link HBhtmlTagN Function 67*f37506f6SBram Moolenaarhi def link htmlSpecialChar String 68071d4279SBram Moolenaar 69*f37506f6SBram Moolenaarhi def link HBInvalidLine Error 70*f37506f6SBram Moolenaarhi def link HBFoobar Comment 71071d4279SBram Moolenaarhi HBFileName guibg=lightgray guifg=black 72*f37506f6SBram Moolenaarhi def link HBDirectiveError Error 73*f37506f6SBram Moolenaarhi def link HBDirectiveBlockEnd HBDirectiveKeyword 74071d4279SBram Moolenaarhi HBDirectiveKeyword guibg=lightgray guifg=darkgreen 75*f37506f6SBram Moolenaarhi def link HBComment Comment 76*f37506f6SBram Moolenaarhi def link HBhtmlTagSk Statement 77071d4279SBram Moolenaar 78071d4279SBram Moolenaar 79071d4279SBram Moolenaarsyn sync match Normal grouphere NONE "^:\s*$" 80071d4279SBram Moolenaarsyn sync match Normal grouphere NONE "^:\s*lib\s\+[^ \t]\+$" 81071d4279SBram Moolenaarsyn sync match Normal grouphere NONE "^:\s*include\s\+[^ \t]\+$" 82071d4279SBram Moolenaar"syn sync match Block grouphere HBDirectiveSet "^#:\s*set\s\+[^ \t]\+" 83071d4279SBram Moolenaar"syn sync match Block grouphere HBDirectiveOut "^#:\s*out\s\+[^ \t]\+" 84071d4279SBram Moolenaar 85071d4279SBram Moolenaarlet b:current_syntax = "hb" 86071d4279SBram Moolenaar 876ee8d89cSBram Moolenaarlet &cpo = s:cpo_save 886ee8d89cSBram Moolenaarunlet s:cpo_save 89071d4279SBram Moolenaar" vim: ts=8 90