" Vim syntax file
" Language:	   SPYCE
" Maintainer:	 Rimon Barr <rimon AT acm DOT org>
" URL:		     http://spyce.sourceforge.net
" Last Change: 2003 May 11

" 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

" we define it here so that included files can test for it
if !exists("main_syntax")
  let main_syntax='spyce'
endif

" Read the HTML syntax to start with
let b:did_indent = 1	     " don't perform HTML indentation!
let html_no_rendering = 1    " do not render <b>,<i>, etc...
if version < 600
  so <sfile>:p:h/html.vim
else
  runtime! syntax/html.vim
  unlet b:current_syntax
endif

" include python
syn include @Python <sfile>:p:h/python.vim
syn include @Html <sfile>:p:h/html.vim

" spyce definitions
syn keyword spyceDirectiveKeyword include compact module import contained
syn keyword spyceDirectiveArg name names file contained
syn region  spyceDirectiveString start=+"+ end=+"+ contained
syn match   spyceDirectiveValue "=[\t ]*[^'", \t>][^, \t>]*"hs=s+1 contained

syn match spyceBeginErrorS  ,\[\[,
syn match spyceBeginErrorA  ,<%,
syn cluster spyceBeginError contains=spyceBeginErrorS,spyceBeginErrorA
syn match spyceEndErrorS    ,\]\],
syn match spyceEndErrorA    ,%>,
syn cluster spyceEndError contains=spyceEndErrorS,spyceEndErrorA

syn match spyceEscBeginS       ,\\\[\[,
syn match spyceEscBeginA       ,\\<%,
syn cluster spyceEscBegin contains=spyceEscBeginS,spyceEscBeginA
syn match spyceEscEndS	       ,\\\]\],
syn match spyceEscEndA	       ,\\%>,
syn cluster spyceEscEnd contains=spyceEscEndS,spyceEscEndA
syn match spyceEscEndCommentS  ,--\\\]\],
syn match spyceEscEndCommentA  ,--\\%>,
syn cluster spyceEscEndComment contains=spyceEscEndCommentS,spyceEscEndCommentA

syn region spyceStmtS      matchgroup=spyceStmtDelim start=,\[\[, end=,\]\], contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend
syn region spyceStmtA      matchgroup=spyceStmtDelim start=,<%, end=,%>, contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend
syn region spyceChunkS     matchgroup=spyceChunkDelim start=,\[\[\\, end=,\]\], contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend
syn region spyceChunkA     matchgroup=spyceChunkDelim start=,<%\\, end=,%>, contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend
syn region spyceEvalS      matchgroup=spyceEvalDelim start=,\[\[=, end=,\]\], contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend
syn region spyceEvalA      matchgroup=spyceEvalDelim start=,<%=, end=,%>, contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend
syn region spyceDirectiveS matchgroup=spyceDelim start=,\[\[\., end=,\]\], contains=spyceBeginError,spyceDirectiveKeyword,spyceDirectiveArg,spyceDirectiveValue,spyceDirectiveString keepend
syn region spyceDirectiveA matchgroup=spyceDelim start=,<%@, end=,%>, contains=spyceBeginError,spyceDirectiveKeyword,spyceDirectiveArg,spyceDirectiveValue,spyceDirectiveString keepend
syn region spyceCommentS   matchgroup=spyceCommentDelim start=,\[\[--, end=,--\]\],
syn region spyceCommentA   matchgroup=spyceCommentDelim start=,<%--, end=,--%>,
syn region spyceLambdaS    matchgroup=spyceLambdaDelim start=,\[\[spy!\?, end=,\]\], contains=@Html,@spyce extend
syn region spyceLambdaA    matchgroup=spyceLambdaDelim start=,<%spy!\?, end=,%>, contains=@Html,@spyce extend

syn cluster spyce contains=spyceStmtS,spyceStmtA,spyceChunkS,spyceChunkA,spyceEvalS,spyceEvalA,spyceCommentS,spyceCommentA,spyceDirectiveS,spyceDirectiveA

syn cluster htmlPreproc contains=@spyce

hi link spyceDirectiveKeyword	Special
hi link spyceDirectiveArg	Type
hi link spyceDirectiveString	String
hi link spyceDirectiveValue	String

hi link spyceDelim		Special
hi link spyceStmtDelim		spyceDelim
hi link spyceChunkDelim		spyceDelim
hi link spyceEvalDelim		spyceDelim
hi link spyceLambdaDelim	spyceDelim
hi link spyceCommentDelim	Comment

hi link spyceBeginErrorS	Error
hi link spyceBeginErrorA	Error
hi link spyceEndErrorS		Error
hi link spyceEndErrorA		Error

hi link spyceStmtS		spyce
hi link spyceStmtA		spyce
hi link spyceChunkS		spyce
hi link spyceChunkA		spyce
hi link spyceEvalS		spyce
hi link spyceEvalA		spyce
hi link spyceDirectiveS		spyce
hi link spyceDirectiveA		spyce
hi link spyceCommentS		Comment
hi link spyceCommentA		Comment
hi link spyceLambdaS		Normal
hi link spyceLambdaA		Normal

hi link spyce			Statement

let b:current_syntax = "spyce"
if main_syntax == 'spyce'
  unlet main_syntax
endif

