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