summaryrefslogtreecommitdiff
path: root/runtime/syntax/gsp.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/gsp.vim')
-rw-r--r--runtime/syntax/gsp.vim59
1 files changed, 59 insertions, 0 deletions
diff --git a/runtime/syntax/gsp.vim b/runtime/syntax/gsp.vim
new file mode 100644
index 000000000..e7766c5b5
--- /dev/null
+++ b/runtime/syntax/gsp.vim
@@ -0,0 +1,59 @@
+" Vim syntax file
+" Language: GSP - GNU Server Pages (v. 0.86)
+" Created By: Nathaniel Harward nharward@yahoo.com
+" Last Changed: Dec. 12, 2000
+" Filenames: *.gsp
+" URL: http://www.constructicon.com/~nharward/vim/syntax/gsp.vim
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+if !exists("main_syntax")
+ let main_syntax = 'gsp'
+endif
+
+" Source HTML syntax
+if version < 600
+ source <sfile>:p:h/html.vim
+else
+ runtime! syntax/html.vim
+endif
+unlet b:current_syntax
+
+syn case match
+
+" Include Java syntax
+if version < 600
+ syn include @gspJava <sfile>:p:h/java.vim
+else
+ syn include @gspJava syntax/java.vim
+endif
+
+" Add <java> as an HTML tag name along with its args
+syn keyword htmlTagName contained java
+syn keyword htmlArg contained type file page
+
+" Redefine some HTML things to include (and highlight) gspInLine code in
+" places where it's likely to be found
+syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
+syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,gspInLine
+syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc,gspInLine
+syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError,gspInLine
+syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster,gspInLine
+syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
+syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster,gspInLine
+
+" Define the GSP java code blocks
+syn region gspJavaBlock start="<java\>[^>]*\>" end="</java>"me=e-7 contains=@gspJava,htmlTag
+syn region gspInLine matchgroup=htmlError start="`" end="`" contains=@gspJava
+
+let b:current_syntax = "gsp"
+
+if main_syntax == 'gsp'
+ unlet main_syntax
+endif