summaryrefslogtreecommitdiff
path: root/qxs/openscad.qnfa
blob: fc139756ba432c35dd0e48b2344b902822647859 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<!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>
	
	<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/visibility" format="keyword">
		<word parenthesis="visibility:boundary" fold="1" indent="1">public</word>
		<word parenthesis="visibility:boundary" fold="1" indent="1">protected</word>
		<word parenthesis="visibility:boundary" fold="1" indent="1">private</word>
	</list>
	
	<list id="keywords/toplevel" format="keyword">
		<word>module</word>
		<word>func</word>
	</list>

	<list id="keywords/blocks" format="keyword">
		<word>for</word>
		<word>if</word>
		<word>else</word>
	</list>
	
	<list id="keywords/oop" format="keyword">
		<word>using</word>
	</list>
	
	<list id="keywords/others" format="keyword">
		<word>asm</word>
		<word>false</word>
		<word>true</word>
		<word>template</word>
		<word>typename</word>
		<word>return</word>
		<word>sizeof</word>
		<word>typeid</word>
		<word>typedef</word>
	</list>
	
	<list id="ansi/trigraph" format="extra-keyword">
		<prefix>\?\?</prefix>
		<word>\(</word>
		<word>\)</word>
		<word>&lt;</word>
		<word>&gt;</word>
		<word>=</word>
		<word>/</word>
		<word>&apos;</word>
		<word>!</word>
		<word>-</word>
	</list>
	
	<word id="QtCasts" format="extra-keyword">q$w+_cast</word>
	
	<word id="data/float" format="numbers">-?[0-9]*.[0-9]+f?</word>
	<word id="data/hexadecimal" format="numbers">0[xX][0-9a-fA-F]+[ulUL]*</word>
	<word id="data/octal" format="numbers">0[0-7]+</word>
	<word id="data/decimal" format="numbers">-?[0-9]+[ulUL]*</word>
</QNFA>
contact: Jan Huwald // Impressum