xref: /vim-8.2.3635/runtime/syntax/hb.vim (revision bb76f24a)
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
8if exists("b:current_syntax")
9  finish
10endif
11
12let s:cpo_save = &cpo
13set 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
26syn match   htmlSpecialChar "&[^;]*;" contained
27
28syn match   HBhtmlTagSk  contained "[A-Za-z]*"
29
30syn 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
32syn match   HBhtmlTagN   contained "[A-Za-z0-9\/\-]\+"
33
34syn match   HBhtmlTagB   contained "<\s*[A-Za-z0-9\/\-]\+\(\s*\.\s*[A-Za-z0-9\/\-]\+\)*" contains=HBhtmlTagS,HBhtmlTagN
35
36syn region  HBhtmlTag contained start=+<+ end=+>+ contains=HBhtmlTagB,HBDirectiveError
37
38syn match HBFileName ".*" contained
39
40syn match HBDirectiveKeyword	":\s*\(include\|lib\|set\|out\)\s\+" contained
41
42syn 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
50syn match HBInvalidLine "^.*$"
51
52syn match HBDirectiveInclude "^:\s*include\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword
53
54syn match HBDirectiveLib "^:\s*lib\s\+\S\+.*$" contains=HBFileName,HBDirectiveKeyword
55
56syn 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
60syn match HBComment "^#.*$"
61
62" Define the default highlighting.
63" Only when an item doesn't have highlighting yet
64
65hi def link HBhtmlString			 String
66hi def link HBhtmlTagN			 Function
67hi def link htmlSpecialChar		 String
68
69hi def link HBInvalidLine Error
70hi def link HBFoobar Comment
71hi HBFileName guibg=lightgray guifg=black
72hi def link HBDirectiveError Error
73hi def link HBDirectiveBlockEnd HBDirectiveKeyword
74hi HBDirectiveKeyword guibg=lightgray guifg=darkgreen
75hi def link HBComment Comment
76hi def link HBhtmlTagSk Statement
77
78
79syn sync match Normal grouphere NONE "^:\s*$"
80syn sync match Normal grouphere NONE "^:\s*lib\s\+[^ \t]\+$"
81syn 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
85let b:current_syntax = "hb"
86
87let &cpo = s:cpo_save
88unlet s:cpo_save
89" vim: ts=8
90