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