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