openscad/qxs/openscad.qnfa

72 lines
2.0 KiB
Plaintext

<!DOCTYPE QNFA>
<QNFA language="openscad" extensions="scad" defaultLineMark="breakpoint">
<context id="comment/multi" format="comment">
<start parenthesis="cppcomment:open" indent="1" fold="1">/\*</start>
<stop parenthesis="cppcomment:close" indent="1" fold="1">\*/</stop>
</context>
<context id="comment/single" format="comment" >
<start>//</start>
<stop exclusive="false">\n</stop>
<context id="evilJump" format="danger" >
<start>\\\n</start>
<stop exclusive="false">\n</stop>
<escape>\\</escape>
</context>
</context>
<context id="data/string" format="text" >
<start>&quot;</start>
<stop>&quot;</stop>
<stop exclusive="false">\n</stop>
<sequence id="escape" format="escapeseq" >\\[nrtvf\\"'\n]</sequence>
</context>
<context id="use" format="keyword" transparency="true" stayOnLine="true" >
<start>use</start>
<stop exclusive="false">\n</stop>
<context id="data/string" format="text" >
<start>&lt;</start>
<stop>&gt;</stop>
</context>
</context>
<context id="include" format="keyword" transparency="true" stayOnLine="true" >
<start>include</start>
<stop exclusive="false">\n</stop>
<context id="data/string" format="text" >
<start>&lt;</start>
<stop>&gt;</stop>
</context>
</context>
<sequence parenthesis="round:open">(</sequence>
<sequence parenthesis="round:close">)</sequence>
<sequence parenthesis="curly:open" indent="1" fold="1">{</sequence>
<sequence parenthesis="curly:close" indent="1" fold="1">}</sequence>
<sequence parenthesis="square:open">\[</sequence>
<sequence parenthesis="square:close">\]</sequence>
<list id="keywords/toplevel" format="keyword">
<word>module</word>
<word>function</word>
</list>
<list id="keywords/blocks" format="keyword">
<word>for</word>
<word>if</word>
<word>else</word>
</list>
<list id="keywords/others" format="keyword">
<word>false</word>
<word>true</word>
<word>undef</word>
</list>
<word id="data/float" format="numbers">-?[0-9]*.[0-9]+f?</word>
<word id="data/decimal" format="numbers">-?[0-9]+[ulUL]*</word>
</QNFA>