xref: /vim-8.2.3635/runtime/syntax/gsp.vim (revision cf2d8dee)
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" 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
37let s:cpo_save = &cpo
38set cpo&vim
39
40" 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
63
64let &cpo = s:cpo_save
65unlet s:cpo_save
66