Skip to content

Commit 73d7fae

Browse files
committed
inital commit
1 parent f7b84f3 commit 73d7fae

File tree

2 files changed

+245
-4
lines changed

2 files changed

+245
-4
lines changed

README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ From now on you can select 'GDL' as the current language in the bottom right cor
3636
New to Sublime? Then I can recommend the excellent and free video tutorial by nettuts: [Perfect Workflow in Sublime Text](http://net.tutsplus.com/articles/news/perfect-workflow-in-sublime-text-free-course/).
3737

3838
## TO DO LIST
39-
+ nearly everything :D
40-
41-
Roadmap is to implement the syntax first and then also distributing a beatiful custom theme so you can make the best out of the syntax.
42-
Goodies: Snippets, Tag completion
39+
+ syntax implemention for
40+
+ keywords for `REQUESTS`
41+
+ `WIDO_*, LABEL_*, LIGHT_*, WALL_*, COLU_*, BEAM_*, SLAB_*, ROOF_*, FILL_*, MESH_*`
42+
+ usable and beatiful template
43+
44+
Goodies:
45+
+ Snippets
46+
+ Tag completion

Syntaxes/GDL.tmLanguage

Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>fileTypes</key>
6+
<array>
7+
<string>gsm</string>
8+
</array>
9+
<key>name</key>
10+
<string>GDL</string>
11+
<key>patterns</key>
12+
<array>
13+
<dict>
14+
<key>match</key>
15+
<string>(?i)\b(\!NOCONTOUR|BAS|BOX|CONT|FILLA|FILTER|GDLBIN|HIP_ROOFS|LIN|LINE|NOD|NODE|ORIGO|PARS|PAUSE|PLOTMAKER|PLOTTER|RECT_|SFLINE|TET|TETRA|TRI|UI_CANCEL|UI_OK|VOCA|WALL_)\b</string>
16+
<key>name</key>
17+
<string>invalid.deprecated.gdl</string>
18+
</dict>
19+
<dict>
20+
<key>begin</key>
21+
<string>!</string>
22+
<key>end</key>
23+
<string>$</string>
24+
<key>name</key>
25+
<string>comment.line.gdl</string>
26+
</dict>
27+
<dict>
28+
<key>match</key>
29+
<string>".*"</string>
30+
<key>name</key>
31+
<string>string.gdl</string>
32+
</dict>
33+
<dict>
34+
<key>match</key>
35+
<string>(?i)(\b[0-9]*:)(?=$|\s)</string>
36+
<key>name</key>
37+
<string>entity.name.function.gdl</string>
38+
</dict>
39+
<dict>
40+
<key>match</key>
41+
<string>(?i)(\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)|(?&lt;=^|\s)(MOD|%|AND|&amp;|OR|\||EXOR|\@|NOT)(?=$|\s)</string>
42+
<key>name</key>
43+
<string>keyword.operator.gdl</string>
44+
</dict>
45+
<dict>
46+
<key>match</key>
47+
<string>(?i)(?&lt;=^|\s)(FOR|TO|STEP|NEXT|DO|WHILE|ENDWHILE|REPEAT|UNTIL|IF|THEN|ELSE|ENDIF|GOTO|GOSUB|RETURN|END|EXIT|BREAKPOINT)(?=$|\s)</string>
48+
<key>name</key>
49+
<string>keyword.control.flow.gdl</string>
50+
</dict>
51+
<dict>
52+
<key>match</key>
53+
<string>(?i)(?&lt;=^|\s)(ADD[2XYZ]?|ROT[2XYZ]?|MUL[2XYZ]?|XFORM|DEL(\sTOP)?)(?=$|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)</string>
54+
<key>name</key>
55+
<string>keyword.gdl.transform</string>
56+
</dict>
57+
<dict>
58+
<key>match</key>
59+
<string>(?i)(?&lt;=^|\s)(ABS|CEIL|INT|FRA|ROUND_INT|SGN|ACS|ASN|ATN|COS|SIN|TAN|PI|EXP|LGT|LOG|SQR|MAX|MIN|RND|STR(\{2\})?|SPLIT|STW|STRLEN|STRSTR|STRSUB|VARDIM[1-2]|DIM|BITTEST|BITSET|REQ(UEST)?(\{2\})?|IND|NTR|VARTYPE)(?=$|\s)</string>
60+
<key>name</key>
61+
<string>keyword.other.special-method.gdl.functions</string>
62+
</dict>
63+
<dict>
64+
<key>match</key>
65+
<string>(?i)(?&lt;=^|\s)((LINE|RECT|ARC|CIRCLE|WALLINE|WALLARC)2|SPLINE2[A]?|(PICTURE|WALLHOLE|WALLBLOCK)2(\{2\})?|POLY2(_?(A|B(\{[2-5]\})?)?))(?=$|\s)</string>
66+
<key>name</key>
67+
<string>keyword.gdl.shape.2D</string>
68+
</dict>
69+
<dict>
70+
<key>match</key>
71+
<string>(?i)(?&lt;=^|\s)(?&lt;=^|\s)((TEXT|RICHTEXT)2)(?=$|\s)</string>
72+
<key>name</key>
73+
<string>keyword.gdl.text.2D.text</string>
74+
</dict>
75+
<dict>
76+
<key>match</key>
77+
<string>(?i)(?&lt;=^|\s)(BLOCK|CYLIND|CONE|SPHERE|ELLIPS|ELBOW|ARMC|ARME)(?=$|\s)</string>
78+
<key>name</key>
79+
<string>keyword.gdl.shape.3D.basic</string>
80+
</dict>
81+
<dict>
82+
<key>match</key>
83+
<string>(?i)(?&lt;=^|\s)((PLANE|POLY)(_?)|ARC|CIRCLE|LIN_|RECT)(?=$|\s)</string>
84+
<key>name</key>
85+
<string>keyword.gdl.shape.3D.planar</string>
86+
</dict>
87+
<dict>
88+
<key>match</key>
89+
<string>(?i)(?&lt;=^|\s)(SLAB(_?)|CSLAB_|CROOF_(\{2\})?|(C|B)WALL_|XWALL_(\{2\})?|BEAM|MESH|POLYROOF)(?=$|\s)</string>
90+
<key>name</key>
91+
<string>keyword.gdl.shape.3D.complex</string>
92+
</dict>
93+
<dict>
94+
<key>match</key>
95+
<string>(?i)(?&lt;=^|\s)(BASE|BODY|COOR|EDGE|PGON|PIPG|TEVE|VECT|VERT)(?=$|\s)</string>
96+
<key>name</key>
97+
<string>keyword.gdl.shape.3D.primitive</string>
98+
</dict>
99+
<dict>
100+
<key>match</key>
101+
<string>(?i)(?&lt;=^|\s)(PYRAMID|RULED(\{2\})?|EXTRUDE|SWEEP|TUBE[A]?|MASS|COONS|REVOLVE(\{2\})?|EXTRUDEDSHELL|REVOLVEDSHELL|REVOLVEDSHELLANGULAR|RULEDSHELL)(?=$|\s)</string>
102+
<key>name</key>
103+
<string>keyword.gdl.shape.3D.poly</string>
104+
</dict>
105+
<dict>
106+
<key>match</key>
107+
<string>(?i)(?&lt;=^|\s)(CUT(PLANE(\{[23]\})?|POLY[A]?|FORM|SHAPE)|WALL(HOLE|NICHE))(?=$|\s)</string>
108+
<key>name</key>
109+
<string>keyword.gdl.shape.3D.cut</string>
110+
</dict>
111+
<dict>
112+
<key>match</key>
113+
<string>(?i)(?&lt;=^|\s)((ADD|ISECT|SUB|PLACE|KILL)?(GROUP)|SWEEPGROUP(\{2\})?|ISECTLINES|CREATE_GROUP_MAT)(?=$|\s)</string>
114+
<key>name</key>
115+
<string>keyword.gdl.shape.3D.seo</string>
116+
</dict>
117+
<dict>
118+
<key>match</key>
119+
<string>(?i)(?&lt;=^|\s)(TEXT|RICHTEXT)(?=$|\s)</string>
120+
<key>name</key>
121+
<string>keyword.gdl.shape.3D.text</string>
122+
</dict>
123+
<dict>
124+
<key>match</key>
125+
<string>(?i)(?&lt;=^|\s)(LIGHT|PICTURE|BINARY)(?=$|\s)</string>
126+
<key>name</key>
127+
<string>keyword.gdl.shape.3D.other</string>
128+
</dict>
129+
<dict>
130+
<key>match</key>
131+
<string>(?i)(?&lt;=^|\s)(FRAGMENT[2]?|PROJECT2(\{[2-3]\})?|DRAWING(2|3(\{[2-3]\})?))(?=$|\s)</string>
132+
<key>name</key>
133+
<string>keyword.gdl.symbol</string>
134+
</dict>
135+
<dict>
136+
<key>match</key>
137+
<string>(?i)(?&lt;=^|\s)(HOTSPOT[2]?|HOTLINE[2]?|HOTARC[2]?)(?=$|\s)</string>
138+
<key>name</key>
139+
<string>keyword.gdl.hotedits</string>
140+
</dict>
141+
<dict>
142+
<key>match</key>
143+
<string>(?i)(?&lt;=^|\s)(DEFINE|SET|BASED_ON)(?=\s)</string>
144+
<key>name</key>
145+
<string>storage.type.function.gdl</string>
146+
</dict>
147+
<dict>
148+
<key>match</key>
149+
<string>(?i)(PEN|RESOL|RADIUS|TOLER|MODEL|SHADOW|DRAWINDEX|LINE_(TYPE|PROPERTY)|SYMBOL_(LINE|FILL)|FILL[A]?|(EMPTY|TRANSLUCENT|IMAGE|(LINEAR|RADIAL)_GRADIENT)_FILL|FILLTYPES_MASK|MATERIAL|TEXTURE|STYLE(\{2\})?|PARAGRAPH|TEXTBLOCK|ADDITIONAL_DATA|SECT_(FILL|ATTRS))(?=$|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)</string>
150+
<key>name</key>
151+
<string>support.type.gdl.attribute</string>
152+
</dict>
153+
<dict>
154+
<key>match</key>
155+
<string>(?i)(?&lt;=^|\s)(VALUES(\{2\})?|PARAMETERS|LOCK|HIDEPARAMETER|PARVALUE_DESCRIPTION)(?=$|\s)</string>
156+
<key>name</key>
157+
<string>keyword.gdl.nongeo.parameters</string>
158+
</dict>
159+
<dict>
160+
<key>match</key>
161+
<string>(?i)(?&lt;=^|\s)(COMPONENT|DESCRIPTOR|BINARYPROP|DATABASE_SET|POSITION|REF_(COMPONENT|DESCRIPTOR)|(SURFACE|VOLUME)3D|DRAWING[2]?)(?=$|\s)</string>
162+
<key>name</key>
163+
<string>keyword.gdl.nongeo.properties</string>
164+
</dict>
165+
<dict>
166+
<key>match</key>
167+
<string>(?i)(?&lt;=^|\s)(UI_(DIALOG|PAGE|CURRENT_PAGE|BUTTON|SEPARATOR|GROUPBOX|PICT|STYLE|OUTFIELD|INFIELD(\{[2-3]\})?|RADIOBUTTON|TOOLTIP|LISTFIELD|LISTITEM(\{2\})?|COLORPICKER(\{2\})?|SLIDER(\{2\})?))(?=$|\s)</string>
168+
<key>name</key>
169+
<string>keyword.gdl.nongeo.ui</string>
170+
</dict>
171+
<dict>
172+
<key>match</key>
173+
<string>(?!)(?&lt;=^|\s)(MIGRATIONWARNING|NEWPARAMETER|SETMIGRATIONGUID|DELETED_PAR_VALUE|STORED_PAR_VALUE)</string>
174+
<key>name</key>
175+
<string>keyword.gdl.nongeo.migration</string>
176+
</dict>
177+
<dict>
178+
<key>match</key>
179+
<string>(?i)(?&lt;=^|\s)(PRINT|OPEN|INPUT|OUTPUT|CLOSE|CALL|FILE_DEPENDENCE)(?=$|\s)</string>
180+
<key>name</key>
181+
<string>keyword.gdl.extern</string>
182+
</dict>
183+
<dict>
184+
<key>match</key>
185+
<string>(?i)(?&lt;=^|\s|\+|\-|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)(APPLICATION_QUERY|LIBRARYGLOBAL)(?=$|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)</string>
186+
<key>name</key>
187+
<string>keyword.gdl.request</string>
188+
</dict>
189+
<dict>
190+
<key>match</key>
191+
<string>(?i)(?&lt;=^|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)(GLOB_(SCRIPT_TYPE|CONTEXT|SCALE|NORTH_DIR|DRAWING_BGD_PEN|MODPAR_NAME|WORLD_ORIGO_OFFSET_(X|Y)|FRAME_NR|(FIRST|LAST)_FRAME|(EYE|TARG)POS_(X|Y|Z)|SUN_A(ZIMUTH|LTITUDE)|UI_BUTTON_ID|CUTPLANES_INFO|STRUCTURE_DISPLAY))(?=$|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)</string>
192+
<key>name</key>
193+
<string>keyword.gdl.globals.general</string>
194+
</dict>
195+
<dict>
196+
<key>match</key>
197+
<string>(?i)(?&lt;=^|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)(GLOB_((H|C)STORY_(ELEV|HEIGHT)|CH_STORY_DIST))(?=$|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)</string>
198+
<key>name</key>
199+
<string>keyword.gdl.globals.story</string>
200+
</dict>
201+
<dict>
202+
<key>match</key>
203+
<string>(?i)(?&lt;=^|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)(GLOB_(LAYER|ID|INTGUID|ELEVATION|ELEM_TYPE))(?=$|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)</string>
204+
<key>name</key>
205+
<string>keyword.gdl.globals.elementparameters</string>
206+
</dict>
207+
<dict>
208+
<key>match</key>
209+
<string>(?i)(?&lt;=^|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)(SYMB_(LINETYPE|FILL(_PEN)?)|(FBGD|SECT|VIEW)+_PEN|MAT|POS_(X|Y|Z)+|ROTANGLE|MIRRORED|(A|B|Z)+_SIZE)(?=$|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)</string>
210+
<key>name</key>
211+
<string>keyword.gdl.globals.objectparameters</string>
212+
</dict>
213+
<dict>
214+
<key>match</key>
215+
<string>(?i)(?&lt;=^|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)(GLOB_USER_([1-9]\b|[1][0-9]|20))(?=$|\s|\+|\-|\^|\/|\=|&lt;|&gt;|&lt;\=|&gt;\=|&lt;&gt;|\#)</string>
216+
<key>name</key>
217+
<string>keyword.gdl.globals.user</string>
218+
</dict>
219+
<dict>
220+
<key>match</key>
221+
<string>(?i)(\btrue\b)</string>
222+
<key>name</key>
223+
<string>constant.language.boolean.true.gdl</string>
224+
</dict>
225+
<dict>
226+
<key>match</key>
227+
<string>(?i)(\bfalse\b)</string>
228+
<key>name</key>
229+
<string>constant.language.boolean.false.gdl</string>
230+
</dict>
231+
</array>
232+
<key>scopeName</key>
233+
<string>source.gdl</string>
234+
<key>uuid</key>
235+
<string>3e79e12f-e30e-467c-9c74-2e92e2a183cd</string>
236+
</dict>
237+
</plist>

0 commit comments

Comments
 (0)