xref: /vim-8.2.3635/runtime/syntax/spyce.vim (revision 89bcfda6)
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