9898 "patterns" : [
9999 {
100100 "name" : " meta.var-single-variable.expr.js" ,
101- "begin" : " (?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\\ s*\n (=\\ s*(\n (async\\ s+) |\n (function\\ s*[(<]) |\n (function\\ s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>) |\n ((<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>))\n ) |\n (:\\ s*(\n (<) |\n ([(]\\ s*(\n ([)]) |\n (\\ .\\ .\\ .) |\n ([_$[:alnum:]]+\\ s*(\n ([:,?=])|\n ([)]\\ s*=>)\n ))\n )))\n )\n )" ,
101+ "begin" : " (?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\\ s*\n (=\\ s*(\n (async\\ s+) |\n (function\\ s*[(<]) |\n (function\\ s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>) |\n ([(] \\ s*(([)] \\ s*:)|([_$[:alpha:]][_$[:alnum:]]* \\ s*:)|( \\ . \\ . \\ .) )) | \n ([<] \\ s*[_$[:alpha:]][_$[:alnum:]]*(( \\ s+extends \\ s*[^=>])|( \\ s*[,]))) | \n ( (<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>))\n ) |\n (:\\ s*(\n (<) |\n ([(]\\ s*(\n ([)]) |\n (\\ .\\ .\\ .) |\n ([_$[:alnum:]]+\\ s*(\n ([:,?=])|\n ([)]\\ s*=>)\n ))\n )))\n )\n )" ,
102102 "beginCaptures" : {
103103 "1" : {
104104 "name" : " entity.name.function.js"
614614 },
615615 "namespace-declaration" : {
616616 "name" : " meta.namespace.declaration.js" ,
617- "begin" : " (?<!\\ .|\\ $)(?:(\\ bexport)\\ s+)?\\ b(namespace|module)\\ s+" ,
617+ "begin" : " (?<!\\ .|\\ $)(?:(\\ bexport)\\ s+)?\\ b(namespace|module)\\ s+(?=[_$[:alpha:] \" '`]) " ,
618618 "beginCaptures" : {
619619 "1" : {
620620 "name" : " keyword.control.export.js"
10191019 {
10201020 "include" : " #property-accessor"
10211021 },
1022+ {
1023+ "include" : " #after-operator-block"
1024+ },
1025+ {
1026+ "include" : " #decl-block"
1027+ },
10221028 {
10231029 "include" : " #expression"
10241030 },
11261132 },
11271133 {
11281134 "name" : " entity.name.function.js" ,
1129- "match" : " (?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\\ ?\\ s*)?\\ s*\n (=\\ s*(\n (async\\ s+) |\n (function\\ s*[(<]) |\n (function\\ s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>) |\n ((<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>))\n ) |\n (:\\ s*(\n (<) |\n ([(]\\ s*(\n ([)]) |\n (\\ .\\ .\\ .) |\n ([_$[:alnum:]]+\\ s*(\n ([:,?=])|\n ([)]\\ s*=>)\n ))\n )))\n )\n )"
1135+ "match" : " (?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\\ ?\\ s*)?\\ s*\n (=\\ s*(\n (async\\ s+) |\n (function\\ s*[(<]) |\n (function\\ s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>) |\n ([(] \\ s*(([)] \\ s*:)|([_$[:alpha:]][_$[:alnum:]]* \\ s*:)|( \\ . \\ . \\ .) )) | \n ([<] \\ s*[_$[:alpha:]][_$[:alnum:]]*(( \\ s+extends \\ s*[^=>])|( \\ s*[,]))) | \n ( (<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>))\n ) |\n (:\\ s*(\n (<) |\n ([(]\\ s*(\n ([)]) |\n (\\ .\\ .\\ .) |\n ([_$[:alnum:]]+\\ s*(\n ([:,?=])|\n ([)]\\ s*=>)\n ))\n )))\n )\n )"
11301136 },
11311137 {
11321138 "name" : " variable.object.property.js" ,
11661172 "name" : " keyword.generator.asterisk.js"
11671173 }
11681174 },
1169- "end" : " (?=\\ }|;|,)|(?<=\\ })" ,
1175+ "end" : " (?=\\ }|;|,|$ )|(?<=\\ })" ,
11701176 "patterns" : [
11711177 {
11721178 "include" : " #method-declaration-name"
11831189 {
11841190 "include" : " #return-type"
11851191 },
1186- {
1187- "include" : " #method-overload-declaration"
1188- },
11891192 {
11901193 "include" : " #decl-block"
11911194 }
11921195 ]
11931196 },
1194- "method-overload-declaration" : {
1195- "begin" : " (?<!\\ .|\\ $)(?:\\ b(public|private|protected)\\ s+)?(?:\\ b(abstract)\\ s+)?(?:\\ b(async)\\ s+)?(?:\\ b(get|set)\\ s+)?(?:(?:\\ b(?:(new)|(constructor))\\ b(?!\\ $|:))|(?:(\\ *)\\ s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\ '[^']*\\ ')|(\\\" [^\" ]*\\\" )|(\\ [([^\\ [\\ ]]|\\ [[^\\ [\\ ]]*\\ ])+\\ ]))\\ s*(\\ ??))?\\ s*[\\ (\\ <]))" ,
1196- "beginCaptures" : {
1197- "1" : {
1198- "name" : " storage.modifier.js"
1199- },
1200- "2" : {
1201- "name" : " storage.modifier.js"
1202- },
1203- "3" : {
1204- "name" : " storage.modifier.async.js"
1205- },
1206- "4" : {
1207- "name" : " storage.type.property.js"
1208- },
1209- "5" : {
1210- "name" : " keyword.operator.new.js"
1211- },
1212- "6" : {
1213- "name" : " storage.type.js"
1214- },
1215- "7" : {
1216- "name" : " keyword.generator.asterisk.js"
1217- }
1218- },
1219- "end" : " (?=\\ (|\\ <)" ,
1220- "patterns" : [
1221- {
1222- "include" : " #method-declaration-name"
1223- }
1224- ]
1225- },
12261197 "method-declaration-name" : {
12271198 "begin" : " (?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\ '[^']*\\ ')|(\\\" [^\" ]*\\\" )|(\\ [([^\\ [\\ ]]|\\ [[^\\ [\\ ]]*\\ ])+\\ ]))\\ s*(\\ ??)\\ s*[\\ (\\ <])" ,
12281199 "end" : " (?=\\ (|\\ <)" ,
12751246 "include" : " #return-type"
12761247 },
12771248 {
1278- "include" : " #method-overload-declaration"
1249+ "include" : " #object-literal- method-overload-declaration"
12791250 },
12801251 {
12811252 "include" : " #decl-block"
13831354 "name" : " entity.name.function.js"
13841355 }
13851356 },
1386- "end" : " (?=;|\\ })|(?<=\\ })" ,
1357+ "end" : " (?=$| ;|\\ })|(?<=\\ })" ,
13871358 "patterns" : [
13881359 {
13891360 "include" : " #comment"
13971368 {
13981369 "include" : " #return-type"
13991370 },
1400- {
1401- "include" : " #function-overload-declaration"
1402- },
14031371 {
14041372 "include" : " #decl-block"
14051373 }
14061374 ]
14071375 },
1408- "function-overload-declaration" : {
1409- "name" : " meta.function.overload.js" ,
1410- "match" : " (?<!\\ .|\\ $)\\ b(?:(export)\\ s+)?(?:(async)\\ s+)?(function\\ b)(?:\\ s*(\\ *))?(?:(?:\\ s+|(?<=\\ *))([_$[:alpha:]][_$[:alnum:]]*))?\\ s*" ,
1411- "captures" : {
1412- "1" : {
1413- "name" : " keyword.control.export.js"
1414- },
1415- "2" : {
1416- "name" : " storage.modifier.async.js"
1417- },
1418- "3" : {
1419- "name" : " storage.type.function.js"
1420- },
1421- "4" : {
1422- "name" : " keyword.generator.asterisk.js"
1423- },
1424- "5" : {
1425- "name" : " entity.name.function.js"
1426- }
1427- }
1428- },
14291376 "object-literal" : {
14301377 "name" : " meta.objectliteral.js" ,
14311378 "begin" : " \\ {" ,
14971444 }
14981445 },
14991446 {
1500- "match" : " (?x)(?:\\ s*\\ b(public|private|protected|readonly)\\ s+)?(\\ .\\ .\\ .)?\\ s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\ s*(\\ ??)(?=\\ s*\n (=\\ s*(\n (async\\ s+) |\n (function\\ s*[(<]) |\n (function\\ s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>) |\n ((<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>))\n ) |\n (:\\ s*(\n (<) |\n ([(]\\ s*(\n ([)]) |\n (\\ .\\ .\\ .) |\n ([_$[:alnum:]]+\\ s*(\n ([:,?=])|\n ([)]\\ s*=>)\n ))\n )))\n )\n )" ,
1447+ "match" : " (?x)(?:\\ s*\\ b(public|private|protected|readonly)\\ s+)?(\\ .\\ .\\ .)?\\ s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\ s*(\\ ??)(?=\\ s*\n (=\\ s*(\n (async\\ s+) |\n (function\\ s*[(<]) |\n (function\\ s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>) |\n ([(] \\ s*(([)] \\ s*:)|([_$[:alpha:]][_$[:alnum:]]* \\ s*:)|( \\ . \\ . \\ .) )) | \n ([<] \\ s*[_$[:alpha:]][_$[:alnum:]]*(( \\ s+extends \\ s*[^=>])|( \\ s*[,]))) | \n ( (<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>))\n ) |\n (:\\ s*(\n (<) |\n ([(]\\ s*(\n ([)]) |\n (\\ .\\ .\\ .) |\n ([_$[:alnum:]]+\\ s*(\n ([:,?=])|\n ([)]\\ s*=>)\n ))\n )))\n )\n )" ,
15011448 "captures" : {
15021449 "1" : {
15031450 "name" : " storage.modifier.js"
20411988 ]
20421989 },
20431990 "variable-initializer" : {
2044- "begin" : " (?<!=|!)(=)(?!=)" ,
2045- "beginCaptures" : {
2046- "1" : {
2047- "name" : " keyword.operator.assignment.js"
2048- }
2049- },
2050- "end" : " (?=$|[,);}\\ ]])" ,
20511991 "patterns" : [
20521992 {
2053- "include" : " #expression"
1993+ "begin" : " (?<!=|!)(=)(?!=)(?=\\ s*\\ S)" ,
1994+ "beginCaptures" : {
1995+ "1" : {
1996+ "name" : " keyword.operator.assignment.js"
1997+ }
1998+ },
1999+ "end" : " (?=$|[,);}\\ ]])" ,
2000+ "patterns" : [
2001+ {
2002+ "include" : " #expression"
2003+ }
2004+ ]
2005+ },
2006+ {
2007+ "begin" : " (?<!=|!)(=)(?!=)" ,
2008+ "beginCaptures" : {
2009+ "1" : {
2010+ "name" : " keyword.operator.assignment.js"
2011+ }
2012+ },
2013+ "end" : " (?=[,);}\\ ]])|(?=^\\ s*$)" ,
2014+ "patterns" : [
2015+ {
2016+ "include" : " #expression"
2017+ }
2018+ ]
20542019 }
20552020 ]
20562021 },
23972362 }
23982363 },
23992364 {
2400- "match" : " (?x)(?:(\\ .)\\ s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\ s*=\\ s*(\n (async\\ s+)|(function\\ s*[(<])|(function\\ s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>)|\n ((<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>)))" ,
2365+ "match" : " (?x)(?:(\\ .)\\ s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\ s*=\\ s*(\n (async\\ s+)|(function\\ s*[(<])|(function\\ s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>)|\n ([(] \\ s*(([)] \\ s*:)|([_$[:alpha:]][_$[:alnum:]]* \\ s*:)|( \\ . \\ . \\ .) )) | \n ([<] \\ s*[_$[:alpha:]][_$[:alnum:]]*(( \\ s+extends \\ s*[^=>])|( \\ s*[,]))) | \n ( (<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>)))" ,
24012366 "captures" : {
24022367 "1" : {
24032368 "name" : " punctuation.accessor.js"
24652430 "name" : " keyword.operator.new.js"
24662431 }
24672432 },
2468- "end" : " (?<=\\ ))|(?=[;),]|$|((?<!\\ .|\\ $)\\ bnew\\ b(?!\\ $)))" ,
2433+ "end" : " (?<=\\ ))|(?=[;),} ]|$|((?<!\\ .|\\ $)\\ bnew\\ b(?!\\ $)))" ,
24692434 "patterns" : [
24702435 {
24712436 "include" : " #paren-expression"
25162481 },
25172482 {
25182483 "name" : " meta.object.member.js" ,
2519- "begin" : " (?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\ s*(:)(?=\\ s*(\n (async\\ s+)|(function\\ s*[(<])|(function\\ s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>)|\n ((<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>))))" ,
2484+ "begin" : " (?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\ s*(:)(?=\\ s*(\n (async\\ s+)|(function\\ s*[(<])|(function\\ s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*=>)|\n ([(] \\ s*(([)] \\ s*:)|([_$[:alpha:]][_$[:alnum:]]* \\ s*:)|( \\ . \\ . \\ .) )) | \n ([<] \\ s*[_$[:alpha:]][_$[:alnum:]]*(( \\ s+extends \\ s*[^=>])|( \\ s*[,]))) | \n ( (<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>))))" ,
25202485 "beginCaptures" : {
25212486 "0" : {
25222487 "name" : " meta.object-literal.key.js"
26932658 },
26942659 "arrow-function" : {
26952660 "patterns" : [
2696- {
2697- "name" : " meta.arrow.js" ,
2698- "match" : " (?<!\\ .|\\ $)(\\ basync)(?=\\ s*[<(])" ,
2699- "captures" : {
2700- "1" : {
2701- "name" : " storage.modifier.async.js"
2702- }
2703- }
2704- },
27052661 {
27062662 "name" : " meta.arrow.js" ,
27072663 "match" : " (?:(?<!\\ .|\\ $)(\\ basync)\\ s*)?([_$[:alpha:]][_$[:alnum:]]*)\\ s*(?==>)" ,
27162672 },
27172673 {
27182674 "name" : " meta.arrow.js" ,
2719- "begin" : " (?x)\\ s*(?=(<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)?\\ (([^()]|\\ ([^()]*\\ ))*\\ )(\\ s*:\\ s*(.)*)?\\ s*=>)" ,
2675+ "begin" : " (?x) (?:\n (?<!\\ .|\\ $)(\\ basync)(?=\\ s*[<(])\n ) | (\\ s*\n (?=\n # sure shot arrow functions even if => is on new line\n (\n [(]\\ s*\n (\n ([)]\\ s*:) | # ():\n ([_$[:alpha:]][_$[:alnum:]]*\\ s*:) | # [(]param:\n (\\ .\\ .\\ .) # [(]...\n )\n ) |\n (\n [<]\\ s*[_$[:alpha:]][_$[:alnum:]]*\n (\n (\\ s+extends\\ s*[^=>]) | # < typeparam extends \n (\\ s*[,]) # < typeparam,\n )\n ) |\n # arrow function possible to detect only with => on same line\n (\n (<([^<>]|\\ <[^<>]+\\ >)+>\\ s*)? # typeparameters\n \\ (([^()]|\\ ([^()]*\\ ))*\\ ) # parameteres\n (\\ s*:\\ s*(.)*)? # return type\n \\ s*=> # arrow operator\n )\n )\n )" ,
2676+ "beginCaptures" : {
2677+ "1" : {
2678+ "name" : " storage.modifier.async.js"
2679+ }
2680+ },
27202681 "end" : " (?==>)" ,
27212682 "patterns" : [
27222683 {
36873648 ]
36883649 }
36893650 },
3690- "version" : " https://github.com/Microsoft/TypeScript-TmLanguage/commit/3ee427b1527b890e3a56c1545b8ba1c39953fa36 "
3651+ "version" : " https://github.com/Microsoft/TypeScript-TmLanguage/commit/f97fcdbb2f80123605982ca63b9ba68bb837df87 "
36913652}
0 commit comments