Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: GSP - GNU Server Pages (v. 0.86) |
| 3 | " Created By: Nathaniel Harward nharward@yahoo.com |
Bram Moolenaar | 6ee8d89 | 2012-01-10 14:55:01 +0100 | [diff] [blame] | 4 | " Last Changed: 2012 Jan 08 by Thilo Six |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5 | " Filenames: *.gsp |
| 6 | " URL: http://www.constructicon.com/~nharward/vim/syntax/gsp.vim |
| 7 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 8 | " quit when a syntax file was already loaded |
| 9 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 10 | finish |
| 11 | endif |
| 12 | |
| 13 | if !exists("main_syntax") |
| 14 | let main_syntax = 'gsp' |
| 15 | endif |
| 16 | |
| 17 | " Source HTML syntax |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 18 | runtime! syntax/html.vim |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 19 | unlet b:current_syntax |
| 20 | |
| 21 | syn case match |
| 22 | |
| 23 | " Include Java syntax |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 24 | syn include @gspJava syntax/java.vim |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 25 | |
Bram Moolenaar | 6ee8d89 | 2012-01-10 14:55:01 +0100 | [diff] [blame] | 26 | let s:cpo_save = &cpo |
| 27 | set cpo&vim |
| 28 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 29 | " Add <java> as an HTML tag name along with its args |
| 30 | syn keyword htmlTagName contained java |
| 31 | syn 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 |
| 35 | syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine |
| 36 | syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine |
| 37 | syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc,gspInLine |
| 38 | syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError,gspInLine |
| 39 | syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster,gspInLine |
| 40 | syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine |
| 41 | syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine |
| 42 | |
| 43 | " Define the GSP java code blocks |
| 44 | syn region gspJavaBlock start="<java\>[^>]*\>" end="</java>"me=e-7 contains=@gspJava,htmlTag |
| 45 | syn region gspInLine matchgroup=htmlError start="`" end="`" contains=@gspJava |
| 46 | |
| 47 | let b:current_syntax = "gsp" |
| 48 | |
| 49 | if main_syntax == 'gsp' |
| 50 | unlet main_syntax |
| 51 | endif |
Bram Moolenaar | 6ee8d89 | 2012-01-10 14:55:01 +0100 | [diff] [blame] | 52 | |
| 53 | let &cpo = s:cpo_save |
| 54 | unlet s:cpo_save |