gsp.vim 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. " Vim syntax file
  2. " Language: GSP - GNU Server Pages (v. 0.86)
  3. " Created By: Nathaniel Harward nharward@yahoo.com
  4. " Last Changed: 2012 Jan 08 by Thilo Six
  5. " Filenames: *.gsp
  6. " URL: http://www.constructicon.com/~nharward/vim/syntax/gsp.vim
  7. " quit when a syntax file was already loaded
  8. if exists("b:current_syntax")
  9. finish
  10. endif
  11. if !exists("main_syntax")
  12. let main_syntax = 'gsp'
  13. endif
  14. " Source HTML syntax
  15. runtime! syntax/html.vim
  16. unlet b:current_syntax
  17. syn case match
  18. " Include Java syntax
  19. syn include @gspJava syntax/java.vim
  20. let s:cpo_save = &cpo
  21. set cpo&vim
  22. " Add <java> as an HTML tag name along with its args
  23. syn keyword htmlTagName contained java
  24. syn keyword htmlArg contained type file page
  25. " Redefine some HTML things to include (and highlight) gspInLine code in
  26. " places where it's likely to be found
  27. syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
  28. syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
  29. syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc,gspInLine
  30. syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError,gspInLine
  31. syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster,gspInLine
  32. syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
  33. syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
  34. " Define the GSP java code blocks
  35. syn region gspJavaBlock start="<java\>[^>]*\>" end="</java>"me=e-7 contains=@gspJava,htmlTag
  36. syn region gspInLine matchgroup=htmlError start="`" end="`" contains=@gspJava
  37. let b:current_syntax = "gsp"
  38. if main_syntax == 'gsp'
  39. unlet main_syntax
  40. endif
  41. let &cpo = s:cpo_save
  42. unlet s:cpo_save