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