blob: e7766c5b57d884afd66414d2165b3df6efabf649 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: GSP - GNU Server Pages (v. 0.86)
3" Created By: Nathaniel Harward nharward@yahoo.com
4" Last Changed: Dec. 12, 2000
5" Filenames: *.gsp
6" URL: http://www.constructicon.com/~nharward/vim/syntax/gsp.vim
7
8" For version 5.x: Clear all syntax items
9" For version 6.x: Quit when a syntax file was already loaded
10if version < 600
11 syntax clear
12elseif exists("b:current_syntax")
13 finish
14endif
15
16if !exists("main_syntax")
17 let main_syntax = 'gsp'
18endif
19
20" Source HTML syntax
21if version < 600
22 source <sfile>:p:h/html.vim
23else
24 runtime! syntax/html.vim
25endif
26unlet b:current_syntax
27
28syn case match
29
30" Include Java syntax
31if version < 600
32 syn include @gspJava <sfile>:p:h/java.vim
33else
34 syn include @gspJava syntax/java.vim
35endif
36
37" Add <java> as an HTML tag name along with its args
38syn keyword htmlTagName contained java
39syn keyword htmlArg contained type file page
40
41" Redefine some HTML things to include (and highlight) gspInLine code in
42" places where it's likely to be found
43syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
44syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
45syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc,gspInLine
46syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError,gspInLine
47syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster,gspInLine
48syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
49syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
50
51" Define the GSP java code blocks
52syn region gspJavaBlock start="<java\>[^>]*\>" end="</java>"me=e-7 contains=@gspJava,htmlTag
53syn region gspInLine matchgroup=htmlError start="`" end="`" contains=@gspJava
54
55let b:current_syntax = "gsp"
56
57if main_syntax == 'gsp'
58 unlet main_syntax
59endif