Skip to content

Commit fd7868c

Browse files
committed
Add QML syntax to editor
Signed-off-by: Eugene San (eugenesan) <eugenesan@gmail.com>
1 parent 3befffc commit fd7868c

2 files changed

Lines changed: 383 additions & 0 deletions

File tree

misc/syntax/Syntax.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,5 +366,8 @@ include caddyfile.syntax
366366
file Dockerfile.\*$ Dockerfile
367367
include dockerfile.syntax
368368

369+
file .\*\\.qml$ QML\sFile
370+
include qml.syntax
371+
369372
file .\* unknown
370373
include unknown.syntax

misc/syntax/qml.syntax

Lines changed: 380 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,380 @@
1+
#
2+
# QML/JavaScript syntax highlighting
3+
# for MC Editor/CoolEdit
4+
#
5+
# Authors:
6+
# * Vlad Romanenko <VladRomanenko@ukr.net>
7+
# * Timur Shemsedinov <timur.shemsedinov@gmail.com>
8+
# * Pavel Roskin <proski@gnu.org>
9+
# * Milian Wolff <mail@milianw.de>
10+
# * Eugene Sanivsky <eugenesan@gmail.com>
11+
#
12+
# Based on c.syntax; includes js.syntax and borrows keywords from Kate's qml.xml
13+
#
14+
# 2026-02-20 - Eugene Sanivsky <eugenesan@gmail.com>
15+
# * Initial public release
16+
#
17+
18+
context default
19+
#=========================
20+
# Elements (http://doc.trolltech.com/4.7-snapshot/qmlelements.html)
21+
keyword whole State yellow
22+
keyword whole PropertyChanges yellow
23+
keyword whole StateGroup yellow
24+
keyword whole ParentChange yellow
25+
keyword whole StateChangeScript yellow
26+
keyword whole AnchorChanges yellow
27+
keyword whole PropertyAnimation yellow
28+
keyword whole NumberAnimation yellow
29+
keyword whole ColorAnimation yellow
30+
keyword whole SequentialAnimation yellow
31+
keyword whole ParallelAnimation yellow
32+
keyword whole PauseAnimation yellow
33+
keyword whole PropertyAction yellow
34+
keyword whole ParentAction yellow
35+
keyword whole ScriptAction yellow
36+
keyword whole Transition yellow
37+
keyword whole SpringFollow yellow
38+
keyword whole EaseFollow yellow
39+
keyword whole Behavior yellow
40+
keyword whole Binding yellow
41+
keyword whole ListModel yellow
42+
keyword whole ListElement yellow
43+
keyword whole VisualItemModel yellow
44+
keyword whole XmlListModel yellow
45+
keyword whole XmlRole yellow
46+
keyword whole DateTimeFormatter yellow
47+
keyword whole NumberFormatter yellow
48+
keyword whole Script yellow
49+
keyword whole Connections yellow
50+
keyword whole Component yellow
51+
keyword whole Timer yellow
52+
keyword whole QtObject yellow
53+
keyword whole Item yellow
54+
keyword whole Rectangle yellow
55+
keyword whole Image yellow
56+
keyword whole BorderImage yellow
57+
keyword whole Text yellow
58+
keyword whole TextInput yellow
59+
keyword whole TextEdit yellow
60+
keyword whole MouseArea yellow
61+
keyword whole FocusScope yellow
62+
keyword whole Flickable yellow
63+
keyword whole Flipable yellow
64+
keyword whole WebView yellow
65+
keyword whole Loader yellow
66+
keyword whole Repeater yellow
67+
keyword whole SystemPalette yellow
68+
keyword whole GraphicsObjectContainer yellow
69+
keyword whole LayoutItem yellow
70+
keyword whole ListView yellow
71+
keyword whole GridView yellow
72+
keyword whole PathView yellow
73+
keyword whole Path yellow
74+
keyword whole PathLine yellow
75+
keyword whole PathQuad yellow
76+
keyword whole PathCubic yellow
77+
keyword whole PathAttribute yellow
78+
keyword whole PathPercent yellow
79+
keyword whole Column yellow
80+
keyword whole Row yellow
81+
keyword whole Grid yellow
82+
keyword whole Scale yellow
83+
keyword whole Rotation yellow
84+
keyword whole Blur yellow
85+
keyword whole Colorize yellow
86+
keyword whole DropShadow yellow
87+
keyword whole Opacity yellow
88+
keyword whole Particles yellow
89+
keyword whole ParticleMotionLinear yellow
90+
keyword whole ParticleMotionGravity yellow
91+
keyword whole ParticleMotionWander yellow
92+
93+
# Some other items found in public code (need to be expanded)
94+
keyword whole Gradient yellow
95+
keyword whole GradientStop yellow
96+
keyword whole MouseRegion yellow
97+
keyword whole Enabled yellow
98+
99+
# keywords not part of JavaScript
100+
# extra-keywords
101+
keyword whole pragma yellow
102+
keyword whole readonly yellow
103+
keyword whole required yellow
104+
keyword whole signal yellow
105+
keyword whole alias yellow
106+
keyword whole model yellow
107+
keyword whole target yellow
108+
keyword whole parent yellow
109+
keyword whole value yellow
110+
keyword whole anchors yellow
111+
keyword whole when yellow
112+
keyword whole enum yellow
113+
114+
# types (http://doc.trolltech.com/4.7-snapshot/qml-extending-types.html)
115+
keyword whole string yellow
116+
keyword whole int yellow
117+
keyword whole bool yellow
118+
keyword whole date yellow
119+
keyword whole color yellow
120+
keyword whole url yellow
121+
keyword whole real yellow
122+
keyword whole double yellow
123+
keyword whole var yellow
124+
keyword whole variant yellow
125+
126+
# Class keywords
127+
keyword whole property brightcyan
128+
keyword whole id brightcyan
129+
keyword whole active brightcyan
130+
keyword whole inactive brightcyan
131+
keyword whole enabled brightcyan
132+
133+
#=========================
134+
# Keywords
135+
keyword whole arguments yellow
136+
keyword whole async yellow
137+
keyword whole await yellow
138+
keyword whole break yellow
139+
keyword whole caller yellow
140+
keyword whole case yellow
141+
keyword whole catch yellow
142+
keyword whole class yellow
143+
keyword whole const yellow
144+
keyword whole constructor yellow
145+
keyword whole continue yellow
146+
keyword whole debugger yellow
147+
keyword whole default yellow
148+
keyword whole delete yellow
149+
keyword whole do yellow
150+
keyword whole else yellow
151+
keyword whole export yellow
152+
keyword whole extends yellow
153+
keyword whole finally yellow
154+
keyword whole for yellow
155+
keyword whole function yellow
156+
keyword whole if yellow
157+
keyword whole import yellow
158+
keyword whole in yellow
159+
keyword whole instanceof yellow
160+
keyword whole let yellow
161+
keyword whole new yellow
162+
keyword whole of yellow
163+
keyword whole prototype yellow
164+
keyword whole return yellow
165+
keyword whole super yellow
166+
keyword whole switch yellow
167+
keyword whole this yellow
168+
keyword whole throw yellow
169+
keyword whole try yellow
170+
keyword whole typeof yellow
171+
keyword whole var yellow
172+
keyword whole void yellow
173+
keyword whole while yellow
174+
keyword whole with yellow
175+
keyword whole yield yellow
176+
177+
#=========================
178+
# Objects
179+
keyword whole AbortController yellow
180+
keyword whole AbortSignal yellow
181+
keyword whole AggregateError yellow
182+
keyword whole Array yellow
183+
keyword whole ArrayBuffer yellow
184+
keyword whole AsyncFunction yellow
185+
keyword whole AsyncGenerator yellow
186+
keyword whole AsyncGeneratorFunction yellow
187+
keyword whole Atomics yellow
188+
keyword whole BigInt64Array yellow
189+
keyword whole BigInt yellow
190+
keyword whole BigUint64Array yellow
191+
keyword whole Blob yellowOB
192+
keyword whole Boolean yellow
193+
keyword whole Buffer yellow
194+
keyword whole DataView yellow
195+
keyword whole Date yellow
196+
keyword whole DOMException yellow
197+
keyword whole Error yellow
198+
keyword whole EvalError yellow
199+
keyword whole Float32Array yellow
200+
keyword whole Float64Array yellow
201+
keyword whole Function yellow
202+
keyword whole Generator yellow
203+
keyword whole GeneratorFunction yellow
204+
keyword whole global yellow
205+
keyword whole globalThis yellow
206+
keyword whole Image yellow
207+
keyword whole Infinity yellow
208+
keyword whole Int16Array yellow
209+
keyword whole Int32Array yellow
210+
keyword whole Int8Array yellow
211+
keyword whole Intl yellow
212+
keyword whole JSON yellow
213+
keyword whole Map yellow
214+
keyword whole Math yellow
215+
keyword whole Number yellow
216+
keyword whole Object yellow
217+
keyword whole Promise yellow
218+
keyword whole Promise yellow
219+
keyword whole Proxy yellow
220+
keyword whole RangeError yellow
221+
keyword whole ReferenceError yellow
222+
keyword whole Reflect yellow
223+
keyword whole RegExp yellow
224+
keyword whole Set yellow
225+
keyword whole SharedArrayBuffer yellow
226+
keyword whole Symbol yellow
227+
keyword whole SyntaxError yellow
228+
keyword whole TextDecoder yellow
229+
keyword whole TypeError yellow
230+
keyword whole Uint16Array yellow
231+
keyword whole Uint32Array yellow
232+
keyword whole Uint8Array yellow
233+
keyword whole Uint8ClampedArray yellow
234+
keyword whole URIError yellow
235+
keyword whole URL yellow
236+
keyword whole URLSearchParams yellow
237+
keyword whole WeakMap yellow
238+
keyword whole WeakSet yellow
239+
keyword whole WebAssembly yellow
240+
keyword whole window yellow
241+
242+
#=========================
243+
# Most common functions
244+
keyword whole alert yellow
245+
keyword whole clearInterval yellow
246+
keyword whole clearTimeout yellow
247+
keyword whole console yellow
248+
keyword whole decodeURIComponent yellow
249+
keyword whole decodeURI yellow
250+
keyword whole encodeURIComponent yellow
251+
keyword whole escape yellow
252+
keyword whole eval yellow
253+
keyword whole fetch yellow
254+
keyword whole isFinite yellow
255+
keyword whole isNaN yellow
256+
keyword whole module yellow
257+
keyword whole parseFloat yellow
258+
keyword whole parseInt yellow
259+
keyword whole performance yellow
260+
keyword whole process yellow
261+
keyword whole queueMicrotask yellow
262+
keyword whole require yellow
263+
keyword whole setImmediate yellow
264+
keyword whole setInterval yellow
265+
keyword whole setTimeout yellow
266+
keyword whole structuredClone yellow
267+
keyword whole unescape yellow
268+
269+
#=========================
270+
# Constants
271+
keyword whole true brightgreen
272+
keyword whole false brightgreen
273+
keyword whole null brightgreen
274+
keyword whole undefined yellow
275+
keyword whole NaN yellow
276+
keyword whole __dirname yellow
277+
keyword whole __filename yellow
278+
279+
#=========================
280+
# Comments
281+
keyword /\* brown
282+
keyword \*/ brown
283+
keyword // brown
284+
285+
#=========================
286+
# Numbers
287+
wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.
288+
289+
keyword whole 0\{xX\}\{0123456789abcdefABCDEF\}\[0123456789abcdefABCDEF\] brightgreen
290+
keyword whole \{0123456789\}\[0123456789\] brightgreen
291+
keyword whole \[0123456789\]\.\{0123456789\}\[0123456789\] brightgreen
292+
keyword whole \{0123456789\}\[0123456789\]\.\[0123456789\] brightgreen
293+
keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen
294+
keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen
295+
keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen
296+
keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen
297+
298+
#=========================
299+
# Special symbols
300+
keyword => brightcyan
301+
keyword \. yellow
302+
keyword \* yellow
303+
keyword \+ yellow
304+
keyword - yellow
305+
keyword / yellow
306+
keyword % yellow
307+
keyword = yellow
308+
keyword ! yellow
309+
keyword & yellow
310+
keyword | yellow
311+
keyword ^ yellow
312+
keyword ~ yellow
313+
keyword > yellow
314+
keyword < yellow
315+
316+
#=========================
317+
# Separators
318+
keyword { brightcyan
319+
keyword } brightcyan
320+
keyword ( brightcyan
321+
keyword ) brightcyan
322+
keyword [ brightcyan
323+
keyword ] brightcyan
324+
keyword , brightcyan
325+
keyword ? brightcyan
326+
keyword : brightcyan
327+
keyword ; brightmagenta
328+
329+
330+
#=============================
331+
# Comments
332+
333+
context exclusive /\* \*/ brown
334+
spellcheck
335+
keyword whole BUG brightred
336+
keyword whole FixMe brightred
337+
keyword whole FIXME brightred
338+
keyword whole Note brightred
339+
keyword whole NOTE brightred
340+
keyword whole ToDo brightred
341+
keyword whole TODO brightred
342+
keyword !!\[!\] brightred
343+
keyword ??\[?\] brightred
344+
345+
346+
context exclusive // \n brown
347+
spellcheck
348+
keyword whole BUG brightred
349+
keyword whole FixMe brightred
350+
keyword whole FIXME brightred
351+
keyword whole Note brightred
352+
keyword whole NOTE brightred
353+
keyword whole ToDo brightred
354+
keyword whole TODO brightred
355+
keyword !!\[!\] brightred
356+
keyword ??\[?\] brightred
357+
358+
359+
#=============================
360+
# Strings
361+
362+
context " " green
363+
spellcheck
364+
keyword \\\{\\'"abtnvfr\} brightgreen
365+
keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
366+
367+
keyword ' brightgreen
368+
369+
context ' ' green
370+
spellcheck
371+
keyword \\\{\\'"abtnvfr\} brightgreen
372+
keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
373+
374+
keyword " brightgreen
375+
376+
context ` ` green
377+
spellcheck
378+
keyword \\\{\\'"abtnvfr\} brightgreen
379+
keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
380+
keyword ${*} yellow

0 commit comments

Comments
 (0)