hb.vim (3158B)
1 " Vim syntax file 2 " Language: Hyper Builder 3 " Maintainer: Alejandro Forero Cuervo 4 " URL: http://bachue.com/hb/vim/syntax/hb.vim 5 " Last Change: 2012 Jan 08 by Thilo Six 6 7 " quit when a syntax file was already loaded 8 if exists("b:current_syntax") 9 finish 10 endif 11 12 let s:cpo_save = &cpo 13 set cpo&vim 14 15 " Read the HTML syntax to start with 16 "syn include @HTMLStuff <sfile>:p:h/htmlhb.vim 17 18 "this would be nice but we are supposed not to do it 19 "set mps=<:> 20 21 "syn region HBhtmlString contained start=+"+ end=+"+ contains=htmlSpecialChar 22 "syn region HBhtmlString contained start=+'+ end=+'+ contains=htmlSpecialChar 23 24 "syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*" 25 26 syn match htmlSpecialChar "&[^;]*;" contained 27 28 syn match HBhtmlTagSk contained "[A-Za-z]*" 29 30 syn 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 31 32 syn match HBhtmlTagN contained "[A-Za-z0-9\/\-]\+" 33 34 syn match HBhtmlTagB contained "<\s*[A-Za-z0-9\/\-]\+\(\s*\.\s*[A-Za-z0-9\/\-]\+\)*" contains=HBhtmlTagS,HBhtmlTagN 35 36 syn region HBhtmlTag contained start=+<+ end=+>+ contains=HBhtmlTagB,HBDirectiveError 37 38 syn match HBFileName ".*" contained 39 40 syn match HBDirectiveKeyword ":\s*\(include\|lib\|set\|out\)\s\+" contained 41 42 syn match HBDirectiveError "^:.*$" contained 43 44 "syn match HBDirectiveBlockEnd "^:\s*$" contained 45 46 "syn match HBDirectiveOutHead "^:\s*out\s\+\S\+.*" contained contains=HBDirectiveKeyword,HBFileName 47 48 "syn match HBDirectiveSetHead "^:\s*set\s\+\S\+.*" contained contains=HBDirectiveKeyword,HBFileName 49 50 syn match HBInvalidLine "^.*$" 51 52 syn match HBDirectiveInclude "^:\s*include\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword 53 54 syn match HBDirectiveLib "^:\s*lib\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword 55 56 syn region HBText matchgroup=HBDirectiveKeyword start=/^:\(set\|out\)\s*\S\+.*$/ end=/^:\s*$/ contains=HBDirectiveError,htmlSpecialChar,HBhtmlTag keepend 57 58 "syn match HBLine "^:.*$" contains=HBDirectiveInclude,HBDirectiveLib,HBDirectiveError,HBDirectiveSet,HBDirectiveOut 59 60 syn match HBComment "^#.*$" 61 62 " Define the default highlighting. 63 " Only when an item doesn't have highlighting yet 64 65 hi def link HBhtmlString String 66 hi def link HBhtmlTagN Function 67 hi def link htmlSpecialChar String 68 69 hi def link HBInvalidLine Error 70 hi def link HBFoobar Comment 71 hi HBFileName guibg=lightgray guifg=black 72 hi def link HBDirectiveError Error 73 hi def link HBDirectiveBlockEnd HBDirectiveKeyword 74 hi HBDirectiveKeyword guibg=lightgray guifg=darkgreen 75 hi def link HBComment Comment 76 hi def link HBhtmlTagSk Statement 77 78 79 syn sync match Normal grouphere NONE "^:\s*$" 80 syn sync match Normal grouphere NONE "^:\s*lib\s\+[^ \t]\+$" 81 syn sync match Normal grouphere NONE "^:\s*include\s\+[^ \t]\+$" 82 "syn sync match Block grouphere HBDirectiveSet "^#:\s*set\s\+[^ \t]\+" 83 "syn sync match Block grouphere HBDirectiveOut "^#:\s*out\s\+[^ \t]\+" 84 85 let b:current_syntax = "hb" 86 87 let &cpo = s:cpo_save 88 unlet s:cpo_save 89 " vim: ts=8