[gtksourceview: 1/3] javascript.lang (and family): Add support for Unicode identifiers



commit 72bdab39cc565cab09d32fcb26a025cb97eb093a
Author: Jeffery To <jeffery to gmail com>
Date:   Fri Nov 15 06:54:52 2019 +0800

    javascript.lang (and family): Add support for Unicode identifiers
    
    This may not be a user-visible change for JavaScript and TypeScript
    code, as identifiers are not highlighted, but this also impacts JSX and
    TypeScript JSX element names, which are based on the same set of
    characters.

 data/language-specs/javascript-expressions.lang    |  3 ++-
 .../javascript-functions-classes.lang              |  3 ++-
 data/language-specs/javascript-literals.lang       |  3 ++-
 data/language-specs/javascript-modules.lang        |  3 ++-
 data/language-specs/javascript-statements.lang     |  3 ++-
 data/language-specs/javascript-values.lang         |  3 ++-
 data/language-specs/javascript.lang                | 18 +++++++++-------
 data/language-specs/jsdoc.lang                     |  3 ++-
 data/language-specs/jsx.lang                       |  3 ++-
 data/language-specs/objj.lang                      |  3 ++-
 data/language-specs/typescript-js-expressions.lang |  3 ++-
 .../typescript-js-functions-classes.lang           |  3 ++-
 data/language-specs/typescript-js-literals.lang    |  3 ++-
 data/language-specs/typescript-js-modules.lang     |  3 ++-
 data/language-specs/typescript-js-statements.lang  |  3 ++-
 data/language-specs/typescript-js-values.lang      |  3 ++-
 data/language-specs/typescript-jsx.lang            |  3 ++-
 .../typescript-type-expressions.lang               |  3 ++-
 data/language-specs/typescript-type-generics.lang  |  3 ++-
 data/language-specs/typescript-type-literals.lang  |  3 ++-
 data/language-specs/typescript.lang                |  3 ++-
 tests/syntax-highlighting/file.j                   | 20 ++++++++++++++++++
 tests/syntax-highlighting/file.js                  | 20 ++++++++++++++++++
 tests/syntax-highlighting/file.jsx                 | 24 ++++++++++++++++++++++
 tests/syntax-highlighting/file.ts                  | 20 ++++++++++++++++++
 tests/syntax-highlighting/file.tsx                 | 24 ++++++++++++++++++++++
 26 files changed, 159 insertions(+), 27 deletions(-)
---
diff --git a/data/language-specs/javascript-expressions.lang b/data/language-specs/javascript-expressions.lang
index 46a276c8..c07f177d 100644
--- a/data/language-specs/javascript-expressions.lang
+++ b/data/language-specs/javascript-expressions.lang
@@ -25,7 +25,8 @@
 
 -->
 <language id="js-expr" name="JavaScript Expressions" version="2.0" _section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/javascript-functions-classes.lang 
b/data/language-specs/javascript-functions-classes.lang
index ad400bab..8646236c 100644
--- a/data/language-specs/javascript-functions-classes.lang
+++ b/data/language-specs/javascript-functions-classes.lang
@@ -25,7 +25,8 @@
 
 -->
 <language id="js-fn" name="JavaScript Functions and Classes" version="2.0" _section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/javascript-literals.lang b/data/language-specs/javascript-literals.lang
index 818d176a..5d046cb8 100644
--- a/data/language-specs/javascript-literals.lang
+++ b/data/language-specs/javascript-literals.lang
@@ -25,7 +25,8 @@
 
 -->
 <language id="js-lit" name="JavaScript Literals" version="2.0" _section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/javascript-modules.lang b/data/language-specs/javascript-modules.lang
index 57119030..92748af5 100644
--- a/data/language-specs/javascript-modules.lang
+++ b/data/language-specs/javascript-modules.lang
@@ -25,7 +25,8 @@
 
 -->
 <language id="js-mod" name="JavaScript Modules" version="2.0" _section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/javascript-statements.lang b/data/language-specs/javascript-statements.lang
index 25f0bbe5..a3a78219 100644
--- a/data/language-specs/javascript-statements.lang
+++ b/data/language-specs/javascript-statements.lang
@@ -25,7 +25,8 @@
 
 -->
 <language id="js-st" name="JavaScript Statements" version="2.0" _section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/javascript-values.lang b/data/language-specs/javascript-values.lang
index c1e41d5a..53f25b5e 100644
--- a/data/language-specs/javascript-values.lang
+++ b/data/language-specs/javascript-values.lang
@@ -25,7 +25,8 @@
 
 -->
 <language id="js-val" name="JavaScript Built-in Values" version="2.0" _section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/javascript.lang b/data/language-specs/javascript.lang
index 0ba66d83..7fee198f 100644
--- a/data/language-specs/javascript.lang
+++ b/data/language-specs/javascript.lang
@@ -119,7 +119,8 @@
 
   </styles>
 
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
@@ -198,17 +199,20 @@
     </define-regex> <!-- /unicode-escape -->
 
     <!-- <IdentifierStart> -->
-    <!-- should include all Unicode ID_Start code points -->
     <define-regex id="identifier-start" extended="true">
-      (?: [a-zA-Z_$] | \%{unicode-escape} )
+      (?: \%{def:unicode-id-start} | [$_] | \%{unicode-escape} )
     </define-regex> <!-- /identifier-start -->
 
-    <!-- for lookbehinds -->
-    <define-regex id="identifier-char">[a-zA-Z0-9_$]</define-regex>
+    <!-- for lookbehinds
+
+         U+200C Zero-width non-joiner <ZWNJ>
+         U+200D Zero-width joiner <ZWJ>
+    -->
+    <define-regex id="identifier-char" extended="true">
+      (?: \%{def:unicode-id-continue} | [$\x{200C}\x{200D}] )
+    </define-regex> <!-- /identifier-char -->
 
     <!-- <IdentifierPart> -->
-    <!-- should include all Unicode ID_Continue code points,
-         ZWNJ / ZWJ -->
     <define-regex id="identifier-part" extended="true">
       (?: \%{identifier-char} | \%{unicode-escape} )
     </define-regex> <!-- /identifier-part -->
diff --git a/data/language-specs/jsdoc.lang b/data/language-specs/jsdoc.lang
index c55633e9..35385ccc 100644
--- a/data/language-specs/jsdoc.lang
+++ b/data/language-specs/jsdoc.lang
@@ -34,7 +34,8 @@
     <style id="escape"      name="Escape"/>
   </styles>
 
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/jsx.lang b/data/language-specs/jsx.lang
index 63942bd8..c0f7acb7 100644
--- a/data/language-specs/jsx.lang
+++ b/data/language-specs/jsx.lang
@@ -36,7 +36,8 @@
     <style id="child-expression"      name="Child expression"/>
   </styles>
 
-  <keyword-char-class>[a-zA-Z0-9_$-]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/objj.lang b/data/language-specs/objj.lang
index 6a6c6917..bdc14675 100644
--- a/data/language-specs/objj.lang
+++ b/data/language-specs/objj.lang
@@ -36,7 +36,8 @@
     <style id="type"  name="Data type"  map-to="def:type"/>
   </styles>
 
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-js-expressions.lang 
b/data/language-specs/typescript-js-expressions.lang
index bc1b4eb3..59007417 100644
--- a/data/language-specs/typescript-js-expressions.lang
+++ b/data/language-specs/typescript-js-expressions.lang
@@ -21,7 +21,8 @@
 
 -->
 <language id="typescript-js-expr" name="TypeScript JavaScript Expression Additions" version="2.0" 
_section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-js-functions-classes.lang 
b/data/language-specs/typescript-js-functions-classes.lang
index 02db5566..eeb8a82d 100644
--- a/data/language-specs/typescript-js-functions-classes.lang
+++ b/data/language-specs/typescript-js-functions-classes.lang
@@ -21,7 +21,8 @@
 
 -->
 <language id="typescript-js-fn" name="TypeScript JavaScript Function and Class Additions" version="2.0" 
_section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-js-literals.lang b/data/language-specs/typescript-js-literals.lang
index 66f25cb0..88e16467 100644
--- a/data/language-specs/typescript-js-literals.lang
+++ b/data/language-specs/typescript-js-literals.lang
@@ -21,7 +21,8 @@
 
 -->
 <language id="typescript-js-lit" name="TypeScript JavaScript Literal Additions" version="2.0" 
_section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-js-modules.lang b/data/language-specs/typescript-js-modules.lang
index 90a154a7..e7505bc3 100644
--- a/data/language-specs/typescript-js-modules.lang
+++ b/data/language-specs/typescript-js-modules.lang
@@ -21,7 +21,8 @@
 
 -->
 <language id="typescript-js-mod" name="TypeScript JavaScript Module Additions" version="2.0" 
_section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-js-statements.lang 
b/data/language-specs/typescript-js-statements.lang
index 87f6cf71..3a633685 100644
--- a/data/language-specs/typescript-js-statements.lang
+++ b/data/language-specs/typescript-js-statements.lang
@@ -21,7 +21,8 @@
 
 -->
 <language id="typescript-js-st" name="TypeScript JavaScript Statement Additions" version="2.0" 
_section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-js-values.lang b/data/language-specs/typescript-js-values.lang
index 1ed420ee..ea9b769f 100644
--- a/data/language-specs/typescript-js-values.lang
+++ b/data/language-specs/typescript-js-values.lang
@@ -21,7 +21,8 @@
 
 -->
 <language id="typescript-js-val" name="TypeScript JavaScript Built-in Value Additions" version="2.0" 
_section="Script" hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-jsx.lang b/data/language-specs/typescript-jsx.lang
index e9c50f90..9d638120 100644
--- a/data/language-specs/typescript-jsx.lang
+++ b/data/language-specs/typescript-jsx.lang
@@ -29,7 +29,8 @@
     <property name="block-comment-end">*/</property>
   </metadata>
 
-  <keyword-char-class>[a-zA-Z0-9_$-]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-type-expressions.lang 
b/data/language-specs/typescript-type-expressions.lang
index ca245c61..886c3adb 100644
--- a/data/language-specs/typescript-type-expressions.lang
+++ b/data/language-specs/typescript-type-expressions.lang
@@ -21,7 +21,8 @@
 
 -->
 <language id="typescript-type-expr" name="TypeScript Type Expressions" version="2.0" _section="Script" 
hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-type-generics.lang 
b/data/language-specs/typescript-type-generics.lang
index b57efdda..6229349e 100644
--- a/data/language-specs/typescript-type-generics.lang
+++ b/data/language-specs/typescript-type-generics.lang
@@ -21,7 +21,8 @@
 
 -->
 <language id="typescript-type-gen" name="TypeScript Type Generics" version="2.0" _section="Script" 
hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript-type-literals.lang 
b/data/language-specs/typescript-type-literals.lang
index e387fbab..960c8f9c 100644
--- a/data/language-specs/typescript-type-literals.lang
+++ b/data/language-specs/typescript-type-literals.lang
@@ -21,7 +21,8 @@
 
 -->
 <language id="typescript-type-lit" name="TypeScript Type Literals" version="2.0" _section="Script" 
hidden="true">
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/data/language-specs/typescript.lang b/data/language-specs/typescript.lang
index 897e3d74..6f079af1 100644
--- a/data/language-specs/typescript.lang
+++ b/data/language-specs/typescript.lang
@@ -88,7 +88,8 @@
     <style id="type-alias-declaration"                        name="Type alias declaration"/>
   </styles>
 
-  <keyword-char-class>[a-zA-Z0-9_$]</keyword-char-class>
+  <!-- from js:identifier-char -->
+  
<keyword-char-class>[\p{L}\p{Nl}\x{1885}-\x{1886}\x{2118}\x{212E}\x{309B}-\x{309C}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{00B7}\x{0387}\x{1369}-\x{1371}\x{19DA}$\x{200C}\x{200D}]</keyword-char-class>
 
   <definitions>
 
diff --git a/tests/syntax-highlighting/file.j b/tests/syntax-highlighting/file.j
index 8e6ee41d..5779534e 100644
--- a/tests/syntax-highlighting/file.j
+++ b/tests/syntax-highlighting/file.j
@@ -299,6 +299,26 @@ message
 
 // from file.js
 
+/*
+ * Identifiers
+ */
+
+var example;
+function example() {}
+
+var príklad;
+function príklad() {}
+
+var 例子;
+function 例子() {}
+
+var $jquery;
+function _lodash() {}
+
+var \u0075nicod\u{65};
+function \u0075nicod\u{65}() {}
+
+
 /*
  * Expressions (in expression statements)
  */
diff --git a/tests/syntax-highlighting/file.js b/tests/syntax-highlighting/file.js
index 134fd303..cd123b95 100644
--- a/tests/syntax-highlighting/file.js
+++ b/tests/syntax-highlighting/file.js
@@ -1,3 +1,23 @@
+/*
+ * Identifiers
+ */
+
+var example;
+function example() {}
+
+var príklad;
+function príklad() {}
+
+var 例子;
+function 例子() {}
+
+var $jquery;
+function _lodash() {}
+
+var \u0075nicod\u{65};
+function \u0075nicod\u{65}() {}
+
+
 /*
  * Expressions (in expression statements)
  */
diff --git a/tests/syntax-highlighting/file.jsx b/tests/syntax-highlighting/file.jsx
index 39c8a389..2a6ca4a8 100644
--- a/tests/syntax-highlighting/file.jsx
+++ b/tests/syntax-highlighting/file.jsx
@@ -4,6 +4,10 @@
 
 // Element name
 ( <div></div> );
+( <príklad></príklad> );
+( <例子></例子> );
+( <$jquery></$jquery> );
+( <\u0075nicod\u{65}></\u0075nicod\u{65}> );
 ( <my-custom-component></my-custom-component> );
 ( <namespace:component></namespace:component> );
 ( <Module.Sub.Component></Module.Sub.Component> );
@@ -51,6 +55,26 @@
 
 // from file.js
 
+/*
+ * Identifiers
+ */
+
+var example;
+function example() {}
+
+var príklad;
+function príklad() {}
+
+var 例子;
+function 例子() {}
+
+var $jquery;
+function _lodash() {}
+
+var \u0075nicod\u{65};
+function \u0075nicod\u{65}() {}
+
+
 /*
  * Expressions (in expression statements)
  */
diff --git a/tests/syntax-highlighting/file.ts b/tests/syntax-highlighting/file.ts
index c9b84f1d..ff22762d 100644
--- a/tests/syntax-highlighting/file.ts
+++ b/tests/syntax-highlighting/file.ts
@@ -602,6 +602,26 @@ let a!: number;
 
 // from file.js
 
+/*
+ * Identifiers
+ */
+
+var example;
+function example() {}
+
+var príklad;
+function príklad() {}
+
+var 例子;
+function 例子() {}
+
+var $jquery;
+function _lodash() {}
+
+var \u0075nicod\u{65};
+function \u0075nicod\u{65}() {}
+
+
 /*
  * Expressions (in expression statements)
  */
diff --git a/tests/syntax-highlighting/file.tsx b/tests/syntax-highlighting/file.tsx
index d6690650..63351b7f 100644
--- a/tests/syntax-highlighting/file.tsx
+++ b/tests/syntax-highlighting/file.tsx
@@ -51,6 +51,10 @@ a = <GenericComponent<string> a={10} b="hi"/>;
 
 // Element name
 ( <div></div> );
+( <príklad></príklad> );
+( <例子></例子> );
+( <$jquery></$jquery> );
+( <\u0075nicod\u{65}></\u0075nicod\u{65}> );
 ( <my-custom-component></my-custom-component> );
 ( <namespace:component></namespace:component> );
 ( <Module.Sub.Component></Module.Sub.Component> );
@@ -706,6 +710,26 @@ let a!: number;
 
 // from file.js
 
+/*
+ * Identifiers
+ */
+
+var example;
+function example() {}
+
+var príklad;
+function príklad() {}
+
+var 例子;
+function 例子() {}
+
+var $jquery;
+function _lodash() {}
+
+var \u0075nicod\u{65};
+function \u0075nicod\u{65}() {}
+
+
 /*
  * Expressions (in expression statements)
  */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]