[gtksourceview: 9/13] javascript.lang (and family): Set prefix/suffix for keyword contexts
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview: 9/13] javascript.lang (and family): Set prefix/suffix for keyword contexts
- Date: Tue, 2 Jun 2020 18:35:16 +0000 (UTC)
commit f98232da5fb5bce5fbc7c0c988c9ff79d76b2bc6
Author: Jeffery To <jeffery to gmail com>
Date: Sun May 31 08:35:36 2020 +0800
javascript.lang (and family): Set prefix/suffix for keyword contexts
Keyword contexts have \%[ and \%] as default patterns for <prefix> and
<suffix>.
This replaces these word boundaries with custom regexes that only test
"outside" the keyword.
data/language-specs/javascript-expressions.lang | 2 +
.../javascript-functions-classes.lang | 4 +
data/language-specs/javascript-literals.lang | 2 +
data/language-specs/javascript-modules.lang | 2 +
data/language-specs/javascript-statements.lang | 2 +
data/language-specs/javascript-values.lang | 108 +++++++++++++++++++++
data/language-specs/javascript.lang | 8 ++
data/language-specs/objj.lang | 21 ++++
.../typescript-js-functions-classes.lang | 4 +
data/language-specs/typescript-type-literals.lang | 2 +
data/language-specs/typescript.lang | 4 +
11 files changed, 159 insertions(+)
---
diff --git a/data/language-specs/javascript-expressions.lang b/data/language-specs/javascript-expressions.lang
index 877ba2f3..75ea7cbb 100644
--- a/data/language-specs/javascript-expressions.lang
+++ b/data/language-specs/javascript-expressions.lang
@@ -404,6 +404,8 @@
<context ref="_increment-decrement-operators"/>
<context id="_keyword-unary-operators" style-ref="js:keyword">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>await</keyword> <!-- ES2017 -->
<keyword>delete</keyword>
<keyword>typeof</keyword>
diff --git a/data/language-specs/javascript-functions-classes.lang
b/data/language-specs/javascript-functions-classes.lang
index 736fea81..959a4d09 100644
--- a/data/language-specs/javascript-functions-classes.lang
+++ b/data/language-specs/javascript-functions-classes.lang
@@ -242,6 +242,8 @@
<include>
<context id="_choice-method-definition-modifier-keyword" style-ref="js:keyword"
end-parent="true">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>get</keyword>
<keyword>set</keyword>
</context> <!-- /_choice-method-definition-modifier-keyword -->
@@ -389,6 +391,8 @@
<include>
<context id="_choice-class-body-member-modifier-keyword" style-ref="js:keyword"
end-parent="true">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>static</keyword>
</context> <!-- /_choice-class-body-member-modifier-keyword -->
diff --git a/data/language-specs/javascript-literals.lang b/data/language-specs/javascript-literals.lang
index c77bf722..6501a710 100644
--- a/data/language-specs/javascript-literals.lang
+++ b/data/language-specs/javascript-literals.lang
@@ -46,6 +46,8 @@
<!-- <BooleanLiteral> -->
<context id="boolean" style-ref="js:boolean">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>false</keyword>
<keyword>true</keyword>
</context> <!-- /boolean -->
diff --git a/data/language-specs/javascript-modules.lang b/data/language-specs/javascript-modules.lang
index 8215d1db..f5e9ca91 100644
--- a/data/language-specs/javascript-modules.lang
+++ b/data/language-specs/javascript-modules.lang
@@ -140,6 +140,8 @@
<include>
<context id="_name-group-keywords" style-ref="js:keyword">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>default</keyword>
</context> <!-- /_name-group-keywords -->
diff --git a/data/language-specs/javascript-statements.lang b/data/language-specs/javascript-statements.lang
index f8d04909..2230b0b9 100644
--- a/data/language-specs/javascript-statements.lang
+++ b/data/language-specs/javascript-statements.lang
@@ -251,6 +251,8 @@
<include>
<context id="_choice-for-statement-modifier-keyword" style-ref="js:keyword" end-parent="true">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>await</keyword> <!-- ES2018 -->
</context> <!-- /_choice-for-statement-modifier-keyword -->
diff --git a/data/language-specs/javascript-values.lang b/data/language-specs/javascript-values.lang
index 21d50bcd..3a60ac90 100644
--- a/data/language-specs/javascript-values.lang
+++ b/data/language-specs/javascript-values.lang
@@ -51,6 +51,8 @@
<!-- 18.1 Value Properties of the Global Object -->
<context id="_values" style-ref="js:built-in-value">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>Infinity</keyword>
<keyword>NaN</keyword>
<keyword>undefined</keyword>
@@ -58,6 +60,8 @@
<!-- 18.2 Function Properties of the Global Object -->
<context id="_functions" style-ref="js:built-in-function">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>decodeURIComponent</keyword>
<keyword>decodeURI</keyword>
<keyword>encodeURIComponent</keyword>
@@ -70,6 +74,8 @@
</context> <!-- /_functions -->
<context id="_constructors" style-ref="js:built-in-constructor">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>ArrayBuffer</keyword>
<keyword>Array</keyword>
<keyword>BigInt</keyword> <!-- ES2020 -->
@@ -107,6 +113,8 @@
</context> <!-- /_constructors -->
<context id="_objects" style-ref="js:built-in-object">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>Intl</keyword>
<keyword>JSON</keyword>
<keyword>Math</keyword>
@@ -114,6 +122,8 @@
</context> <!-- /_objects -->
<context id="_object-keywords" style-ref="js:keyword">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>arguments</keyword>
<keyword>globalThis</keyword> <!-- ES2020 -->
<keyword>super</keyword>
@@ -166,6 +176,8 @@
<include>
<context id="_intl-constructors" style-ref="js:built-in-constructor">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>Collator</keyword>
<keyword>DateTimeFormat</keyword>
<keyword>NumberFormat</keyword>
@@ -173,6 +185,8 @@
</context> <!-- /_intl-constructors -->
<context id="_webassembly-constructors" style-ref="js:built-in-constructor">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>CompileError</keyword>
<keyword>Global</keyword>
<keyword>Instance</keyword>
@@ -184,10 +198,14 @@
</context> <!-- /_webassembly-constructors -->
<context id="_array-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>length</keyword>
</context> <!-- /_array-properties -->
<context id="_array-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>concat</keyword>
<keyword>copyWithin</keyword>
<keyword>entries</keyword>
@@ -222,27 +240,37 @@
</context> <!-- /_array-methods -->
<context id="_arraybuffer-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>byteLength</keyword>
</context> <!-- /_arraybuffer-properties -->
<context id="_arraybuffer-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>isView</keyword>
<keyword>slice</keyword>
</context> <!-- /_arraybuffer-methods -->
<!-- ES2020 -->
<context id="_bigint-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>asIntN</keyword>
<keyword>asUintN</keyword>
</context> <!-- /_bigint-methods -->
<context id="_dataview-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>buffer</keyword>
<keyword>byteLength</keyword>
<keyword>byteOffset</keyword>
</context> <!-- /_dataview-properties -->
<context id="_dataview-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>getFloat32</keyword>
<keyword>getFloat64</keyword>
<keyword>getInt16</keyword>
@@ -262,6 +290,8 @@
</context> <!-- /_dataview-methods -->
<context id="_date-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>getDate</keyword>
<keyword>getDay</keyword>
<keyword>getFullYear</keyword>
@@ -308,28 +338,38 @@
</context> <!-- /_date-methods -->
<context id="_error-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>message</keyword>
<keyword>name</keyword>
</context> <!-- /_error-properties -->
<context id="_function-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>length</keyword>
<keyword>name</keyword>
</context> <!-- /_function-properties -->
<context id="_function-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>apply</keyword>
<keyword>bind</keyword>
<keyword>call</keyword>
</context> <!-- /_function-methods -->
<context id="_generator-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>next</keyword>
<keyword>return</keyword>
<keyword>throw</keyword>
</context> <!-- /_generator-methods -->
<context id="_intl-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>formatToParts</keyword> <!-- common to intl format object instances -->
<keyword>format</keyword> <!-- common to intl format object instances -->
<keyword>getCanonicalLocales</keyword>
@@ -338,23 +378,33 @@
</context> <!-- /_intl-methods -->
<context id="_intl-collator-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>compare</keyword>
</context> <!-- /_intl-collator-methods -->
<context id="_intl-pluralrules-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>select</keyword>
</context> <!-- /_intl-pluralrules-methods -->
<context id="_json-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>parse</keyword>
<keyword>stringify</keyword>
</context> <!-- /_json-methods -->
<context id="_map-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>size</keyword>
</context> <!-- /_map-properties -->
<context id="_map-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>clear</keyword>
<keyword>delete</keyword>
<keyword>entries</keyword>
@@ -367,6 +417,8 @@
</context> <!-- /_map-methods -->
<context id="_math-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>E</keyword>
<keyword>LN10</keyword>
<keyword>LN2</keyword>
@@ -378,6 +430,8 @@
</context> <!-- /_math-properties -->
<context id="_math-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>abs</keyword>
<keyword>acosh</keyword>
<keyword>acos</keyword>
@@ -416,6 +470,8 @@
</context> <!-- /_math-methods -->
<context id="_number-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>EPSILON</keyword>
<keyword>MAX_SAFE_INTEGER</keyword>
<keyword>MAX_VALUE</keyword>
@@ -427,6 +483,8 @@
</context> <!-- /_number-properties -->
<context id="_number-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>isFinite</keyword>
<keyword>isInteger</keyword>
<keyword>isNaN</keyword>
@@ -439,11 +497,15 @@
</context> <!-- /_number-methods -->
<context id="_object-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>constructor</keyword>
<keyword>prototype</keyword>
</context> <!-- /_object-properties -->
<context id="_object-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>assign</keyword>
<keyword>create</keyword>
<keyword>defineProperties</keyword>
@@ -474,6 +536,8 @@
</context> <!-- /_object-methods -->
<context id="_promise-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>allSettled</keyword> <!-- ES2020 -->
<keyword>all</keyword>
<keyword>catch</keyword>
@@ -485,10 +549,14 @@
</context> <!-- /_promise-methods -->
<context id="_proxy-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>revocable</keyword>
</context> <!-- /_proxy-methods -->
<context id="_reflect-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>apply</keyword>
<keyword>construct</keyword>
<keyword>defineProperty</keyword>
@@ -505,6 +573,8 @@
</context> <!-- /_reflect-methods -->
<context id="_regexp-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>flags</keyword>
<keyword>global</keyword>
<keyword>ignoreCase</keyword>
@@ -516,15 +586,21 @@
</context> <!-- /_regexp-properties -->
<context id="_regexp-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>exec</keyword>
<keyword>test</keyword>
</context> <!-- /_regexp-methods -->
<context id="_set-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>size</keyword>
</context> <!-- /_set-properties -->
<context id="_set-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>add</keyword>
<keyword>clear</keyword>
<keyword>delete</keyword>
@@ -536,10 +612,14 @@
</context> <!-- /_set-methods -->
<context id="_string-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>length</keyword>
</context> <!-- /_string-properties -->
<context id="_string-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>charAt</keyword>
<keyword>charCodeAt</keyword>
<keyword>codePointAt</keyword>
@@ -574,6 +654,8 @@
</context> <!-- /_string-methods -->
<context id="_symbol-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>asyncIterator</keyword> <!-- ES2018 -->
<keyword>description</keyword> <!-- ES2019 -->
<keyword>hasInstance</keyword>
@@ -591,6 +673,8 @@
</context> <!-- /_symbol-properties -->
<context id="_symbol-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>for</keyword>
<keyword>keyFor</keyword>
</context> <!-- /_symbol-methods -->
@@ -607,6 +691,8 @@
* Uint8ClampedArray
-->
<context id="_typedarray-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>buffer</keyword>
<keyword>byteLength</keyword>
<keyword>byteOffset</keyword>
@@ -616,6 +702,8 @@
</context> <!-- /_typedarray-properties -->
<context id="_typedarray-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>copyWithin</keyword>
<keyword>entries</keyword>
<keyword>every</keyword>
@@ -643,6 +731,8 @@
</context> <!-- /_typedarray-methods -->
<context id="_weakmap-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>delete</keyword>
<keyword>get</keyword>
<keyword>has</keyword>
@@ -650,12 +740,16 @@
</context> <!-- /_weakmap-methods -->
<context id="_weakset-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>add</keyword>
<keyword>delete</keyword>
<keyword>has</keyword>
</context> <!-- /_weakset-methods -->
<context id="_webassembly-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>compileStreaming</keyword>
<keyword>compile</keyword>
<keyword>instantiateStreaming</keyword>
@@ -664,32 +758,46 @@
</context> <!-- /_webassembly-methods -->
<context id="_webassembly-instance-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>exports</keyword>
</context> <!-- /_webassembly-instance-properties -->
<context id="_webassembly-global-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>value</keyword>
</context> <!-- /_webassembly-global-properties -->
<context id="_webassembly-module-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>customSections</keyword>
<keyword>exports</keyword>
<keyword>imports</keyword>
</context> <!-- /_webassembly-module-methods -->
<context id="_webassembly-memory-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>buffer</keyword>
</context> <!-- /_webassembly-memory-properties -->
<context id="_webassembly-memory-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>grow</keyword>
</context> <!-- /_webassembly-memory-methods -->
<context id="_webassembly-table-properties" style-ref="js:built-in-property">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>length</keyword>
</context> <!-- /_webassembly-table-properties -->
<context id="_webassembly-table-methods" style-ref="js:built-in-method">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>get</keyword>
<keyword>grow</keyword>
<keyword>set</keyword>
diff --git a/data/language-specs/javascript.lang b/data/language-specs/javascript.lang
index 2c87661a..5e409511 100644
--- a/data/language-specs/javascript.lang
+++ b/data/language-specs/javascript.lang
@@ -420,6 +420,8 @@
<!-- <Keyword> -->
<context id="_keywords" style-ref="reserved-word">
+ <prefix>\%{keyword-start}</prefix>
+ <suffix>\%{keyword-end}</suffix>
<keyword>await</keyword> <!-- ES2017 -->
<keyword>break</keyword>
<keyword>case</keyword>
@@ -460,12 +462,16 @@
restrictions"
https://tc39.github.io/ecma262/#sec-keywords -->
<context id="_strict-mode-keywords" style-ref="reserved-word">
+ <prefix>\%{keyword-start}</prefix>
+ <suffix>\%{keyword-end}</suffix>
<keyword>let</keyword>
<keyword>static</keyword>
</context> <!-- /_strict-mode-keywords -->
<!-- <FutureReservedWord> -->
<context id="_future-reserved-words" style-ref="reserved-word">
+ <prefix>\%{keyword-start}</prefix>
+ <suffix>\%{keyword-end}</suffix>
<keyword>enum</keyword>
</context> <!-- /_future-reserved-words -->
@@ -473,6 +479,8 @@
restrictions"
https://tc39.github.io/ecma262/#sec-future-reserved-words -->
<context id="_strict-mode-future-reserved-words" style-ref="reserved-word">
+ <prefix>\%{keyword-start}</prefix>
+ <suffix>\%{keyword-end}</suffix>
<keyword>implements</keyword>
<keyword>interface</keyword>
<keyword>package</keyword>
diff --git a/data/language-specs/objj.lang b/data/language-specs/objj.lang
index 7fd00d16..d5b1ee40 100644
--- a/data/language-specs/objj.lang
+++ b/data/language-specs/objj.lang
@@ -94,6 +94,8 @@
<!-- ## Objective-J types -->
<context id="_common-types" style-ref="type">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>BOOL</keyword>
<keyword>byte</keyword>
<keyword>char</keyword>
@@ -112,11 +114,14 @@
<include>
<context id="_variable-only-type-keywords" style-ref="type">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>IBOutlet</keyword>
</context> <!-- /_variable-only-type-keywords -->
<context id="_variable-only-at-type-keywords" style-ref="type">
<prefix>@</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>outlet</keyword>
</context> <!-- /_variable-only-at-type-keywords -->
@@ -127,12 +132,15 @@
<include>
<context id="_method-return-only-type-keywords" style-ref="type">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>IBAction</keyword>
<keyword>void</keyword>
</context> <!-- /_method-return-only-type-keywords -->
<context id="_method-return-only-at-type-keywords" style-ref="type">
<prefix>@</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>action</keyword>
</context> <!-- /_method-return-only-at-type-keywords -->
@@ -187,6 +195,8 @@
<include>
<context id="_at-implementation-variable-declaration-accessor-modifier-keywords"
style-ref="js:keyword">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>copy</keyword>
<keyword>getter</keyword>
<keyword>property</keyword>
@@ -339,6 +349,7 @@
<context id="_at-protocol-at-keywords" style-ref="js:keyword">
<prefix>@</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>optional</keyword>
<keyword>required</keyword>
</context> <!-- /_at-protocol-at-keywords -->
@@ -502,17 +513,23 @@
<include>
<context id="_boolean-constants" style-ref="js:boolean">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>NO</keyword>
<keyword>YES</keyword>
</context> <!-- /_boolean-constants -->
<context id="_null-constants" style-ref="js:null-value">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>nil</keyword>
<keyword>Nil</keyword>
<keyword>NULL</keyword>
</context> <!-- /_null-constants -->
<context id="_math-constants" style-ref="js:built-in-value">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>E</keyword>
<keyword>LOG10E</keyword>
<keyword>LOG2E</keyword>
@@ -526,6 +543,8 @@
</context> <!-- /_math-constants -->
<context id="_math-functions" style-ref="js:built-in-function">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>ABS</keyword>
<keyword>ACOS</keyword>
<keyword>ASIN</keyword>
@@ -548,6 +567,8 @@
<!-- "super" is already highlighted by default -->
<context id="_object-keywords" style-ref="js:keyword">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>_cmd</keyword>
<keyword>self</keyword>
</context> <!-- /_object-keywords -->
diff --git a/data/language-specs/typescript-js-functions-classes.lang
b/data/language-specs/typescript-js-functions-classes.lang
index 6c629bff..da00c487 100644
--- a/data/language-specs/typescript-js-functions-classes.lang
+++ b/data/language-specs/typescript-js-functions-classes.lang
@@ -34,6 +34,8 @@
<!-- # Accessibility modifier -->
<context id="_accessibility-modifier" style-ref="js:keyword" once-only="true">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
@@ -265,6 +267,8 @@
<include>
<context id="_class-body-member-modifier-keywords" style-ref="js:keyword">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>abstract</keyword>
<keyword>declare</keyword>
<keyword>readonly</keyword>
diff --git a/data/language-specs/typescript-type-literals.lang
b/data/language-specs/typescript-type-literals.lang
index 541e17dd..eaec6b44 100644
--- a/data/language-specs/typescript-type-literals.lang
+++ b/data/language-specs/typescript-type-literals.lang
@@ -203,6 +203,8 @@
<include>
<context id="_choice-object-type-literal-modifier-keyword" style-ref="typescript:type-keyword"
end-parent="true">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>readonly</keyword>
</context> <!-- /_choice-object-type-literal-modifier-keyword -->
diff --git a/data/language-specs/typescript.lang b/data/language-specs/typescript.lang
index 33e2c4c9..80160f1f 100644
--- a/data/language-specs/typescript.lang
+++ b/data/language-specs/typescript.lang
@@ -262,6 +262,8 @@
<!-- ## Constructor modifier -->
<context id="constructor-modifier" style-ref="type-keyword" once-only="true">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>new</keyword>
</context> <!-- /constructor-modifier -->
@@ -448,6 +450,8 @@
<!-- ## Type name -->
<context id="_built-in-library-types" style-ref="built-in-library-type">
+ <prefix>\%{js:keyword-start}</prefix>
+ <suffix>\%{js:keyword-end}</suffix>
<keyword>Exclude</keyword>
<keyword>Extract</keyword>
<keyword>InstanceType</keyword>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]