1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: SPYCE 3071d4279SBram Moolenaar" Maintainer: Rimon Barr <rimon AT acm DOT org> 4071d4279SBram Moolenaar" URL: http://spyce.sourceforge.net 55c73622aSBram Moolenaar" Last Change: 2009 Nov 11 6071d4279SBram Moolenaar 7*89bcfda6SBram Moolenaar" quit when a syntax file was already loaded 8*89bcfda6SBram Moolenaarif exists("b:current_syntax") 9071d4279SBram Moolenaar finish 10071d4279SBram Moolenaarendif 11071d4279SBram Moolenaar 12071d4279SBram Moolenaar" we define it here so that included files can test for it 13071d4279SBram Moolenaarif !exists("main_syntax") 14071d4279SBram Moolenaar let main_syntax='spyce' 15071d4279SBram Moolenaarendif 16071d4279SBram Moolenaar 17071d4279SBram Moolenaar" Read the HTML syntax to start with 18071d4279SBram Moolenaarlet b:did_indent = 1 " don't perform HTML indentation! 19071d4279SBram Moolenaarlet html_no_rendering = 1 " do not render <b>,<i>, etc... 20071d4279SBram Moolenaarruntime! syntax/html.vim 21071d4279SBram Moolenaarunlet b:current_syntax 225c73622aSBram Moolenaarsyntax spell default " added by Bram 23071d4279SBram Moolenaar 24071d4279SBram Moolenaar" include python 25071d4279SBram Moolenaarsyn include @Python <sfile>:p:h/python.vim 26071d4279SBram Moolenaarsyn include @Html <sfile>:p:h/html.vim 27071d4279SBram Moolenaar 28071d4279SBram Moolenaar" spyce definitions 29071d4279SBram Moolenaarsyn keyword spyceDirectiveKeyword include compact module import contained 30071d4279SBram Moolenaarsyn keyword spyceDirectiveArg name names file contained 31071d4279SBram Moolenaarsyn region spyceDirectiveString start=+"+ end=+"+ contained 32071d4279SBram Moolenaarsyn match spyceDirectiveValue "=[\t ]*[^'", \t>][^, \t>]*"hs=s+1 contained 33071d4279SBram Moolenaar 34071d4279SBram Moolenaarsyn match spyceBeginErrorS ,\[\[, 35071d4279SBram Moolenaarsyn match spyceBeginErrorA ,<%, 36071d4279SBram Moolenaarsyn cluster spyceBeginError contains=spyceBeginErrorS,spyceBeginErrorA 37071d4279SBram Moolenaarsyn match spyceEndErrorS ,\]\], 38071d4279SBram Moolenaarsyn match spyceEndErrorA ,%>, 39071d4279SBram Moolenaarsyn cluster spyceEndError contains=spyceEndErrorS,spyceEndErrorA 40071d4279SBram Moolenaar 41071d4279SBram Moolenaarsyn match spyceEscBeginS ,\\\[\[, 42071d4279SBram Moolenaarsyn match spyceEscBeginA ,\\<%, 43071d4279SBram Moolenaarsyn cluster spyceEscBegin contains=spyceEscBeginS,spyceEscBeginA 44071d4279SBram Moolenaarsyn match spyceEscEndS ,\\\]\], 45071d4279SBram Moolenaarsyn match spyceEscEndA ,\\%>, 46071d4279SBram Moolenaarsyn cluster spyceEscEnd contains=spyceEscEndS,spyceEscEndA 47071d4279SBram Moolenaarsyn match spyceEscEndCommentS ,--\\\]\], 48071d4279SBram Moolenaarsyn match spyceEscEndCommentA ,--\\%>, 49071d4279SBram Moolenaarsyn cluster spyceEscEndComment contains=spyceEscEndCommentS,spyceEscEndCommentA 50071d4279SBram Moolenaar 51071d4279SBram Moolenaarsyn region spyceStmtS matchgroup=spyceStmtDelim start=,\[\[, end=,\]\], contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend 52071d4279SBram Moolenaarsyn region spyceStmtA matchgroup=spyceStmtDelim start=,<%, end=,%>, contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend 53071d4279SBram Moolenaarsyn region spyceChunkS matchgroup=spyceChunkDelim start=,\[\[\\, end=,\]\], contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend 54071d4279SBram Moolenaarsyn region spyceChunkA matchgroup=spyceChunkDelim start=,<%\\, end=,%>, contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend 55071d4279SBram Moolenaarsyn region spyceEvalS matchgroup=spyceEvalDelim start=,\[\[=, end=,\]\], contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend 56071d4279SBram Moolenaarsyn region spyceEvalA matchgroup=spyceEvalDelim start=,<%=, end=,%>, contains=@Python,spyceLambdaS,spyceLambdaA,spyceBeginError keepend 57071d4279SBram Moolenaarsyn region spyceDirectiveS matchgroup=spyceDelim start=,\[\[\., end=,\]\], contains=spyceBeginError,spyceDirectiveKeyword,spyceDirectiveArg,spyceDirectiveValue,spyceDirectiveString keepend 58071d4279SBram Moolenaarsyn region spyceDirectiveA matchgroup=spyceDelim start=,<%@, end=,%>, contains=spyceBeginError,spyceDirectiveKeyword,spyceDirectiveArg,spyceDirectiveValue,spyceDirectiveString keepend 59071d4279SBram Moolenaarsyn region spyceCommentS matchgroup=spyceCommentDelim start=,\[\[--, end=,--\]\], 60071d4279SBram Moolenaarsyn region spyceCommentA matchgroup=spyceCommentDelim start=,<%--, end=,--%>, 61071d4279SBram Moolenaarsyn region spyceLambdaS matchgroup=spyceLambdaDelim start=,\[\[spy!\?, end=,\]\], contains=@Html,@spyce extend 62071d4279SBram Moolenaarsyn region spyceLambdaA matchgroup=spyceLambdaDelim start=,<%spy!\?, end=,%>, contains=@Html,@spyce extend 63071d4279SBram Moolenaar 64071d4279SBram Moolenaarsyn cluster spyce contains=spyceStmtS,spyceStmtA,spyceChunkS,spyceChunkA,spyceEvalS,spyceEvalA,spyceCommentS,spyceCommentA,spyceDirectiveS,spyceDirectiveA 65071d4279SBram Moolenaar 66071d4279SBram Moolenaarsyn cluster htmlPreproc contains=@spyce 67071d4279SBram Moolenaar 68071d4279SBram Moolenaarhi link spyceDirectiveKeyword Special 69071d4279SBram Moolenaarhi link spyceDirectiveArg Type 70071d4279SBram Moolenaarhi link spyceDirectiveString String 71071d4279SBram Moolenaarhi link spyceDirectiveValue String 72071d4279SBram Moolenaar 73071d4279SBram Moolenaarhi link spyceDelim Special 74071d4279SBram Moolenaarhi link spyceStmtDelim spyceDelim 75071d4279SBram Moolenaarhi link spyceChunkDelim spyceDelim 76071d4279SBram Moolenaarhi link spyceEvalDelim spyceDelim 77071d4279SBram Moolenaarhi link spyceLambdaDelim spyceDelim 78071d4279SBram Moolenaarhi link spyceCommentDelim Comment 79071d4279SBram Moolenaar 80071d4279SBram Moolenaarhi link spyceBeginErrorS Error 81071d4279SBram Moolenaarhi link spyceBeginErrorA Error 82071d4279SBram Moolenaarhi link spyceEndErrorS Error 83071d4279SBram Moolenaarhi link spyceEndErrorA Error 84071d4279SBram Moolenaar 85071d4279SBram Moolenaarhi link spyceStmtS spyce 86071d4279SBram Moolenaarhi link spyceStmtA spyce 87071d4279SBram Moolenaarhi link spyceChunkS spyce 88071d4279SBram Moolenaarhi link spyceChunkA spyce 89071d4279SBram Moolenaarhi link spyceEvalS spyce 90071d4279SBram Moolenaarhi link spyceEvalA spyce 91071d4279SBram Moolenaarhi link spyceDirectiveS spyce 92071d4279SBram Moolenaarhi link spyceDirectiveA spyce 93071d4279SBram Moolenaarhi link spyceCommentS Comment 94071d4279SBram Moolenaarhi link spyceCommentA Comment 95071d4279SBram Moolenaarhi link spyceLambdaS Normal 96071d4279SBram Moolenaarhi link spyceLambdaA Normal 97071d4279SBram Moolenaar 98071d4279SBram Moolenaarhi link spyce Statement 99071d4279SBram Moolenaar 100071d4279SBram Moolenaarlet b:current_syntax = "spyce" 101071d4279SBram Moolenaarif main_syntax == 'spyce' 102071d4279SBram Moolenaar unlet main_syntax 103071d4279SBram Moolenaarendif 104071d4279SBram Moolenaar 105