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