|
617 | 617 | 'name': 'meta.class.instance.constructor' |
618 | 618 | } |
619 | 619 | { |
620 | | - 'match': '\\b(console)\\b' |
621 | | - 'name': 'entity.name.type.object.js.console' |
622 | | - } |
623 | | - { |
624 | | - 'match': '\\b(\\.)(assert|clear|debug|error|info|log|profile|profileEnd|time|timeEnd|warn)(?=\\()' |
625 | | - 'captures': |
626 | | - '1': |
627 | | - 'name': 'meta.delimiter.method.period.js' |
628 | | - '2': |
629 | | - 'name': 'support.function.js.console' |
| 620 | + # console |
| 621 | + # console.log(arg1, "arg2", [...]) |
| 622 | + 'begin': '\\bconsole\\b' |
| 623 | + 'beginCaptures': |
| 624 | + '0': |
| 625 | + 'name': 'entity.name.type.object.console.js' |
| 626 | + 'end': '(?!\\G)' |
| 627 | + 'patterns': [ |
| 628 | + { |
| 629 | + 'begin': '\\s*(\\.)\\s*(assert|clear|debug|error|info|log|profile|profileEnd|time|timeEnd|warn)\\s*(?=\\()' |
| 630 | + 'beginCaptures': |
| 631 | + '1': |
| 632 | + 'name': 'meta.delimiter.method.period.js' |
| 633 | + '2': |
| 634 | + 'name': 'support.function.console.js' |
| 635 | + 'end': '(?<=\\))' |
| 636 | + 'name': 'meta.method-call.js' |
| 637 | + 'patterns': [ |
| 638 | + { |
| 639 | + 'include': '#arguments' |
| 640 | + } |
| 641 | + ] |
| 642 | + } |
| 643 | + ] |
630 | 644 | } |
631 | 645 | { |
632 | 646 | 'include': '#strings' |
|
777 | 791 | 'match': '(?<!\\$)\\b(Anchor|Applet|Area|Array|Boolean|Button|Checkbox|Date|document|event|FileUpload|Form|Frame|Function|Hidden|History|Image|JavaArray|JavaClass|JavaObject|JavaPackage|java|Layer|Link|Location|Map|Math|MimeType|Number|navigator|netscape|Object|Option|Packages|Password|Plugin|Radio|RegExp|Reset|Select|Set|String|Style|Submit|Symbol|screen|sun|Text|Textarea|WeakMap|WeakSet|window|XMLHttpRequest)\\b' |
778 | 792 | 'name': 'support.class.js' |
779 | 793 | } |
780 | | - { |
781 | | - 'match': '(\\.)?(shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages|scrollByLines|scrollY|scrollTo|stop|strike|sin|sizeToContent|sidebar|signText|sort|sup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|Month|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|Time|Hotkeys|Cursor|Timeout|Interval|ZOptions|Active|Resizable|RequestHeader)|search|sqrt|slice|savePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|cos|concat|contextual|confirm|compile|ceil|clear|clearTimeout|clearInterval|captureEvents|call|createStyleSheet|createPopup|createEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|test|tan|taint|taintEnabled|isNaN|isFinite|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|untaint|unescape|unwatch|updateCommands|join|javaEnabled|pop|pow|push|plugins.refresh|paddings|parse|parseInt|parseFloat|print|prompt|preference|escape|enableExternalCapture|eval|elementFromPoint|exp|exec|execScript|execCommand|valueOf|UTC|queryCommandState|queryCommandIndeterm|queryCommandEnabled|queryCommandValue|find|file|fileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|forward|floor|fromCharCode|watch|link|load|log|lastIndexOf|asin|anchor|acos|attachEvent|atob|atan|atan2|apply|alert|abs|abort|round|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|releaseCapture|releaseEvents|random|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|Time|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|Attention|Selection|ResponseHeader|AllResponseHeaders)|min|moveBy|moveBelow|moveTo|moveToAbsolute|moveAbove|mergeAttributes|match|margins|max|btoa|big|bold|borderWidths|blink|back)\\b(?=\\()' |
782 | | - 'captures': |
783 | | - '1': |
784 | | - 'name': 'meta.delimiter.method.period.js' |
785 | | - '2': |
786 | | - 'name': 'support.function.js' |
787 | | - } |
788 | | - { |
789 | | - 'match': '(\\.)(substringData|submit|splitText|setNamedItem|setAttribute|setAttributeNode|select|hasChildNodes|hasFeature|namedItem|click|close|cloneNode|createComment|createCDATASection|createCaption|createTHead|createTextNode|createTFoot|createDocumentFragment|createProcessingInstruction|createEntityReference|createElement|createAttribute|tabIndex|insertRow|insertBefore|insertCell|insertData|item|open|deleteRow|deleteCell|deleteCaption|deleteTHead|deleteTFoot|deleteData|focus|write|writeln|add|appendChild|appendData|reset|replaceChild|replaceData|move|moveNamedItem|moveChild|moveAttribute|moveAttributeNode|getNamedItem|getElementsByName|getElementsByTagName|getElementById|getAttribute|getAttributeNode|blur)\\b(?=\\\()' |
790 | | - 'captures': |
791 | | - '1': |
792 | | - 'name': 'meta.delimiter.method.period.js' |
793 | | - '2': |
794 | | - 'name': 'support.function.dom.js' |
795 | | - } |
796 | 794 | { |
797 | 795 | 'match': '(\\.)(systemLanguage|scripts|scrollbars|screenX|screenY|screenTop|screenLeft|style|styleSheets|status|statusText|statusbar|siblingBelow|siblingAbove|source|suffixes|security|securityPolicy|selection|self|history|host|hostname|hash|hasFocus|XMLDocument|XSLDocument|next|namespaces|namespaceURI|nameProp|MIN_VALUE|MAX_VALUE|characterSet|constructor|controllers|cookieEnabled|colorDepth|components|complete|current|cpuClass|clip|clipBoardData|clientInformation|closed|classes|callee|caller|crypto|toolbar|top|textTransform|textIndent|textDecoration|textAlign|tags|SQRT1_2|SQRT2|innerHeight|innerWidth|input|ids|ignoreCase|zIndex|oscpu|onreadystatechange|onLine|outerHeight|outerWidth|opsProfile|opener|offscreenBuffering|NEGATIVE_INFINITY|display|dialogHeight|dialogTop|dialogWidth|dialogLeft|dialogArguments|directories|description|defaultStatus|defaultChecked|defaultCharset|defaultView|userProfile|userLanguage|userAgent|uniqueID|undefined|updateInterval|_content|pixelDepth|port|personalbar|pkcs11|plugins|platform|pathname|paddingRight|paddingBottom|paddingTop|paddingLeft|parent|parentWindow|parentLayer|pageX|pageXOffset|pageY|pageYOffset|protocol|prototype|product|productSub|prompter|previous|prefix|encoding|enabledPlugin|external|expando|embeds|visiblity|vendor|vendorSub|vLinkcolor|URLUnencoded|PI|POSITIVE_INFINITY|filename|fontSize|fontFamily|fontWeight|formName|frames|frameElement|fgColor|E|whiteSpace|listStyleType|lineHeight|linkColor|location|locationbar|localName|lowsrc|length|left|leftContext|lastModified|lastMatch|lastIndex|lastParen|layers|layerX|language|appMinorVersion|appName|appCodeName|appCore|appVersion|availHeight|availTop|availWidth|availLeft|all|arity|arguments|aLinkcolor|above|right|rightContext|responseXML|responeText|readyState|global|x|y|z|mimeTypes|multiline|menubar|marginRight|marginBottom|marginTop|marginLeft|LN10|LN2|LOG10E|LOG2E|bottom|border(Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth)|bufferDepth|below|backgroundColor|backgroundImage)\\b' |
798 | 796 | 'captures': |
|
813 | 811 | 'match': '\\b(ELEMENT_NODE|ATTRIBUTE_NODE|TEXT_NODE|CDATA_SECTION_NODE|ENTITY_REFERENCE_NODE|ENTITY_NODE|PROCESSING_INSTRUCTION_NODE|COMMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE|DOCUMENT_FRAGMENT_NODE|NOTATION_NODE|INDEX_SIZE_ERR|DOMSTRING_SIZE_ERR|HIERARCHY_REQUEST_ERR|WRONG_DOCUMENT_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR|NOT_SUPPORTED_ERR|INUSE_ATTRIBUTE_ERR)\\b' |
814 | 812 | 'name': 'support.constant.dom.js' |
815 | 813 | } |
816 | | - { |
817 | | - 'match': '\\bon(Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset|Readystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove|Before(cut|deactivate|unload|update|paste|print|editfocus|activate)|Blur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help|Change|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate|Datasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover|Dragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error|Errorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\\b' |
818 | | - 'name': 'support.function.event-handler.js' |
819 | | - } |
820 | | - { |
821 | | - 'match': '(?<!\\.)\\b(require)(?!\\s*:)\\b' |
822 | | - 'name': 'support.function.js' |
823 | | - } |
824 | 814 | { |
825 | 815 | 'match': '(?<!\\.)\\b(module|exports|__filename|__dirname|global|process)(?!\\s*:)\\b|(?<=\\?)(?:\\s*)(module|exports|__filename|__dirname|global|process)(?=\\s*:)' |
826 | 816 | 'captures': |
|
853 | 843 | 'include': '#operators' |
854 | 844 | } |
855 | 845 | { |
856 | | - 'include': '#method_call' |
| 846 | + 'include': '#method_calls' |
857 | 847 | } |
858 | 848 | { |
859 | | - 'include': '#function_call' |
| 849 | + 'include': '#function_calls' |
860 | 850 | } |
861 | 851 | { |
862 | 852 | 'include': '#numbers' |
|
1185 | 1175 | 'arguments': |
1186 | 1176 | 'patterns': [ |
1187 | 1177 | { |
1188 | | - 'include': '$self' |
| 1178 | + 'begin': '\\(' |
| 1179 | + 'beginCaptures': |
| 1180 | + '0': |
| 1181 | + 'name': 'punctuation.definition.arguments.begin.bracket.round.js' |
| 1182 | + 'end': '\\)' |
| 1183 | + 'endCaptures': |
| 1184 | + '0': |
| 1185 | + 'name': 'punctuation.definition.arguments.end.bracket.round.js' |
| 1186 | + 'name': 'meta.arguments.js' |
| 1187 | + 'patterns': [ |
| 1188 | + { |
| 1189 | + 'include': '$self' |
| 1190 | + } |
| 1191 | + ] |
1189 | 1192 | } |
1190 | 1193 | ] |
1191 | | - 'method_call': |
| 1194 | + 'method_calls': |
1192 | 1195 | 'patterns': [ |
1193 | 1196 | { |
1194 | | - 'comment': '.methodCall(arg1, "arg2", [...])' |
1195 | | - 'begin': '(\\.)([a-zA-Z_$][\\w$]*)\\s*(\\()' |
| 1197 | + # .methodCall(arg1, "arg2", [...]) |
| 1198 | + 'begin': '(\\.)\\s*([\\w$]+)\\s*(?=\\()' |
1196 | 1199 | 'beginCaptures': |
1197 | 1200 | '1': |
1198 | 1201 | 'name': 'meta.delimiter.method.period.js' |
1199 | 1202 | '2': |
1200 | | - 'name': 'entity.name.function.js' |
1201 | | - '3': |
1202 | | - 'name': 'punctuation.definition.arguments.begin.js' |
1203 | | - 'end': '\\)' |
1204 | | - 'endCaptures': |
1205 | | - '0': |
1206 | | - 'name': 'punctuation.definition.arguments.end.js' |
| 1203 | + 'patterns': [ |
| 1204 | + { |
| 1205 | + 'match': '''(?x) |
| 1206 | + \\bon(Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset| |
| 1207 | + Readystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove| |
| 1208 | + Before(cut|deactivate|unload|update|paste|print|editfocus|activate)| |
| 1209 | + Blur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help| |
| 1210 | + Change|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate| |
| 1211 | + Datasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover| |
| 1212 | + Dragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error| |
| 1213 | + Errorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\\b |
| 1214 | + ''' |
| 1215 | + 'name': 'support.function.event-handler.js' |
| 1216 | + } |
| 1217 | + { |
| 1218 | + 'match': '''(?x) |
| 1219 | + \\b(shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages| |
| 1220 | + scrollByLines|scrollY|scrollTo|stop|strike|sin|sizeToContent|sidebar|signText|sort| |
| 1221 | + sup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours| |
| 1222 | + Month|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)| |
| 1223 | + Time|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|sqrt|slice| |
| 1224 | + savePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|cos|concat| |
| 1225 | + contextual|confirm|compile|ceil|clear|captureEvents|call|createStyleSheet|createPopup| |
| 1226 | + createEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)| |
| 1227 | + test|tan|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift| |
| 1228 | + untaint|unwatch|updateCommands|join|javaEnabled|pop|pow|push|plugins.refresh|paddings|parse| |
| 1229 | + print|prompt|preference|enableExternalCapture|elementFromPoint|exp|exec|execScript| |
| 1230 | + execCommand|valueOf|UTC|queryCommandState|queryCommandIndeterm|queryCommandEnabled| |
| 1231 | + queryCommandValue|find|file|fileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate| |
| 1232 | + fixed|fontsize|fontcolor|forward|floor|fromCharCode|watch|link|load|log|lastIndexOf| |
| 1233 | + asin|anchor|acos|attachEvent|atob|atan|atan2|apply|alert|abs|abort|round|routeEvents| |
| 1234 | + resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|releaseCapture| |
| 1235 | + releaseEvents|random|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear| |
| 1236 | + Time|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)| |
| 1237 | + Attention|Selection|ResponseHeader|AllResponseHeaders)|min|moveBy|moveBelow|moveTo| |
| 1238 | + moveToAbsolute|moveAbove|mergeAttributes|match|margins|max|btoa|big|bold|borderWidths|blink|back)\\b |
| 1239 | + ''' |
| 1240 | + 'name': 'support.function.js' |
| 1241 | + } |
| 1242 | + { |
| 1243 | + 'match': '''(?x) |
| 1244 | + \\b(substringData|submit|splitText|setNamedItem|setAttribute|setAttributeNode|select| |
| 1245 | + hasChildNodes|hasFeature|namedItem|click|close|cloneNode|createComment|createCDATASection| |
| 1246 | + createCaption|createTHead|createTextNode|createTFoot|createDocumentFragment| |
| 1247 | + createProcessingInstruction|createEntityReference|createElement|createAttribute| |
| 1248 | + tabIndex|insertRow|insertBefore|insertCell|insertData|item|open|deleteRow|deleteCell| |
| 1249 | + deleteCaption|deleteTHead|deleteTFoot|deleteData|focus|write|writeln|add|appendChild| |
| 1250 | + appendData|reset|replaceChild|replaceData|move|moveNamedItem|moveChild|moveAttribute| |
| 1251 | + moveAttributeNode|getNamedItem|getElementsByName|getElementsByTagName|getElementById| |
| 1252 | + getAttribute|getAttributeNode|blur)\\b |
| 1253 | + ''' |
| 1254 | + 'name': 'support.function.dom.js' |
| 1255 | + } |
| 1256 | + { |
| 1257 | + 'match': "[a-zA-Z_$][\\w$]*" |
| 1258 | + 'name': 'entity.name.function.js' |
| 1259 | + } |
| 1260 | + { |
| 1261 | + 'match': '\\d[\\w$]*' |
| 1262 | + 'name': 'invalid.illegal.identifier.js' |
| 1263 | + } |
| 1264 | + ] |
| 1265 | + 'end': '(?<=\\))' |
1207 | 1266 | 'name': 'meta.method-call.js' |
1208 | 1267 | 'patterns': [ |
1209 | 1268 | { |
|
1212 | 1271 | ] |
1213 | 1272 | } |
1214 | 1273 | ] |
1215 | | - 'function_call': |
| 1274 | + 'function_calls': |
1216 | 1275 | 'patterns': [ |
1217 | 1276 | { |
1218 | | - 'comment': 'functionCall(arg1, "arg2", [...])' |
1219 | | - 'begin': '(?:(\\d\\w*)|([a-zA-Z_$][\\w$]*))\\s*(\\()' |
| 1277 | + # functionCall(arg1, "arg2", [...]) |
| 1278 | + 'begin': '([\\w$]+)\\s*(?=\\()' |
1220 | 1279 | 'beginCaptures': |
1221 | 1280 | '1': |
1222 | | - 'name': 'invalid.illegal.identifier.js' |
1223 | | - '2': |
1224 | | - 'name': 'entity.name.function.js' |
1225 | | - '3': |
1226 | | - 'name': 'punctuation.definition.arguments.begin.js' |
1227 | | - 'end': '\\)' |
1228 | | - 'endCaptures': |
1229 | | - '0': |
1230 | | - 'name': 'punctuation.definition.arguments.end.js' |
| 1281 | + 'patterns': [ |
| 1282 | + { |
| 1283 | + 'match': '''(?x) |
| 1284 | + \\b(isNaN|isFinite|eval|uneval|parseInt|parseFloat|decodeURI| |
| 1285 | + decodeURIComponent|encodeURI|encodeURIComponent|escape|unescape| |
| 1286 | + require|set(Interval|Timeout)|clear(Interval|Timeout))\\b |
| 1287 | + ''' |
| 1288 | + 'name': 'support.function.js' |
| 1289 | + } |
| 1290 | + { |
| 1291 | + 'match': "[a-zA-Z_$][\\w$]*" |
| 1292 | + 'name': 'entity.name.function.js' |
| 1293 | + } |
| 1294 | + { |
| 1295 | + 'match': '\\d[\\w$]*' |
| 1296 | + 'name': 'invalid.illegal.identifier.js' |
| 1297 | + } |
| 1298 | + ] |
| 1299 | + 'end': '(?<=\\))' |
1231 | 1300 | 'name': 'meta.function-call.js' |
1232 | 1301 | 'patterns': [ |
1233 | 1302 | { |
|
0 commit comments