xref: /vim-8.2.3635/runtime/syntax/gsp.vim (revision 89bcfda6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	GSP - GNU Server Pages (v. 0.86)
3071d4279SBram Moolenaar" Created By:	Nathaniel Harward [email protected]
46ee8d89cSBram Moolenaar" Last Changed: 2012 Jan 08 by Thilo Six
5071d4279SBram Moolenaar" Filenames:    *.gsp
6071d4279SBram Moolenaar" URL:		http://www.constructicon.com/~nharward/vim/syntax/gsp.vim
7071d4279SBram Moolenaar
8*89bcfda6SBram Moolenaar" quit when a syntax file was already loaded
9*89bcfda6SBram Moolenaarif exists("b:current_syntax")
10071d4279SBram Moolenaar  finish
11071d4279SBram Moolenaarendif
12071d4279SBram Moolenaar
13071d4279SBram Moolenaarif !exists("main_syntax")
14071d4279SBram Moolenaar  let main_syntax = 'gsp'
15071d4279SBram Moolenaarendif
16071d4279SBram Moolenaar
17071d4279SBram Moolenaar" Source HTML syntax
18071d4279SBram Moolenaarruntime! syntax/html.vim
19071d4279SBram Moolenaarunlet b:current_syntax
20071d4279SBram Moolenaar
21071d4279SBram Moolenaarsyn case match
22071d4279SBram Moolenaar
23071d4279SBram Moolenaar" Include Java syntax
24071d4279SBram Moolenaarsyn include @gspJava syntax/java.vim
25071d4279SBram Moolenaar
266ee8d89cSBram Moolenaarlet s:cpo_save = &cpo
276ee8d89cSBram Moolenaarset cpo&vim
286ee8d89cSBram Moolenaar
29071d4279SBram Moolenaar" Add <java> as an HTML tag name along with its args
30071d4279SBram Moolenaarsyn keyword htmlTagName contained java
31071d4279SBram Moolenaarsyn keyword htmlArg     contained type file page
32071d4279SBram Moolenaar
33071d4279SBram Moolenaar" Redefine some HTML things to include (and highlight) gspInLine code in
34071d4279SBram Moolenaar" places where it's likely to be found
35071d4279SBram Moolenaarsyn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
36071d4279SBram Moolenaarsyn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
37071d4279SBram Moolenaarsyn match  htmlValue  contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc,gspInLine
38071d4279SBram Moolenaarsyn region htmlEndTag		start=+</+    end=+>+ contains=htmlTagN,htmlTagError,gspInLine
39071d4279SBram Moolenaarsyn region htmlTag		start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster,gspInLine
40071d4279SBram Moolenaarsyn match  htmlTagN   contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
41071d4279SBram Moolenaarsyn match  htmlTagN   contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
42071d4279SBram Moolenaar
43071d4279SBram Moolenaar" Define the GSP java code blocks
44071d4279SBram Moolenaarsyn region  gspJavaBlock start="<java\>[^>]*\>" end="</java>"me=e-7 contains=@gspJava,htmlTag
45071d4279SBram Moolenaarsyn region  gspInLine    matchgroup=htmlError start="`" end="`" contains=@gspJava
46071d4279SBram Moolenaar
47071d4279SBram Moolenaarlet b:current_syntax = "gsp"
48071d4279SBram Moolenaar
49071d4279SBram Moolenaarif main_syntax == 'gsp'
50071d4279SBram Moolenaar  unlet main_syntax
51071d4279SBram Moolenaarendif
526ee8d89cSBram Moolenaar
536ee8d89cSBram Moolenaarlet &cpo = s:cpo_save
546ee8d89cSBram Moolenaarunlet s:cpo_save
55