blob: e7b1b1632f1cfa0ade97ad3e4b1e806c7f6cbb3d [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
Bram Moolenaar6ee8d892012-01-10 14:55:01 +01004" Last Changed: 2012 Jan 08 by Thilo Six
Bram Moolenaar071d4272004-06-13 20:20:40 +00005" 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
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010037let s:cpo_save = &cpo
38set cpo&vim
39
Bram Moolenaar071d4272004-06-13 20:20:40 +000040" Add <java> as an HTML tag name along with its args
41syn keyword htmlTagName contained java
42syn keyword htmlArg contained type file page
43
44" Redefine some HTML things to include (and highlight) gspInLine code in
45" places where it's likely to be found
46syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
47syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
48syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc,gspInLine
49syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError,gspInLine
50syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster,gspInLine
51syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
52syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
53
54" Define the GSP java code blocks
55syn region gspJavaBlock start="<java\>[^>]*\>" end="</java>"me=e-7 contains=@gspJava,htmlTag
56syn region gspInLine matchgroup=htmlError start="`" end="`" contains=@gspJava
57
58let b:current_syntax = "gsp"
59
60if main_syntax == 'gsp'
61 unlet main_syntax
62endif
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010063
64let &cpo = s:cpo_save
65unlet s:cpo_save