[gtksourceview: 1/4] javascript.lang (and family): Rename "assignment target" contexts



commit 8c04b6a7ec6464b39ba368344d2a311279e5855e
Author: Jeffery To <jeffery to gmail com>
Date:   Wed Mar 25 20:54:41 2020 +0800

    javascript.lang (and family): Rename "assignment target" contexts
    
    Destructuring assignment (in assignment expressions) and destructuring
    binding (in variable declarations and function parameters) are
    conceptually similar but refer to different parts of the ES spec.
    
    This renames the "assignment target" contexts to "binding" (as they
    describe destructuring binding) to avoid confusion.

 .../javascript-functions-classes.lang              |   2 +-
 data/language-specs/javascript-statements.lang     |   2 +-
 data/language-specs/javascript.lang                | 121 +++++++++++----------
 .../typescript-js-functions-classes.lang           |   4 +-
 data/language-specs/typescript-js-statements.lang  |   2 +-
 .../typescript-type-expressions.lang               |  24 ++--
 data/language-specs/typescript.lang                |  22 ++--
 7 files changed, 89 insertions(+), 88 deletions(-)
---
diff --git a/data/language-specs/javascript-functions-classes.lang 
b/data/language-specs/javascript-functions-classes.lang
index 8646236c..80dd6b28 100644
--- a/data/language-specs/javascript-functions-classes.lang
+++ b/data/language-specs/javascript-functions-classes.lang
@@ -72,7 +72,7 @@
     <context id="_function-parameters-content">
       <include>
         <context ref="js:ordered-rest-syntax"/>
-        <context ref="js:ordered-assignment-target"/>
+        <context ref="js:ordered-binding"/>
         <context ref="js:ordered-default-value-assignment"/>
       </include>
     </context> <!-- /_function-parameters-content -->
diff --git a/data/language-specs/javascript-statements.lang b/data/language-specs/javascript-statements.lang
index a3a78219..18b199ce 100644
--- a/data/language-specs/javascript-statements.lang
+++ b/data/language-specs/javascript-statements.lang
@@ -757,7 +757,7 @@
 
     <context id="_variable-declaration-item-content">
       <include>
-        <context ref="js:ordered-assignment-target"/>
+        <context ref="js:ordered-binding"/>
         <context ref="js:ordered-default-value-assignment"/>
       </include>
     </context> <!-- /_variable-declaration-item-content -->
diff --git a/data/language-specs/javascript.lang b/data/language-specs/javascript.lang
index 4739ad3b..639c3999 100644
--- a/data/language-specs/javascript.lang
+++ b/data/language-specs/javascript.lang
@@ -75,8 +75,8 @@
     <style id="identifier"                    name="Identifier"/>
     <style id="rest-syntax"                   name="Rest syntax"/>
     <style id="spread-syntax"                 name="Spread syntax"/>
-    <style id="array-destructuring"           name="Array destructuring"/>
-    <style id="object-destructuring"          name="Object destructuring"/>
+    <style id="array-binding-pattern"         name="Array binding pattern"/>
+    <style id="object-binding-pattern"        name="Object binding pattern"/>
 
     <!-- Literals -->
     <style id="array-literal"                 name="Array literal"/>
@@ -636,170 +636,171 @@
     </context> <!-- /ordered-generator-modifier -->
 
 
-    <!-- # Assignment target -->
+    <!-- # Binding
 
-    <!-- ## Array destructuring
+         Patterns for where variable names are bound/created:
+         * Variable declarations
+         * Function parameters
 
-         [ a, b, ...rest ] = [ 1, 2, 3, 4 ]
-         [ a = 1, b = 2, c = 3 ] = [ 11, 12 ]
+         This is not used in assignment expressions; array/object
+         literals will match for array/object destructuring.
     -->
 
-    <context id="_array-destructuring-element-content">
+    <!-- ## Array binding pattern (destructuring)
+
+         var [ a, b, ...rest ] = [ 1, 2, 3, 4 ];
+         function fn([ a = 1, b = 2, c = 3 ]) { ... }
+    -->
+
+    <context id="_array-binding-pattern-element-content">
       <include>
         <context ref="ordered-rest-syntax"/>
-        <context ref="ordered-assignment-target"/>
+        <context ref="ordered-binding"/>
         <context ref="ordered-default-value-assignment"/>
       </include>
-    </context> <!-- /_array-destructuring-element-content -->
+    </context> <!-- /_array-binding-pattern-element-content -->
 
     <!-- <ArrayBindingPattern> -->
-    <context id="_choice-array-destructuring" style-ref="array-destructuring" end-parent="true">
+    <context id="_choice-array-binding-pattern" style-ref="array-binding-pattern" end-parent="true">
       <start>\[</start>
       <end>]</end>
       <include>
         <context ref="embedded-lang-hooks"/>
         <context ref="comments"/>
 
-        <context id="_array-destructuring-content">
+        <context id="_array-binding-pattern-content">
           <include>
 
-            <context id="_array-destructuring-first-element" once-only="true">
+            <context id="_array-binding-pattern-first-element" once-only="true">
               <start>\%{before-next-token}</start>
               <end>\%{before-next-token}</end>
               <include>
                 <context ref="embedded-lang-hooks"/>
                 <context ref="comments"/>
-                <context ref="_array-destructuring-element-content"/>
+                <context ref="_array-binding-pattern-element-content"/>
               </include>
-            </context> <!-- /_array-destructuring-first-element -->
+            </context> <!-- /_array-binding-pattern-first-element -->
 
-            <context id="_array-destructuring-elements">
+            <context id="_array-binding-pattern-elements">
               <start>,</start>
               <end>\%{before-next-token}</end>
               <include>
                 <context ref="embedded-lang-hooks"/>
                 <context ref="comments"/>
-                <context ref="_array-destructuring-element-content"/>
+                <context ref="_array-binding-pattern-element-content"/>
               </include>
-            </context> <!-- /_array-destructuring-elements -->
+            </context> <!-- /_array-binding-pattern-elements -->
 
           </include>
-        </context> <!-- /_array-destructuring-content -->
+        </context> <!-- /_array-binding-pattern-content -->
 
       </include>
-    </context> <!-- /_choice-array-destructuring -->
+    </context> <!-- /_choice-array-binding-pattern -->
 
-    <!-- ## Object destructuring
+    <!-- ## Object binding pattern (destructuring)
 
-         { a, y: b, ...rest } = { a: 1, y: 2, i: 3, y: 4 }
-         { a = 1, y: b = 2, c = 3 } = { a: 11, y: 12 }
+         var { a, y: b, ...rest } = { a: 1, y: 2, i: 3, y: 4 };
+         function fn({ a = 1, y: b = 2, c = 3 }) { ... }
     -->
 
-    <context id="_object-destructuring-assignment-target" once-only="true">
+    <context id="_object-binding-pattern-inner-binding" once-only="true">
       <start>:</start>
       <end>\%{before-next-token}</end>
       <include>
         <context ref="embedded-lang-hooks"/>
         <context ref="comments"/>
 
-        <context id="_object-destructuring-assignment-target-content">
+        <context id="_object-binding-pattern-inner-binding-content">
           <include>
-            <context ref="ordered-assignment-target"/>
+            <context ref="ordered-binding"/>
           </include>
-        </context> <!-- /_object-destructuring-assignment-target-content -->
+        </context> <!-- /_object-binding-pattern-inner-binding-content -->
 
       </include>
-    </context> <!-- /_object-destructuring-assignment-target -->
+    </context> <!-- /_object-binding-pattern-inner-binding -->
 
-    <context id="_ordered-object-destructuring-assignment-target" once-only="true">
+    <context id="_ordered-object-binding-pattern-inner-binding" once-only="true">
       <start>\%{before-next-token}</start>
       <end>\%{before-next-token}</end>
       <include>
-        <context ref="_object-destructuring-assignment-target"/>
+        <context ref="_object-binding-pattern-inner-binding"/>
       </include>
-    </context> <!-- /_ordered-object-destructuring-assignment-target -->
+    </context> <!-- /_ordered-object-binding-pattern-inner-binding -->
 
-    <context id="_object-destructuring-property-content">
+    <context id="_object-binding-pattern-property-content">
       <include>
         <context ref="ordered-rest-syntax"/> <!-- ES2018 -->
         <context ref="js-lit:ordered-property-name"/>
-        <context ref="_ordered-object-destructuring-assignment-target"/>
+        <context ref="_ordered-object-binding-pattern-inner-binding"/>
         <context ref="ordered-default-value-assignment"/>
       </include>
-    </context> <!-- /_object-destructuring-property-content -->
+    </context> <!-- /_object-binding-pattern-property-content -->
 
     <!-- <ObjectBindingPattern> -->
-    <context id="_choice-object-destructuring" style-ref="object-destructuring" end-parent="true">
+    <context id="_choice-object-binding-pattern" style-ref="object-binding-pattern" end-parent="true">
       <start>{</start>
       <end>}</end>
       <include>
         <context ref="embedded-lang-hooks"/>
         <context ref="comments"/>
 
-        <context id="_object-destructuring-content">
+        <context id="_object-binding-pattern-content">
           <include>
 
-            <context id="_object-destructuring-first-property" once-only="true">
+            <context id="_object-binding-pattern-first-property" once-only="true">
               <start>\%{before-next-token}</start>
               <end>\%{before-next-token}</end>
               <include>
                 <context ref="embedded-lang-hooks"/>
                 <context ref="comments"/>
-                <context ref="_object-destructuring-property-content"/>
+                <context ref="_object-binding-pattern-property-content"/>
               </include>
-            </context> <!-- /_object-destructuring-properties -->
+            </context> <!-- /_object-binding-pattern-properties -->
 
-            <context id="_object-destructuring-properties">
+            <context id="_object-binding-pattern-properties">
               <start>,</start>
               <end>\%{before-next-token}</end>
               <include>
                 <context ref="embedded-lang-hooks"/>
                 <context ref="comments"/>
-                <context ref="_object-destructuring-property-content"/>
+                <context ref="_object-binding-pattern-property-content"/>
               </include>
-            </context> <!-- /_object-destructuring-properties -->
+            </context> <!-- /_object-binding-pattern-properties -->
 
           </include>
-        </context> <!-- /_object-destructuring-content -->
+        </context> <!-- /_object-binding-pattern-content -->
 
       </include>
-    </context> <!-- /_choice-object-destructuring -->
+    </context> <!-- /_choice-object-binding-pattern -->
 
-    <!-- ## Assignment target
-
-         Things that can appear on the left side of an equals sign
-         (identifier or array/object destructuring assignment), in all
-         places (function parameters, variable declaration) *except* in
-         assignment expressions (array/object literals will match for
-         array/object destructuring)
-    -->
+    <!-- ## Binding -->
 
     <!-- <VariableDeclaration> / <LexicalBinding> -->
-    <context id="_assignment-target" once-only="true">
+    <context id="_binding" once-only="true">
       <start>\%{before-next-token}</start>
       <end>\%{before-next-token}</end>
       <include>
         <context ref="embedded-lang-hooks"/>
         <context ref="comments"/>
 
-        <context id="_assignment-target-content">
+        <context id="_binding-content">
           <include>
-            <context ref="_choice-array-destructuring"/>
-            <context ref="_choice-object-destructuring"/>
+            <context ref="_choice-array-binding-pattern"/>
+            <context ref="_choice-object-binding-pattern"/>
             <context ref="choice-identifier"/>
           </include>
-        </context> <!-- /_assignment-target-content -->
+        </context> <!-- /_binding-content -->
 
       </include>
-    </context> <!-- /_assignment-target -->
+    </context> <!-- /_binding -->
 
-    <context id="ordered-assignment-target" once-only="true">
+    <context id="ordered-binding" once-only="true">
       <start>\%{before-next-token}</start>
       <end>\%{before-next-token}</end>
       <include>
-        <context ref="_assignment-target"/>
+        <context ref="_binding"/>
       </include>
-    </context> <!-- /ordered-assignment-target -->
+    </context> <!-- /ordered-binding -->
 
 
     <!-- Approximate code order for component files:
diff --git a/data/language-specs/typescript-js-functions-classes.lang 
b/data/language-specs/typescript-js-functions-classes.lang
index eeb8a82d..ca07e551 100644
--- a/data/language-specs/typescript-js-functions-classes.lang
+++ b/data/language-specs/typescript-js-functions-classes.lang
@@ -60,7 +60,7 @@
              expression/declaration constructors only -->
         <context ref="_ordered-accessibility-modifier"/>
         <context ref="js:ordered-rest-syntax"/>
-        <context ref="js:ordered-assignment-target"/>
+        <context ref="js:ordered-binding"/>
         <context ref="typescript:ordered-optional-modifier"/>
         <context ref="typescript:ordered-type-annotation"/>
         <context ref="js:ordered-default-value-assignment"/>
@@ -85,7 +85,7 @@
             <context ref="js:ordered-rest-syntax"/>
             <!-- this parameters are valid for class
                  expression/declaration methods only -->
-            <context ref="typescript:ordered-this-parameter-or-assignment-target"/>
+            <context ref="typescript:ordered-this-parameter-or-binding"/>
             <context ref="typescript:ordered-optional-modifier"/>
             <context ref="typescript:ordered-type-annotation"/>
             <context ref="js:ordered-default-value-assignment"/>
diff --git a/data/language-specs/typescript-js-statements.lang 
b/data/language-specs/typescript-js-statements.lang
index 3a633685..fe2390d0 100644
--- a/data/language-specs/typescript-js-statements.lang
+++ b/data/language-specs/typescript-js-statements.lang
@@ -50,7 +50,7 @@
     <!-- replaces js-st:_variable-declaration-item-content -->
     <context id="variable-declaration-item-content">
       <include>
-        <context ref="js:ordered-assignment-target"/>
+        <context ref="js:ordered-binding"/>
         <context ref="typescript:ordered-definite-assignment-assertion"/>
         <context ref="typescript:ordered-type-annotation"/>
         <context ref="js:ordered-default-value-assignment"/>
diff --git a/data/language-specs/typescript-type-expressions.lang 
b/data/language-specs/typescript-type-expressions.lang
index 886c3adb..0d901ff5 100644
--- a/data/language-specs/typescript-type-expressions.lang
+++ b/data/language-specs/typescript-type-expressions.lang
@@ -113,7 +113,7 @@
     <!-- ## Type "grouping" -->
 
     <!-- this will only catch simple cases :-( -->
-    <context id="_choice-type-grouping-this-parameter-or-assignment-target" end-parent="true">
+    <context id="_choice-type-grouping-this-parameter-or-binding" end-parent="true">
       <start extended="true">
         (?:
           (?&lt;= \.\.\. ) (?= \%{js:identifier} ) |  # adding js:optional-whitespace-or-comments in between 
doesn't work
@@ -124,30 +124,30 @@
       <include>
         <context ref="js:comments"/>
 
-        <context id="_type-grouping-this-parameter-or-assignment-target-content">
+        <context id="_type-grouping-this-parameter-or-binding-content">
           <include>
-            <context ref="typescript:ordered-this-parameter-or-assignment-target"/>
+            <context ref="typescript:ordered-this-parameter-or-binding"/>
           </include>
-        </context> <!-- /_type-grouping-this-parameter-or-assignment-target-content -->
+        </context> <!-- /_type-grouping-this-parameter-or-binding-content -->
 
       </include>
-    </context> <!-- /__choice-type-grouping-this-parameter-or-assignment-target -->
+    </context> <!-- /__choice-type-grouping-this-parameter-or-binding -->
 
-    <context id="_type-grouping-type-expression-or-this-parameter-or-assignment-target" once-only="true">
+    <context id="_type-grouping-type-expression-or-this-parameter-or-binding" once-only="true">
       <start>\%{js:before-next-token}</start>
       <end>\%{js:before-next-token}</end>
       <include>
         <!-- no comments here -->
 
-        <context id="_type-grouping-type-expression-or-this-parameter-or-assignment-target-content">
+        <context id="_type-grouping-type-expression-or-this-parameter-or-binding-content">
           <include>
-            <context ref="_choice-type-grouping-this-parameter-or-assignment-target"/>
+            <context ref="_choice-type-grouping-this-parameter-or-binding"/>
             <context ref="choice-type-expression"/>
           </include>
-        </context> <!-- /_type-grouping-type-expression-or-this-parameter-or-assignment-target-content -->
+        </context> <!-- /_type-grouping-type-expression-or-this-parameter-or-binding-content -->
 
       </include>
-    </context> <!-- /_type-grouping-type-expression-or-this-parameter-or-assignment-target -->
+    </context> <!-- /_type-grouping-type-expression-or-this-parameter-or-binding -->
 
     <!-- function parameter list allows for accessibility modifiers and
          default value assignment, but these are not allowed in a
@@ -173,7 +173,7 @@
                 <context id="_type-grouping-first-item-content">
                   <include>
                     <context ref="js:ordered-rest-syntax"/>
-                    <context ref="_type-grouping-type-expression-or-this-parameter-or-assignment-target"/>
+                    <context ref="_type-grouping-type-expression-or-this-parameter-or-binding"/>
                     <context ref="typescript:ordered-optional-modifier"/>
                     <context ref="typescript:ordered-type-annotation"/>
                   </include>
@@ -191,7 +191,7 @@
                 <context id="_type-grouping-item-content">
                   <include>
                     <context ref="js:ordered-rest-syntax"/>
-                    <context ref="js:ordered-assignment-target"/>
+                    <context ref="js:ordered-binding"/>
                     <context ref="typescript:ordered-optional-modifier"/>
                     <context ref="typescript:ordered-type-annotation"/>
                   </include>
diff --git a/data/language-specs/typescript.lang b/data/language-specs/typescript.lang
index fa6e6da9..b287591c 100644
--- a/data/language-specs/typescript.lang
+++ b/data/language-specs/typescript.lang
@@ -316,44 +316,44 @@
       </include>
     </context> <!-- /ordered-definite-assignment-assertion -->
 
-    <!-- ## this parameter or assignment target -->
+    <!-- ## this parameter or binding -->
 
-    <context id="_this-parameter-or-assignment-target" once-only="true">
+    <context id="_this-parameter-or-binding" once-only="true">
       <start>\%{js:before-next-token}</start>
       <end>\%{js:before-next-token}</end>
       <include>
         <context ref="js:comments"/>
 
-        <context id="_this-parameter-or-assignment-target-content">
+        <context id="_this-parameter-or-binding-content">
           <include>
 
             <context id="_choice-this-parameter" style-ref="js:keyword" end-parent="true">
               <keyword>this</keyword>
             </context> <!-- /_choice-this-parameter -->
 
-            <context id="_js-choice-assignment-target" end-parent="true">
+            <context id="_js-choice-binding" end-parent="true">
               <start>\%{js:before-next-token}</start>
               <end>\%{js:before-next-token}</end>
               <include>
                 <context ref="js:embedded-lang-hooks"/>
                 <context ref="js:comments"/>
-                <context ref="js:_assignment-target-content"/>
+                <context ref="js:_binding-content"/>
               </include>
-            </context> <!-- /_js-choice-assignment-target -->
+            </context> <!-- /_js-choice-binding -->
 
           </include>
-        </context> <!-- /_this-parameter-or-assignment-target-content -->
+        </context> <!-- /_this-parameter-or-binding-content -->
 
       </include>
-    </context> <!-- /_this-parameter-or-assignment-target -->
+    </context> <!-- /_this-parameter-or-binding -->
 
-    <context id="ordered-this-parameter-or-assignment-target" once-only="true">
+    <context id="ordered-this-parameter-or-binding" once-only="true">
       <start>\%{js:before-next-token}</start>
       <end>\%{js:before-next-token}</end>
       <include>
-        <context ref="_this-parameter-or-assignment-target"/>
+        <context ref="_this-parameter-or-binding"/>
       </include>
-    </context> <!-- /ordered-this-parameter-or-assignment-target -->
+    </context> <!-- /ordered-this-parameter-or-binding -->
 
     <!-- ## Decorators
 


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