lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

syntax_test_js_import_export.js (7244B)


      1 // SYNTAX TEST "Packages/JavaScript/JavaScript.sublime-syntax"
      2 
      3 import TheirClass from "./mypath";
      4 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.import.js
      5 // ^ keyword.control.import-export
      6 //                  ^ keyword.control.import-export
      7 
      8 import {identifier, otherIdentifier} from "somewhere";
      9 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.import
     10 // ^ keyword.control.import-export
     11 //     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.block
     12 //     ^ punctuation.section.block.begin
     13 //                                 ^ punctuation.section.block.end
     14 //       ^ meta.import meta.block variable.other.readwrite
     15 
     16 import thing, {identifier as otherIdentifier}, * as otherName from "otherplace";
     17 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.import
     18 // ^ keyword.control.import-export
     19 //      ^ variable.other.readwrite
     20 //            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.block
     21 //                ^ variable.other.readwrite
     22 //                        ^ keyword.control.import-export
     23 //                                     ^ variable.other.readwrite
     24 //                                             ^ constant.other.js
     25 //                                                             ^ keyword.control.import-export
     26 
     27 import 'module';
     28 // ^^^^^^^^^^^^^ meta.import
     29 
     30 // Better highlighting while typing.
     31 import
     32 import;
     33 // <- keyword.control.import-export
     34 
     35 import;/**/
     36 //     ^ - meta.import
     37 
     38 export { name1, name2 as name3 };
     39 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
     40 //^ keyword.control.import-export
     41 //     ^^^^^^^^^^^^^^^^^^^^^^^^^ meta.block
     42 //            ^ punctuation.separator.comma
     43 //                    ^^ keyword.control.import-export
     44 
     45 export let name1, name2;
     46 //^^^^^^^^^^^^^^^^^^^^^^ meta.export
     47 //^ keyword.control.import-export
     48 //     ^^^ keyword.declaration
     49 //              ^ punctuation.separator.comma
     50 
     51 export var name3;
     52 //^^^^^^^^^^^^^^^ meta.export
     53 //^ keyword.control.import-export
     54 //     ^^^ keyword.declaration
     55 
     56 export const name1 = 5;
     57 //^^^^^^^^^^^^^^^^^^^^^ meta.export
     58 //^ keyword.control.import-export
     59 //     ^^^^^ keyword.declaration
     60 //                 ^ keyword.operator.assignment
     61 
     62 export let foo = 123 // No semicolon
     63 export function bar() {}
     64 // <- keyword.control.import-export
     65 
     66 export function foo() {};
     67 //^^^^^^^^^^^^^^^^^^^^^^ meta.export
     68 //^^^^ keyword.control.import-export
     69 //     ^^^^^^^^^^^^^^^^^ meta.function
     70 //                      ^ punctuation.terminator.statement.empty
     71 
     72 export function* foo() {};
     73 //^^^^^^^^^^^^^^^^^^^^^^^ meta.export
     74 //^^^^ keyword.control.import-export
     75 //     ^^^^^^^^^^^^^^^^^^  meta.function
     76 //                       ^ punctuation.terminator.statement.empty
     77 
     78 export async function foo() {};
     79 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
     80 //^^^^ keyword.control.import-export
     81 //     ^^^^^^^^^^^^^^^^^^^^^^^ meta.function
     82 //                            ^ punctuation.terminator.statement.empty
     83 
     84 export class Foo {};
     85 //^^^^^^^^^^^^^^^^^ meta.export
     86 //^^^^ keyword.control.import-export
     87 //     ^^^^^^^^^^^^ meta.class
     88 //                 ^ punctuation.terminator.statement.empty
     89 
     90 export default expression;
     91 //^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
     92 //^ keyword.control.import-export
     93 //     ^ keyword.control.import-export
     94 
     95 export default function (a) { };
     96 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
     97 //^^^^ keyword.control.import-export
     98 //     ^^^^^^^ keyword.control.import-export
     99 //             ^^^^^^^^^^^^^^^^ meta.function
    100 //                             ^ punctuation.terminator.statement.empty - meta.export
    101 
    102 export default function* (a) { };
    103 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
    104 //^^^^ keyword.control.import-export
    105 //     ^^^^^^^ keyword.control.import-export
    106 //             ^^^^^^^^^^^^^^^^^ meta.function
    107 //                              ^ punctuation.terminator.statement.empty - meta.export
    108 
    109 export default function name1(b) { }
    110 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
    111 //^ keyword.control.import-export
    112 //     ^ keyword.control.import-export
    113 //             ^^^^^^^^ keyword.declaration.function
    114 //                      ^ entity.name.function
    115 
    116 export default class Foo {};
    117 //^^^^^^^^^^^^^^^^^ meta.export
    118 //^^^^ keyword.control.import-export
    119 //     ^^^^^^^ keyword.control.import-export
    120 //             ^^^^^^^^^^^^ meta.class
    121 //                         ^ punctuation.terminator.statement.empty
    122 
    123 export default +function (a) { };
    124 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
    125 //^^^^ keyword.control.import-export
    126 //     ^^^^^^^ keyword.control.import-export
    127 //              ^^^^^^^^^^^^^^^^ meta.function
    128 
    129 export { name1 as default };
    130 //^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
    131 //^ keyword.control.import-export
    132 //     ^^^^^^^^^^^^^^^^^^^^ meta.block
    133 //             ^ keyword.control.import-export
    134 //                ^ keyword.control.import-export
    135 
    136 export * from "./othermod";
    137 //^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
    138 //^ keyword.control.import-export
    139 //     ^ constant.other
    140 //       ^ keyword.control.import-export
    141 
    142 export { name1, name2 } from "./othermod";
    143 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
    144 //^ keyword.control.import-export
    145 //     ^^^^^^^^^^^^^^^^ meta.block
    146 //     ^ punctuation.section.block.begin
    147 //                    ^ punctuation.section.block.end
    148 //                      ^ keyword.control.import-export
    149 
    150 export { import1 as name1, import2 as name2, nameN } from "./othermod";
    151 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export
    152 //^ keyword.control.import-export
    153 //     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.block
    154 //               ^ keyword.control.import-export
    155 //                                 ^ keyword.control.import-export
    156 //                                                   ^ keyword.control.import-export
    157 
    158 // Better highlighting while typing.
    159 export
    160 export;
    161 // <- keyword.control.import-export
    162 
    163 export;/**/
    164 //     ^ - meta.export
    165 
    166 import * as
    167     alias from "module";
    168 // ^^^^^^^^^^^^^^^^^^^^^ meta.import.js
    169 
    170 import { member as
    171     alias } from "module";
    172 // ^^^^^^^^^^^^^^^^^^^^^^^ meta.import.js
    173 
    174 import { * as
    175     alias } from "module";
    176 // ^^^^^^^^^^^^^^^^^^^^^^^ meta.import.js
    177 
    178 export { member as
    179     alias } from "module";
    180 // ^^^^^^^^^^^^^^^^^^^^^^^ meta.export.js
    181 
    182 export { member as
    183     default } from "module";
    184 // ^^^^^^^^^^^^^^^^^^^^^^^^^ meta.export.js
    185 
    186 let from;
    187 //  ^^^^ variable.other.readwrite.js
    188 
    189 import from from "./othermod";
    190 //     ^^^^ variable.other.readwrite.js
    191 
    192 import { from } from "./othermod";
    193 //       ^^^^ variable.other.readwrite.js
    194 
    195 export from from "./othermod";
    196 //     ^^^^ variable.other.readwrite.js
    197 
    198 export { from } from "./othermod";
    199 //       ^^^^ variable.other.readwrite.js
    200 
    201 export default$
    202 //     ^^^^^^^^ - keyword
    203 ;
    204 
    205 let x = import.meta;
    206 //      ^^^^^^^^^^^ - meta.import
    207 //      ^^^^^^ keyword.import
    208 //            ^ punctuation.accessor
    209 //             ^^^^ variable.language.import
    210 
    211     import.meta;
    212 //  ^^^^^^^^^^^ - meta.import
    213 //  ^^^^^^ keyword.import
    214 //        ^ punctuation.accessor
    215 //         ^^^^ variable.language.import
    216 
    217     import
    218 //  ^^^^^^ - meta.import
    219     .meta;
    220 //  ^^^^^ - meta.import
    221 //  ^ punctuation.accessor
    222 //   ^^^^ variable.language.import
    223 
    224     import('foo');
    225 //  ^^^^^^ keyword.import
    226 //        ^^^^^^^ meta.group
    227 
    228     import
    229 //  ^^^^^^ - meta.import
    230     ('foo');
    231 //  ^^^^^^^ meta.group