[ Avaa Bypassed ]




Upload:

Command:

www-data@3.16.135.185: ~ $
<?xml version="1.0" encoding="UTF-8"?>
<!--

 This file is part of GtkSourceView

 Author: Scott Martin <scott@coffeeblack.org>
 Copyright (C) 2004 Scott Martin <scott@coffeeblack.org>
 Copyright (C) 2005 Stef Walter (formerly Nate Nielsen) <stef@memberwebs.com>
 Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com>
 Copyright (C) 2005-2007 Emanuele Aina
 Copyright (C) 2019 Jeffery To <jeffery.to@gmail.com>

 GtkSourceView is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.

 GtkSourceView is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public License
 along with this library; if not, see <http://www.gnu.org/licenses/>.

-->
<language id="js-st" name="JavaScript Statements" version="2.0" _section="Script" hidden="true">
  <!-- 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>

    <!--
         See javascript.lang for general notes, naming conventions, etc.
    -->


    <!-- # Use strict directive -->

    <!-- apparently, back references are not supported -->
    <context id="_use-strict-directives" style-ref="js:directive">
      <start extended="true">
        (?:
          " use [ ] strict " |
          ' use [ ] strict '
        )
      </start>
      <end>\%{js:statement-end}</end>
    </context> <!-- /_use-strict-directives -->


    <!-- # Directives -->

    <!-- directives are valid at the start of scripts, modules, and
         function bodies (but not block statements)
    -->
    <context id="directives">
      <include>
        <context ref="_use-strict-directives"/>
      </include>
    </context> <!-- /directives -->


    <!-- # Test condition for if / switch / while / etc. -->

    <context id="_condition" once-only="true">
      <start>\(</start>
      <end>\)</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments" />

        <context id="_condition-content">
          <include>
            <context ref="js-expr:expression-with-comma"/>
          </include>
        </context> <!-- /_condition-content -->

      </include>
    </context> <!-- /_condition -->

    <context id="_ordered-condition" once-only="true">
      <start>\%{js:before-next-token}</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context ref="_condition"/>
      </include>
    </context> <!-- /_ordered-condition -->


    <!-- # Block statement

         {
           ...
         }
    -->

    <!-- <BlockStatement> -->
    <context id="_block-statements" style-ref="js:block-statement">
      <start>{</start>
      <end>}</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_block-statement-content">
          <include>
            <context ref="statements"/>
          </include>
        </context> <!-- /_block-statement-content -->

      </include>
    </context> <!-- /_block-statements -->


    <!-- # Break statement

         break;
         break outerLoop;
    -->

    <!-- <BreakStatement> -->
    <context id="_break-statements" style-ref="js:break-statement">
      <start>\%[break\%]</start>
      <end>\%{js:statement-end-or-end-of-line}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments-no-extend-parent"/>

        <context id="_break-statement-content">
          <include>
            <context ref="js:ordered-identifier"/>
          </include>
        </context> <!-- /_break-statement-content -->

      </include>
    </context> <!-- /_break-statements -->


    <!-- # Class declaration

         class Foo extends Bar { ... }
    -->

    <!-- <ClassExpression> / <ClassDeclaration> -->
    <context id="_class-declarations">
      <start>(?=\%{js:class-expression-keyword})</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_class-declaration-content">
          <include>
            <context ref="js-fn:choice-class-expression-required-name"/>
          </include>
        </context> <!-- /_class-declaration-content -->

      </include>
    </context> <!-- /_class-declarations -->


    <!-- # Continue statement

         continue;
         continue outerLoop;
    -->

    <!-- <ContinueStatement> -->
    <context id="_continue-statements" style-ref="js:continue-statement">
      <start>\%[continue\%]</start>
      <end>\%{js:statement-end-or-end-of-line}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments-no-extend-parent"/>

        <context id="_continue-statement-content">
          <include>
            <context ref="js:ordered-identifier"/>
          </include>
        </context> <!-- /_continue-statement-content -->

      </include>
    </context> <!-- /_continue-statements -->


    <!-- # Debugger statement

         debugger;
    -->

    <!-- <DebuggerStatement> -->
    <context id="_debugger-statements" style-ref="js:debugger-statement">
      <start>\%[debugger\%]</start>
      <end>\%{js:statement-end}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_debugger-statement-content"/>

      </include>
    </context> <!-- /_debugger-statements -->


    <!-- # Expression statement

         a = 1;
         main();
         i++;
    -->

    <!-- <ExpressionStatement> -->
    <context id="_expression-statements" style-ref="js:expression-statement">
      <start>\%{js:before-next-token}</start>
      <end>\%{js:statement-end}</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_expression-statement-content">
          <include>
            <context ref="js-expr:expression-with-comma"/>
          </include>
        </context> <!-- /_expression-statement-content -->

      </include>
    </context> <!-- /_expression-statements -->


    <!-- # For statement

         for (var i = 0; i < length; i++) loop();
         for (prop in obj) { ... }
         for (value of iterator) { ... }
    -->

    <context id="_for-statement-modifier" once-only="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 id="_for-statement-modifier-content">
          <include>

            <context id="_choice-for-statement-modifier-keyword" style-ref="js:keyword" end-parent="true">
              <keyword>await</keyword> <!-- ES2018 -->
            </context> <!-- /_choice-for-statement-modifier-keyword -->

          </include>
        </context> <!-- /_for-statement-modifier-content -->

      </include>
    </context> <!-- /_for-statement-modifier -->

    <context id="_ordered-for-statement-modifier" once-only="true">
      <start>\%{js:before-next-token}</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context ref="_for-statement-modifier"/>
      </include>
    </context> <!-- /_ordered-for-statement-modifier -->

    <context id="_for-statement-test">
      <include>

        <context id="_for-statement-test-initial-expression" once-only="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 id="_for-statement-test-initial-expression-content">
              <include>
                <context ref="_choice-variable-declaration-without-semicolon"/>
                <context ref="js-expr:choice-expression-with-comma"/>
              </include>
            </context> <!-- /_for-statement-test-initial-expression-content -->

          </include>
        </context> <!-- /_for-statement-test-initial-expression -->

        <context id="_for-statement-test-condition" once-only="true">
          <start>;</start>
          <end>\%{js:before-next-token}</end>
          <include>
            <context ref="js:embedded-lang-hooks"/>
            <context ref="js:comments"/>

            <context id="_for-statement-test-condition-content">
              <include>
                <context ref="js-expr:expression-with-comma"/>
              </include>
            </context> <!-- /_for-statement-test-condition-content -->

          </include>
        </context> <!-- /_for-statement-test-condition -->

        <context id="_for-statement-test-increment-expression" once-only="true">
          <start>;</start>
          <end>\%{js:before-next-token}</end>
          <include>
            <context ref="js:embedded-lang-hooks"/>
            <context ref="js:comments"/>

            <context id="_for-statement-test-increment-expression-content">
              <include>
                <context ref="js-expr:expression-with-comma"/>
              </include>
            </context> <!-- /_for-statement-test-increment-expression-content -->

          </include>
        </context> <!-- /_for-statement-test-increment-expression -->

      </include>
    </context> <!-- /_for-statement-test -->

    <context id="_for-statement-in" once-only="true">
      <start>\%[in\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_for-statement-in-content">
          <include>
            <context ref="js-expr:expression-with-comma"/>
          </include>
        </context> <!-- /_for-statement-in-content -->

      </include>
    </context> <!-- /_for-statement-in -->

    <context id="_for-statement-of" once-only="true">
      <start>\%[of\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_for-statement-of-content">
          <include>
            <context ref="js-expr:expression-without-comma"/>
          </include>
        </context> <!-- /_for-statement-of-content -->

      </include>
    </context> <!-- /_for-statement-of -->

    <context id="_for-statement-condition" once-only="true">
      <start>\(</start>
      <end>\)</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_for-statement-condition-content">
          <include>
            <context ref="_for-statement-test"/>
            <context ref="_for-statement-in"/>
            <context ref="_for-statement-of"/>
          </include>
        </context> <!-- /_for-statement-condition-content -->

      </include>
    </context> <!-- /_for-statement-condition -->

    <context id="_ordered-for-statement-condition" once-only="true">
      <start>\%{js:before-next-token}</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context ref="_for-statement-condition"/>
      </include>
    </context> <!-- /_ordered-for-statement-condition -->

    <!-- <IterationStatement> (part of) -->
    <context id="_for-statements" style-ref="js:for-statement">
      <start>\%[for\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_for-statement-content">
          <include>
            <context ref="_ordered-for-statement-modifier"/>
            <context ref="_ordered-for-statement-condition"/>
          </include>
        </context> <!-- /_for-statement-content -->

      </include>
    </context> <!-- /_for-statements -->


    <!-- # Function declaration

         function fn() { ... }
    -->

    <!-- <FunctionExpression> / <FunctionDeclaration> -->
    <context id="_function-declarations">
      <start>(?=\%{js:function-expression-keyword})</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_function-declaration-content">
          <include>
            <context ref="js-fn:choice-function-expression"/>
          </include>
        </context> <!-- /_function-declaration-content -->

      </include>
    </context> <!-- /_function-declarations -->


    <!-- # If...else statement

         if (done) return;
         if (i > 0) { ... } else if (i < 0) { ... } else { ... }
    -->

    <!-- <IfStatement> (part of) -->
    <context id="_if-statements" style-ref="js:if-statement">
      <start>\%[if\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_if-statement-content">
          <include>
            <context ref="_ordered-condition"/>
          </include>
        </context> <!-- /_if-statement-content -->

      </include>
    </context> <!-- /_if-statements -->

    <!-- <IfStatement> (part of) -->
    <context id="_else-statements" style-ref="js:else-statement">
      <start>\%[else\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_else-statement-content"/>

      </include>
    </context> <!-- /_else-statements -->


    <!-- # Label statement

         loop: for (...) {...}
    -->

    <!-- <LabelledStatement> -->
    <!-- technically, only statements (and function declarations in
         non-strict mode) are allowed to follow a label identifier, but
         let's just end the label statement after the colon
    -->
    <context id="_label-statements" style-ref="js:label-statement">
      <start extended="true">
        (?=
          \%{js:identifier}
          \%{js:optional-whitespace-or-comments}
          :
        )
      </start>
      <end>:</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_label-statement-content">
          <include>
            <!-- technically, yield and await are valid label identifiers
                 in non-strict mode and non-module code, respectively
                 but let's not allow it (and have them highlighted as
                 reserved words)
            -->
            <context ref="js:ordered-identifier"/>
          </include>
        </context> <!-- /_label-statement-content -->

      </include>
    </context> <!-- /_label-statements -->


    <!-- # Return statement

         return;
         return value;
    -->

    <!-- <ReturnStatement> -->
    <context id="_return-statements" style-ref="js:return-statement">
      <start>\%[return\%]</start>
      <end>\%{js:statement-end-or-end-of-line}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments-no-extend-parent"/>

        <context id="_return-statement-content">
          <include>
            <context ref="js-expr:expression-with-comma"/>
          </include>
        </context> <!-- /_return-statement-content -->

      </include>
    </context> <!-- /_return-statements -->


    <!-- # Switch statement

         switch (a) {
         case 1: ... ; break;
         case 2: ... ; break;
         default: ...
         }
    -->

    <context id="_case-clauses">
      <start>\%[case\%]</start>
      <end>:</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_case-clause-content">
          <include>
            <context ref="js-expr:expression-with-comma"/>
          </include>
        </context> <!-- /_case-clause-content -->

      </include>
    </context> <!-- /_case-clauses -->

    <context id="_default-clauses">
      <start>\%[default\%]</start>
      <end>:</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_default-clause-content"/>

      </include>
    </context> <!-- /_default-clauses -->

    <context id="_switch-body" once-only="true">
      <start>{</start>
      <end>}</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_switch-body-content">
          <include>
            <context ref="_case-clauses"/>
            <context ref="_default-clauses"/>
            <context ref="statements"/>
          </include>
        </context> <!-- /_switch-body-content -->

      </include>
    </context> <!-- /_switch-body -->

    <context id="_last-switch-body" end-parent="true">
      <start>\%{js:before-next-token}</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context ref="_switch-body"/>
      </include>
    </context> <!-- /_last-switch-body -->

    <!-- <SwitchStatement> -->
    <context id="_switch-statements" style-ref="js:switch-statement">
      <start>\%[switch\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_switch-statement-content">
          <include>
            <context ref="_ordered-condition"/>
            <context ref="_last-switch-body"/>
          </include>
        </context> <!-- /_switch-statement-content -->

      </include>
    </context> <!-- /_switch-statements -->


    <!-- # Throw statement

         throw new Error();
    -->

    <!-- <ThrowStatement> -->
    <context id="_throw-statements" style-ref="js:throw-statement">
      <start>\%[throw\%]</start>
      <end>\%{js:statement-end-or-end-of-line}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments-no-extend-parent"/>

        <context id="_throw-statement-content">
          <include>
            <context ref="js-expr:expression-with-comma"/>
          </include>
        </context> <!-- /_throw-statement-content -->

      </include>
    </context> <!-- /_throw-statements -->


    <!-- # Try...catch statement

         try { ... } catch (e) { ... } finally { ... }
    -->

    <context id="_try-body" once-only="true">
      <start>{</start>
      <end>}</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_try-body-content">
          <include>
            <context ref="statements"/>
          </include>
        </context> <!-- /_try-body-content -->

      </include>
    </context> <!-- /_try-body -->

    <context id="_last-try-body" end-parent="true">
      <start>\%{js:before-next-token}</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context ref="_try-body"/>
      </include>
    </context> <!-- /_last-try-body -->

    <!-- <TryStatement> -->
    <context id="_try-statements" style-ref="js:try-catch-statement">
      <start>\%[try\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_try-statement-content">
          <include>
            <context ref="_last-try-body"/>
          </include>
        </context> <!-- /_try-statement-content -->

      </include>
    </context> <!-- /_try-statements -->

    <context id="_catch-statement-exception" once-only="true">
      <start>\(</start>
      <end>\)</end>
      <include>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_catch-statement-exception-content">
          <include>
            <context ref="js:identifier"/>
          </include>
        </context> <!-- /_catch-statement-exception-content -->

      </include>
    </context> <!-- /_catch-statement-exception -->

    <context id="_ordered-catch-statement-exception" once-only="true">
      <start>\%{js:before-next-token}</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context ref="_catch-statement-exception"/>
      </include>
    </context> <!-- /_ordered-catch-statement-exception -->

    <!-- <Catch> -->
    <context id="_catch-statements" style-ref="js:try-catch-statement">
      <start>\%[catch\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_catch-statement-content">
          <include>
            <context ref="_ordered-catch-statement-exception"/>
            <context ref="_last-try-body"/>
          </include>
        </context> <!-- /_catch-statement-content -->

      </include>
    </context> <!-- /_catch-statements -->

    <!-- <Finally> -->
    <context id="_finally-statements" style-ref="js:try-catch-statement">
      <start>\%[finally\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_finally-statement-content">
          <include>
            <context ref="_last-try-body"/>
          </include>
        </context> <!-- /_finally-statement-content -->

      </include>
    </context> <!-- /_finally-statements -->


    <!-- # Variable declaration

         var a, b = 2;
         let [a, b] = [1, 2];
         const { a, y: b = 4, c = 5 } = { a: 1, y: 2 };
    -->

    <define-regex id="_variable-declaration-keyword" extended="true">
      (?: \%[ (?: const | let | var ) \%] )
    </define-regex> <!-- /_variable-declaration-keyword -->

    <context id="_variable-declaration-item-content">
      <include>
        <context ref="js:ordered-assignment-target"/>
        <context ref="js:ordered-default-value-assignment"/>
      </include>
    </context> <!-- /_variable-declaration-item-content -->

    <context id="_variable-declaration-content">
      <include>

        <context id="_variable-declaration-first-item" once-only="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="_variable-declaration-item-content"/>
          </include>
        </context> <!-- /_variable-declaration-first-item -->

        <context id="_variable-declaration-items">
          <start>,</start>
          <end>\%{js:before-next-token}</end>
          <include>
            <context ref="js:embedded-lang-hooks"/>
            <context ref="js:comments"/>
            <context ref="_variable-declaration-item-content"/>
          </include>
        </context> <!-- /_variable-declaration-items -->

      </include>
    </context> <!-- /_variable-declaration-content -->

    <!-- <VariableStatement> / <LexicalDeclaration> -->
    <context id="_variable-declarations" style-ref="js:variable-declaration">
      <start>\%{_variable-declaration-keyword}</start>
      <end>\%{js:statement-end}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>
        <context ref="_variable-declaration-content"/>
      </include>
    </context> <!-- /_variable-declarations -->

    <!-- <VariableStatement> / <LexicalDeclaration> -->
    <context id="choice-variable-declaration" style-ref="js:variable-declaration" end-parent="true">
      <start>\%{_variable-declaration-keyword}</start>
      <end>\%{js:statement-end}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>
        <context ref="_variable-declaration-content"/>
      </include>
    </context> <!-- /choice-variable-declaration -->

    <!-- <VariableStatement> / <LexicalDeclaration> -->
    <context id="_choice-variable-declaration-without-semicolon" style-ref="js:variable-declaration" end-parent="true">
      <start>\%{_variable-declaration-keyword}</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>
        <context ref="_variable-declaration-content"/>
      </include>
    </context> <!-- /_choice-variable-declaration-without-semicolon -->


    <!-- # While / do...while statement

         while (true) loop();
         do { ... } while (a > 0);
    -->

    <!-- <IterationStatement> (part of) -->
    <context id="_while-statements" style-ref="js:while-statement">
      <start>\%[while\%]</start>
      <end>\%{js:statement-end}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_while-statement-content">
          <include>
            <context ref="_ordered-condition"/>
          </include>
        </context> <!-- /_while-statement-content -->

      </include>
    </context> <!-- /_while-statements -->

    <!-- <IterationStatement> (part of) -->
    <context id="_do-statements" style-ref="js:while-statement">
      <start>\%[do\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_do-statement-content"/>

      </include>
    </context> <!-- /_do-statements -->


    <!-- # With statement

         with (o) doIt();
         with (obj) { ... }
    -->

    <!-- <WithStatement> -->
    <context id="_with-statements" style-ref="js:with-statement">
      <start>\%[with\%]</start>
      <end>\%{js:before-next-token}</end>
      <include>
        <context sub-pattern="0" where="start" style-ref="js:keyword"/>
        <context ref="js:embedded-lang-hooks"/>
        <context ref="js:comments"/>

        <context id="_with-statement-content">
          <include>
            <context ref="_ordered-condition"/>
          </include>
        </context> <!-- /_with-statement-content -->

      </include>
    </context> <!-- /_with-statements -->


    <!-- # Statements -->

    <!-- <StatementList> -->
    <!-- statements and declarations that are valid in "scripts" (as
         opposed to modules) and in block statements -->
    <context id="statements">
      <include>
        <context ref="_block-statements"/>
        <context ref="_break-statements"/>
        <context ref="_class-declarations"/>
        <context ref="_continue-statements"/>
        <context ref="_debugger-statements"/>
        <context ref="_for-statements"/>
        <context ref="_function-declarations"/>
        <context ref="_if-statements"/>
        <context ref="_else-statements"/>
        <context ref="_label-statements"/>
        <context ref="_return-statements"/>
        <context ref="_switch-statements"/>
        <context ref="_throw-statements"/>
        <context ref="_try-statements"/>
        <context ref="_catch-statements"/>
        <context ref="_finally-statements"/>
        <context ref="_variable-declarations"/>
        <context ref="_while-statements"/>
        <context ref="_do-statements"/>
        <context ref="_with-statements"/>
        <context ref="_expression-statements"/> <!-- catch-all -->
      </include>
    </context> <!-- /statements -->

  </definitions>
</language>

Filemanager

Name Type Size Permission Actions
R.lang File 77.54 KB 0644
abnf.lang File 3.54 KB 0644
actionscript.lang File 8.64 KB 0644
ada.lang File 7.05 KB 0644
ansforth94.lang File 22.6 KB 0644
asciidoc.lang File 22.17 KB 0644
asp.lang File 40.88 KB 0644
automake.lang File 11.15 KB 0644
awk.lang File 4.15 KB 0644
bennugd.lang File 8.81 KB 0644
bibtex.lang File 3.75 KB 0644
bluespec.lang File 5.79 KB 0644
boo.lang File 8.42 KB 0644
c.lang File 11.72 KB 0644
cg.lang File 10.05 KB 0644
changelog.lang File 3.41 KB 0644
chdr.lang File 1.77 KB 0644
cmake.lang File 35.58 KB 0644
cobol.lang File 20.8 KB 0644
commonlisp.lang File 17.14 KB 0644
cpp.lang File 5.56 KB 0644
cpphdr.lang File 1.41 KB 0644
csharp.lang File 9.34 KB 0644
css.lang File 84.08 KB 0644
csv.lang File 2.36 KB 0644
cuda.lang File 10.25 KB 0644
d.lang File 9.83 KB 0644
dart.lang File 9.47 KB 0644
def.lang File 12.91 KB 0644
desktop.lang File 10.7 KB 0644
diff.lang File 2.99 KB 0644
docbook.lang File 15.98 KB 0644
docker.lang File 5.59 KB 0644
dosbatch.lang File 5.08 KB 0644
dot.lang File 4.42 KB 0644
dpatch.lang File 1.49 KB 0644
dtd.lang File 4.52 KB 0644
dtl.lang File 9.9 KB 0644
eiffel.lang File 7.11 KB 0644
erlang.lang File 8.26 KB 0644
fcl.lang File 3.75 KB 0644
fish.lang File 15.61 KB 0644
forth.lang File 9.34 KB 0644
fortran.lang File 22.95 KB 0644
fsharp.lang File 10.79 KB 0644
ftl.lang File 3.06 KB 0644
gap.lang File 2.72 KB 0644
gdb-log.lang File 6.81 KB 0644
gdscript.lang File 9.94 KB 0644
genie.lang File 7.62 KB 0644
glsl.lang File 17.25 KB 0644
go.lang File 10.28 KB 0644
gradle.lang File 1.69 KB 0644
groovy.lang File 11.86 KB 0644
gtk-doc.lang File 3.66 KB 0644
gtkrc.lang File 4.12 KB 0644
haddock.lang File 5.92 KB 0644
haskell-literate.lang File 1.73 KB 0644
haskell.lang File 8.15 KB 0644
haxe.lang File 7.71 KB 0644
html.lang File 15.08 KB 0644
idl-exelis.lang File 20.63 KB 0644
idl.lang File 5.06 KB 0644
imagej.lang File 29.42 KB 0644
ini.lang File 3.5 KB 0644
j.lang File 7.45 KB 0644
jade.lang File 6.55 KB 0644
java.lang File 6.57 KB 0644
javascript-expressions.lang File 27.04 KB 0644
javascript-functions-classes.lang File 16.52 KB 0644
javascript-literals.lang File 20.27 KB 0644
javascript-modules.lang File 13.25 KB 0644
javascript-statements.lang File 28.68 KB 0644
javascript-values.lang File 26.55 KB 0644
javascript.lang File 31.6 KB 0644
jsdoc.lang File 7.37 KB 0644
json.lang File 4.2 KB 0644
jsx.lang File 12.67 KB 0644
julia.lang File 14.03 KB 0644
kotlin.lang File 13.19 KB 0644
language.dtd File 2.29 KB 0644
language.rng File 10.78 KB 0644
language2.rng File 12.93 KB 0644
latex.lang File 24.8 KB 0644
less.lang File 29.67 KB 0644
lex.lang File 6.14 KB 0644
libtool.lang File 1.83 KB 0644
llvm.lang File 10.05 KB 0644
logcat.lang File 3.35 KB 0644
logtalk.lang File 14.22 KB 0644
lua.lang File 10.2 KB 0644
m4.lang File 45.03 KB 0644
makefile.lang File 6.03 KB 0644
mallard.lang File 3.69 KB 0644
markdown.lang File 15.17 KB 0644
matlab.lang File 4.87 KB 0644
maxima.lang File 65.65 KB 0644
mediawiki.lang File 10.68 KB 0644
meson.lang File 5.62 KB 0644
modelica.lang File 9.26 KB 0644
mxml.lang File 2.16 KB 0644
nemerle.lang File 8.21 KB 0644
netrexx.lang File 10.36 KB 0644
nsis.lang File 2.65 KB 0644
objc.lang File 4 KB 0644
objj.lang File 19.21 KB 0644
ocaml.lang File 9.72 KB 0644
ocl.lang File 5.24 KB 0644
octave.lang File 59.04 KB 0644
ooc.lang File 8.51 KB 0644
opal.lang File 10.98 KB 0644
opencl.lang File 20.36 KB 0644
pascal.lang File 8.28 KB 0644
perl.lang File 36.58 KB 0644
php.lang File 12.91 KB 0644
pig.lang File 9.35 KB 0644
pkgconfig.lang File 1.93 KB 0644
po.lang File 3.33 KB 0644
powershell.lang File 22.5 KB 0644
prolog.lang File 8.2 KB 0644
protobuf.lang File 4.4 KB 0644
puppet.lang File 23.67 KB 0644
python.lang File 16.99 KB 0644
python3.lang File 10.31 KB 0644
rpmspec.lang File 7.5 KB 0644
rst.lang File 4.47 KB 0644
ruby.lang File 26.9 KB 0644
rust.lang File 10.25 KB 0644
scala.lang File 12.63 KB 0644
scheme.lang File 10.17 KB 0644
scilab.lang File 6.87 KB 0644
scss.lang File 31.72 KB 0644
sh.lang File 36.34 KB 0644
sml.lang File 6.43 KB 0644
solidity.lang File 10.87 KB 0644
sparql.lang File 16.34 KB 0644
sql.lang File 22.79 KB 0644
sweave.lang File 2.18 KB 0644
swift.lang File 16.21 KB 0644
systemverilog.lang File 8.6 KB 0644
t2t.lang File 5.21 KB 0644
tcl.lang File 4.46 KB 0644
tera.lang File 5.12 KB 0644
texinfo.lang File 15.23 KB 0644
thrift.lang File 8.45 KB 0644
toml.lang File 8.46 KB 0644
typescript-js-expressions.lang File 6.83 KB 0644
typescript-js-functions-classes.lang File 15.44 KB 0644
typescript-js-literals.lang File 5.05 KB 0644
typescript-js-modules.lang File 7.87 KB 0644
typescript-js-statements.lang File 19.42 KB 0644
typescript-js-values.lang File 2.33 KB 0644
typescript-jsx.lang File 6.32 KB 0644
typescript-type-expressions.lang File 19.3 KB 0644
typescript-type-generics.lang File 8.51 KB 0644
typescript-type-literals.lang File 13.59 KB 0644
typescript.lang File 29.12 KB 0644
vala.lang File 12.83 KB 0644
vbnet.lang File 7.78 KB 0644
verilog.lang File 15.54 KB 0644
vhdl.lang File 7.68 KB 0644
xml.lang File 9.23 KB 0644
xslt.lang File 3.83 KB 0644
yacc.lang File 5.65 KB 0644
yaml.lang File 8.71 KB 0644