@codingame/monaco-vscode-api 1.78.8 → 1.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/activity.d.ts +2902 -0
- package/dist/api.js +6 -5
- package/dist/assets/activityaction.css +224 -0
- package/dist/assets/activitybarpart.css +65 -0
- package/dist/assets/basepanelpart.css +221 -0
- package/dist/assets/callHierarchy.css +62 -0
- package/dist/assets/{sidebysideeditor.css → compositepart.css} +10 -2
- package/dist/assets/debugViewlet.css +337 -0
- package/dist/assets/explorerviewlet.css +129 -0
- package/dist/assets/hover.css +127 -0
- package/dist/assets/interactiveSession.css +340 -0
- package/dist/assets/menubar.css +111 -0
- package/dist/assets/menubarControl.css +61 -0
- package/dist/assets/notificationsCenter.css +3 -3
- package/dist/assets/panelpart.css +75 -0
- package/dist/assets/part.css +109 -0
- package/dist/assets/repl.css +145 -0
- package/dist/assets/sidebarpart.css +61 -0
- package/dist/assets/tunnelView.css +107 -0
- package/dist/assets/typeHierarchy.css +62 -0
- package/dist/assets/views.css +297 -0
- package/dist/collections.d.ts +7 -0
- package/dist/colorRegistry.d.ts +710 -0
- package/dist/contextkey.d.ts +330 -0
- package/dist/debugProtocol.d.ts +2343 -0
- package/dist/default-extensions/bat.js +5 -4
- package/dist/default-extensions/clojure.js +4 -3
- package/dist/default-extensions/coffeescript.js +5 -4
- package/dist/default-extensions/cpp.js +10 -9
- package/dist/default-extensions/csharp.js +5 -4
- package/dist/default-extensions/css.js +4 -3
- package/dist/default-extensions/dart.js +4 -3
- package/dist/default-extensions/diff.js +4 -3
- package/dist/default-extensions/docker.js +4 -3
- package/dist/default-extensions/fsharp.js +5 -4
- package/dist/default-extensions/go.js +4 -3
- package/dist/default-extensions/groovy.js +5 -4
- package/dist/default-extensions/handlebars.js +4 -3
- package/dist/default-extensions/hlsl.js +4 -3
- package/dist/default-extensions/html.js +6 -5
- package/dist/default-extensions/ini.js +5 -4
- package/dist/default-extensions/java.js +5 -4
- package/dist/default-extensions/javascript.js +8 -7
- package/dist/default-extensions/json.js +5 -4
- package/dist/default-extensions/julia.js +4 -3
- package/dist/default-extensions/latex.js +10 -9
- package/dist/default-extensions/less.js +4 -3
- package/dist/default-extensions/log.js +3 -2
- package/dist/default-extensions/lua.js +4 -3
- package/dist/default-extensions/make.js +4 -3
- package/dist/default-extensions/markdown-basics.js +5 -4
- package/dist/default-extensions/objective-c.js +5 -4
- package/dist/default-extensions/perl.js +6 -5
- package/dist/default-extensions/php.js +6 -5
- package/dist/default-extensions/powershell.js +4 -3
- package/dist/default-extensions/pug.js +4 -3
- package/dist/default-extensions/python.js +5 -4
- package/dist/default-extensions/r.js +4 -3
- package/dist/default-extensions/razor.js +4 -3
- package/dist/default-extensions/references-view.js +8 -0
- package/dist/default-extensions/ruby.js +4 -3
- package/dist/default-extensions/rust.js +4 -3
- package/dist/default-extensions/scss.js +5 -4
- package/dist/default-extensions/shaderlab.js +4 -3
- package/dist/default-extensions/shellscript.js +4 -3
- package/dist/default-extensions/sql.js +4 -3
- package/dist/default-extensions/swift.js +5 -4
- package/dist/default-extensions/theme-abyss.js +3 -2
- package/dist/default-extensions/theme-defaults.js +31 -10
- package/dist/default-extensions/theme-kimbie-dark.js +3 -2
- package/dist/default-extensions/theme-monokai-dimmed.js +3 -2
- package/dist/default-extensions/theme-monokai.js +3 -2
- package/dist/default-extensions/theme-quietlight.js +3 -2
- package/dist/default-extensions/theme-red.js +3 -2
- package/dist/default-extensions/theme-seti.js +5 -2
- package/dist/default-extensions/theme-solarized-dark.js +3 -2
- package/dist/default-extensions/theme-solarized-light.js +3 -2
- package/dist/default-extensions/theme-tomorrow-night-blue.js +3 -2
- package/dist/default-extensions/typescript-basics.js +8 -7
- package/dist/default-extensions/vb.js +5 -4
- package/dist/default-extensions/xml.js +6 -5
- package/dist/default-extensions/yaml.js +4 -3
- package/dist/editor.d.ts +322 -0
- package/dist/editorBrowser.d.ts +3128 -0
- package/dist/event.d.ts +581 -0
- package/dist/extension-tools-d0cfdea1.js +25603 -0
- package/dist/extensions.d.ts +20 -829
- package/dist/extensions.d2.ts +457 -0
- package/dist/extensions.js +100 -5
- package/dist/extensionsRegistry.d.ts +239 -0
- package/dist/files.d.ts +853 -0
- package/dist/instantiation.d.ts +59 -0
- package/dist/jsonSchema.d.ts +90 -0
- package/dist/keybinding.d.ts +622 -0
- package/dist/languageFeatures.d.ts +4762 -0
- package/dist/log.d.ts +150 -0
- package/dist/monaco.d.ts +42 -5195
- package/dist/override/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -0
- package/dist/rollup-extension-directory-plugin.d.ts +5 -2
- package/dist/rollup-extension-directory-plugin.js +74 -46
- package/dist/rollup-vsix-plugin.d.ts +4 -2
- package/dist/rollup-vsix-plugin.js +57 -19
- package/dist/service-override/audioCue.d.ts +4 -19
- package/dist/service-override/configuration.d.ts +10 -628
- package/dist/service-override/configuration.js +16 -4
- package/dist/service-override/debug.d.ts +4 -19
- package/dist/service-override/dialogs.d.ts +3 -3
- package/dist/service-override/files.d.ts +53 -818
- package/dist/service-override/files.js +37 -15
- package/dist/service-override/keybindings.d.ts +9 -11
- package/dist/service-override/languages.d.ts +4 -74
- package/dist/service-override/layout.js +80 -6
- package/dist/service-override/modelEditor.d.ts +9 -557
- package/dist/service-override/modelEditor.js +5 -3
- package/dist/service-override/notifications.d.ts +3 -3
- package/dist/service-override/preferences.d.ts +3 -3
- package/dist/service-override/snippets.d.ts +3 -3
- package/dist/service-override/textmate.d.ts +3 -11
- package/dist/service-override/theme.d.ts +4 -16
- package/dist/service-override/views.d.ts +502 -0
- package/dist/service-override/views.js +177 -0
- package/dist/services.d.ts +1946 -16903
- package/dist/services.js +3 -0
- package/dist/standaloneServices.d.ts +14 -0
- package/dist/themables.d.ts +28 -0
- package/dist/uri.d.ts +151 -0
- package/dist/vscode/vs/base/browser/ui/menu/menubar.js +831 -0
- package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +151 -2
- package/dist/vscode/vs/base/browser/ui/tree/treeDefaults.js +14 -0
- package/dist/vscode/vs/platform/backup/common/backup.js +7 -0
- package/dist/vscode/vs/platform/configuration/common/configurationRegistry.js +10 -0
- package/dist/vscode/vs/platform/credentials/common/credentials.js +3 -0
- package/dist/vscode/vs/platform/extensionManagement/common/extensionManagementUtil.js +4 -1
- package/dist/vscode/vs/platform/extensionManagement/common/extensionStorage.js +174 -0
- package/dist/vscode/vs/platform/files/common/fileService.js +2 -11
- package/dist/vscode/vs/platform/files/common/files.js +28 -0
- package/dist/vscode/vs/platform/files/common/io.js +2 -7
- package/dist/vscode/vs/platform/languagePacks/common/languagePacks.js +3 -0
- package/dist/vscode/vs/platform/remote/common/remoteAuthorityResolver.js +3 -1
- package/dist/vscode/vs/platform/storage/common/storage.js +332 -0
- package/dist/vscode/vs/platform/telemetry/common/telemetryUtils.js +2 -1
- package/dist/vscode/vs/platform/tunnel/common/tunnel.js +29 -1
- package/dist/vscode/vs/platform/update/common/update.js +3 -0
- package/dist/vscode/vs/platform/window/common/window.js +33 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadBulkEdits.js +18 -1
- package/dist/vscode/vs/workbench/api/browser/mainThreadDebugService.js +21 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadExtensionService.js +1 -1
- package/dist/vscode/vs/workbench/api/browser/mainThreadLanguageFeatures.js +13 -10
- package/dist/vscode/vs/workbench/api/browser/mainThreadLocalization.js +33 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadStorage.js +69 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadTreeViews.js +300 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadWorkspace.js +21 -1
- package/dist/vscode/vs/workbench/api/browser/viewsExtensionPoint.js +699 -0
- package/dist/vscode/vs/workbench/api/common/extHost.protocol.js +5 -1
- package/dist/vscode/vs/workbench/api/common/extHostConfiguration.js +13 -8
- package/dist/vscode/vs/workbench/api/common/extHostDebugService.js +31 -0
- package/dist/vscode/vs/workbench/api/common/extHostExtensionService.js +4 -4
- package/dist/vscode/vs/workbench/api/common/extHostLanguageFeatures.js +54 -43
- package/dist/vscode/vs/workbench/api/common/extHostTreeViews.js +823 -0
- package/dist/vscode/vs/workbench/api/common/extHostTypeConverters.js +33 -13
- package/dist/vscode/vs/workbench/api/common/extHostTypes.js +29 -1
- package/dist/vscode/vs/workbench/api/common/extHostVariableResolverService.js +3 -3
- package/dist/vscode/vs/workbench/api/common/extHostWorkspace.js +8 -0
- package/dist/vscode/vs/workbench/api/common/shared/dataTransferCache.js +1 -1
- package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +318 -0
- package/dist/vscode/vs/workbench/browser/actions/listCommands.js +602 -0
- package/dist/vscode/vs/workbench/browser/actions/windowActions.js +271 -0
- package/dist/vscode/vs/workbench/browser/actions/workspaceActions.js +250 -0
- package/dist/vscode/vs/workbench/browser/actions/workspaceCommands.js +6 -0
- package/dist/vscode/vs/workbench/browser/composite.js +49 -1
- package/dist/vscode/vs/workbench/browser/dnd.js +395 -0
- package/dist/vscode/vs/workbench/browser/labels.js +426 -0
- package/dist/vscode/vs/workbench/browser/panecomposite.js +158 -0
- package/dist/vscode/vs/workbench/browser/part.js +84 -0
- package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarActions.js +582 -0
- package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarPart.js +784 -0
- package/dist/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +146 -0
- package/dist/vscode/vs/workbench/browser/parts/compositeBar.js +687 -0
- package/dist/vscode/vs/workbench/browser/parts/compositeBarActions.js +578 -0
- package/dist/vscode/vs/workbench/browser/parts/compositePart.js +319 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +7 -7
- package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +4 -1121
- package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +381 -0
- package/dist/vscode/vs/workbench/browser/parts/panel/panelPart.js +753 -0
- package/dist/vscode/vs/workbench/browser/parts/sidebar/sidebarPart.js +217 -0
- package/dist/vscode/vs/workbench/browser/parts/titlebar/menubarControl.js +600 -0
- package/dist/vscode/vs/workbench/browser/parts/views/checkbox.js +80 -0
- package/dist/vscode/vs/workbench/browser/parts/views/treeView.js +1475 -0
- package/dist/vscode/vs/workbench/browser/parts/views/viewFilter.js +181 -0
- package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +50 -2
- package/dist/vscode/vs/workbench/browser/parts/views/viewPaneContainer.js +1020 -0
- package/dist/vscode/vs/workbench/browser/parts/views/viewsService.js +562 -0
- package/dist/vscode/vs/workbench/browser/parts/views/viewsViewlet.js +109 -0
- package/dist/vscode/vs/workbench/browser/style.js +43 -0
- package/dist/vscode/vs/workbench/common/activity.js +3 -0
- package/dist/vscode/vs/workbench/common/contextkeys.js +31 -9
- package/dist/vscode/vs/workbench/common/editor/textEditorModel.js +7 -8
- package/dist/vscode/vs/workbench/common/editor.js +1 -47
- package/dist/vscode/vs/workbench/common/theme.js +38 -25
- package/dist/vscode/vs/workbench/common/views.js +280 -1
- package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +62 -1
- package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +305 -0
- package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +373 -0
- package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +257 -0
- package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +259 -0
- package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +337 -0
- package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +119 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/baseDebugView.js +8 -2
- package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +12 -4
- package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointWidget.js +5 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointsView.js +585 -8
- package/dist/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +5 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/callStackView.js +954 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +151 -145
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugANSIHandling.js +345 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +79 -3
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorActions.js +522 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorContribution.js +10 -9
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugHover.js +15 -7
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +28 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugSession.js +72 -65
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugViewlet.js +166 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/linkDetector.js +10 -10
- package/dist/vscode/vs/workbench/contrib/debug/browser/loadedScriptsView.js +629 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/repl.js +908 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/replFilter.js +46 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/replViewer.js +330 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/variablesView.js +295 -10
- package/dist/vscode/vs/workbench/contrib/debug/browser/watchExpressionsView.js +411 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/welcomeView.js +85 -0
- package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +98 -1
- package/dist/vscode/vs/workbench/contrib/debug/common/debugModel.js +10 -1
- package/dist/vscode/vs/workbench/contrib/debug/common/debugViewModel.js +9 -1
- package/dist/vscode/vs/workbench/contrib/debug/common/replModel.js +51 -1
- package/dist/vscode/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/explorerViewlet.js +254 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.contribution.js +207 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +1119 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +595 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/fileConstants.js +26 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/fileImportExport.js +708 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +368 -13
- package/dist/vscode/vs/workbench/contrib/files/browser/files.js +88 -1
- package/dist/vscode/vs/workbench/contrib/files/browser/views/emptyView.js +88 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +73 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerView.js +796 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerViewer.js +1209 -0
- package/dist/vscode/vs/workbench/contrib/files/common/files.js +194 -3
- package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionFollowups.js +30 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionInputPart.js +196 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionListRenderer.js +622 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionOptions.js +77 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionWidget.js +311 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionContextKeys.js +48 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionService.js +8 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionViewModel.js +207 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionWidgetHistoryService.js +3 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionWordCounter.js +25 -0
- package/dist/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser.js +27 -0
- package/dist/vscode/vs/workbench/contrib/notebook/common/notebookCommon.js +79 -1
- package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput.js +249 -0
- package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.js +3 -0
- package/dist/vscode/vs/workbench/contrib/notebook/common/notebookService.js +10 -0
- package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +117 -19
- package/dist/vscode/vs/workbench/contrib/remote/browser/remoteExplorer.js +186 -0
- package/dist/vscode/vs/workbench/contrib/remote/browser/remoteIcons.js +23 -0
- package/dist/vscode/vs/workbench/contrib/remote/browser/tunnelView.js +1636 -0
- package/dist/vscode/vs/workbench/contrib/scm/common/scm.js +2 -0
- package/dist/vscode/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +167 -0
- package/dist/vscode/vs/workbench/contrib/testing/common/testId.js +5 -2
- package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +244 -0
- package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +332 -0
- package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +117 -0
- package/dist/vscode/vs/workbench/contrib/webview/browser/webview.js +41 -0
- package/dist/vscode/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +20 -0
- package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +231 -0
- package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewService.js +3 -0
- package/dist/vscode/vs/workbench/services/actions/common/menusExtensionPoint.js +179 -1
- package/dist/vscode/vs/workbench/services/activity/browser/activityService.js +94 -0
- package/dist/vscode/vs/workbench/services/activity/common/activity.js +15 -1
- package/dist/vscode/vs/workbench/services/authentication/browser/authenticationService.js +35 -0
- package/dist/vscode/vs/workbench/services/authentication/common/authentication.js +3 -0
- package/dist/vscode/vs/workbench/services/configuration/browser/configuration.js +1 -1
- package/dist/vscode/vs/workbench/services/configurationResolver/common/variableResolver.js +13 -13
- package/dist/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -3
- package/dist/vscode/vs/workbench/services/extensions/common/extensionStorageMigration.js +56 -0
- package/dist/vscode/vs/workbench/services/extensions/common/extensions.js +1 -1
- package/dist/vscode/vs/workbench/services/extensions/common/extensionsApiProposals.js +8 -0
- package/dist/vscode/vs/workbench/services/hover/browser/hover.js +3 -0
- package/dist/vscode/vs/workbench/services/hover/browser/hoverService.js +149 -0
- package/dist/vscode/vs/workbench/services/hover/browser/hoverWidget.js +514 -0
- package/dist/vscode/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +29 -29
- package/dist/vscode/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +11 -11
- package/dist/vscode/vs/workbench/services/language/common/languageService.js +1 -1
- package/dist/vscode/vs/workbench/services/layout/browser/layoutService.js +9 -1
- package/dist/vscode/vs/workbench/services/remote/common/remoteExplorerService.js +782 -0
- package/dist/vscode/vs/workbench/services/search/common/ignoreFile.js +102 -0
- package/dist/vscode/vs/workbench/services/search/common/queryBuilder.js +26 -8
- package/dist/vscode/vs/workbench/services/search/common/search.js +4 -3
- package/dist/vscode/vs/workbench/services/semanticSimilarity/common/semanticSimilarityService.js +3 -0
- package/dist/vscode/vs/workbench/services/textMate/browser/workerHost/textMateWorkerTokenizerController.js +6 -10
- package/dist/vscode/vs/workbench/services/textfile/common/textfiles.js +1 -1
- package/dist/vscode/vs/workbench/services/themes/browser/fileIconThemeData.js +2 -2
- package/dist/vscode/vs/workbench/services/themes/browser/productIconThemeData.js +4 -5
- package/dist/vscode/vs/workbench/services/themes/browser/workbenchThemeService.js +16 -10
- package/dist/vscode/vs/workbench/services/themes/common/themeConfiguration.js +36 -38
- package/dist/vscode/vs/workbench/services/themes/common/themeExtensionPoints.js +4 -8
- package/dist/vscode/vs/workbench/services/themes/common/workbenchThemeService.js +22 -1
- package/dist/vscode/vs/workbench/services/views/browser/treeViewsService.js +3 -0
- package/dist/vscode/vs/workbench/services/views/browser/viewDescriptorService.js +688 -0
- package/dist/vscode/vs/workbench/services/views/common/treeViewsService.js +20 -0
- package/dist/vscode/vs/workbench/services/views/common/viewContainerModel.js +613 -0
- package/dist/vscode-default-extensions/bat/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/clojure/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/coffeescript/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/cpp/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/cpp/syntaxes/{platform.tmLanguage.json.js → platform.tmLanguage.json.extensionResource.js} +2 -2
- package/dist/vscode-default-extensions/csharp/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/css/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/dart/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/diff/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/docker/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/fsharp/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/go/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/groovy/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/handlebars/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/hlsl/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/html/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/html/snippets/html.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/ini/ini.language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/ini/properties.language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/java/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/java/snippets/java.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/json/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/julia/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/latex/latex-language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/less/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/lua/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/make/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/objective-c/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/perl/perl.language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/php/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/php/snippets/php.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/powershell/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/pug/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/python/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/r/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/razor/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/references-view/dist/extension.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/references-view/package.json.js +2 -0
- package/dist/vscode-default-extensions/ruby/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/rust/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/scss/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/shaderlab/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/shellscript/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/sql/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/swift/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-dark.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-light.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-dark.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-light.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-dark.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-light.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-dark.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-light.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-dark.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-light.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/package.json.js +1 -1
- package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-seti/icons/seti.woff.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/vb/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/xml/xml.language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/yaml/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-services/extHost.js +28 -5
- package/dist/vscode-services/l10n.js +26 -0
- package/dist/vscode-services/missing-services.js +64 -12
- package/dist/vscode-services/window.js +23 -5
- package/dist/workbenchThemeService.d.ts +20 -0
- package/dist/workspace.d.ts +141 -0
- package/monaco-editor-treemending.patch +1134 -1902
- package/package.json +28 -16
- package/dist/default-extensions/typescript-language-features.js +0 -6
- package/dist/extension-tools-b68a64de.js +0 -1024
- package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +0 -242
- package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +0 -139
- package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +0 -387
- package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +0 -289
- package/dist/vscode-default-extensions/bat/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/clojure/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/coffeescript/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/cpp/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/csharp/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/css/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/dart/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/diff/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/docker/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/fsharp/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/go/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/groovy/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/handlebars/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/hlsl/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/html/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/html/snippets/html.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/ini/ini.language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/ini/properties.language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/java/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/java/snippets/java.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.js +0 -2
- package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/json/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/julia/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/latex/latex-language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/less/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/lua/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/make/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/objective-c/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/perl/perl.language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/php/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/php/snippets/php.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/powershell/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/pug/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/python/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/r/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/razor/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/ruby/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/rust/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/scss/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/shaderlab/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/shellscript/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/sql/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/swift/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.js +0 -2
- package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.js +0 -2
- package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.js +0 -2
- package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.js +0 -2
- package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.js +0 -2
- package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.js +0 -2
- package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.js +0 -2
- package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.js +0 -2
- package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.js +0 -2
- package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.js +0 -2
- package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/typescript-language-features/package.json.js +0 -2
- package/dist/vscode-default-extensions/vb/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.js +0 -2
- package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.js +0 -2
- package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.js +0 -2
- package/dist/vscode-default-extensions/xml/xml.language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/yaml/language-configuration.json.js +0 -2
- package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var TypeScriptReact_tmLanguage_json = "{\"information_for_contributors\":[\"This file has been converted from https://github.com/microsoft/TypeScript-TmLanguage/blob/master/TypeScriptReact.tmLanguage\",\"If you want to provide a fix or improvement, please create a pull request against the original repository.\",\"Once accepted there, we are happy to receive an update request.\"],\"version\":\"https://github.com/microsoft/TypeScript-TmLanguage/commit/e0aefd8205cc9d1bc7859cc5babbee0d833dca0f\",\"name\":\"TypeScriptReact\",\"scopeName\":\"source.tsx\",\"patterns\":[{\"include\":\"#directives\"},{\"include\":\"#statements\"},{\"include\":\"#shebang\"}],\"repository\":{\"shebang\":{\"name\":\"comment.line.shebang.tsx\",\"match\":\"\\\\A(#!).*(?=$)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.tsx\"}}},\"statements\":{\"patterns\":[{\"include\":\"#declaration\"},{\"include\":\"#control-statement\"},{\"include\":\"#after-operator-block-as-object-literal\"},{\"include\":\"#decl-block\"},{\"include\":\"#label\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#string\"},{\"include\":\"#comment\"}]},\"declaration\":{\"patterns\":[{\"include\":\"#decorator\"},{\"include\":\"#var-expr\"},{\"include\":\"#function-declaration\"},{\"include\":\"#class-declaration\"},{\"include\":\"#interface-declaration\"},{\"include\":\"#enum-declaration\"},{\"include\":\"#namespace-declaration\"},{\"include\":\"#type-alias-declaration\"},{\"include\":\"#import-equals-declaration\"},{\"include\":\"#import-declaration\"},{\"include\":\"#export-declaration\"},{\"name\":\"storage.modifier.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(declare|export)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"}]},\"control-statement\":{\"patterns\":[{\"include\":\"#switch-statement\"},{\"include\":\"#for-loop\"},{\"name\":\"keyword.control.trycatch.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(catch|finally|throw|try)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|goto)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"captures\":{\"1\":{\"name\":\"keyword.control.loop.tsx\"},\"2\":{\"name\":\"entity.name.label.tsx\"}}},{\"name\":\"keyword.control.loop.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|do|goto|while)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(return)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.flow.tsx\"}},\"end\":\"(?=[;}]|$|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"name\":\"keyword.control.switch.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default|switch)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"include\":\"#if-statement\"},{\"name\":\"keyword.control.conditional.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(else|if)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"name\":\"keyword.control.with.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(with)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"name\":\"keyword.control.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(package)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"name\":\"keyword.other.debugger.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(debugger)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"}]},\"label\":{\"patterns\":[{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(:)(?=\\\\s*\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.label.tsx\"},\"2\":{\"name\":\"punctuation.separator.label.tsx\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#decl-block\"}]},{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(:)\",\"captures\":{\"1\":{\"name\":\"entity.name.label.tsx\"},\"2\":{\"name\":\"punctuation.separator.label.tsx\"}}}]},\"expression\":{\"patterns\":[{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#identifiers\"},{\"include\":\"#expressionPunctuations\"}]},\"expressionWithoutIdentifiers\":{\"patterns\":[{\"include\":\"#jsx\"},{\"include\":\"#string\"},{\"include\":\"#regex\"},{\"include\":\"#comment\"},{\"include\":\"#function-expression\"},{\"include\":\"#class-expression\"},{\"include\":\"#arrow-function\"},{\"include\":\"#paren-expression-possibly-arrow\"},{\"include\":\"#cast\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#new-expr\"},{\"include\":\"#instanceof-expr\"},{\"include\":\"#object-literal\"},{\"include\":\"#expression-operators\"},{\"include\":\"#function-call\"},{\"include\":\"#literal\"},{\"include\":\"#support-objects\"},{\"include\":\"#paren-expression\"}]},\"expressionPunctuations\":{\"patterns\":[{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-accessor\"}]},\"decorator\":{\"name\":\"meta.decorator.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\@\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.decorator.tsx\"}},\"end\":\"(?=\\\\s)\",\"patterns\":[{\"include\":\"#expression\"}]},\"var-expr\":{\"patterns\":[{\"name\":\"meta.var.expr.tsx\",\"begin\":\"(?=(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(var|let)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))\",\"end\":\"(?!(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(var|let)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))|((?<!^let|[^\\\\._$[:alnum:]]let|^var|[^\\\\._$[:alnum:]]var)(?=\\\\s*$)))\",\"patterns\":[{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(var|let)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.type.tsx\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#destructuring-variable\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#comment\"},{\"begin\":\"(,)\\\\s*(?=$|\\\\/\\\\/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.comma.tsx\"}},\"end\":\"(?<!,)(((?==|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#destructuring-variable\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#punctuation-comma\"}]},{\"name\":\"meta.var.expr.tsx\",\"begin\":\"(?=(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.type.tsx\"}},\"end\":\"(?!(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))|((?<!^const|[^\\\\._$[:alnum:]]const)(?=\\\\s*$)))\",\"patterns\":[{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.type.tsx\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#destructuring-const\"},{\"include\":\"#var-single-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#comment\"},{\"begin\":\"(,)\\\\s*(?=$|\\\\/\\\\/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.comma.tsx\"}},\"end\":\"(?<!,)(((?==|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#destructuring-const\"},{\"include\":\"#var-single-const\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#punctuation-comma\"}]}]},\"var-single-variable\":{\"patterns\":[{\"name\":\"meta.var-single-variable.expr.tsx\",\"begin\":\"(?x)([_$[:alpha:]][_$[:alnum:]]*)(\\\\!)?(?=\\\\s*\\n# function assignment |\\n(=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)) |\\n# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>\\n(:\\\\s*(\\n (<) |\\n ([(]\\\\s*(\\n ([)]) |\\n (\\\\.\\\\.\\\\.) |\\n ([_$[:alnum:]]+\\\\s*(\\n ([:,?=])|\\n ([)]\\\\s*=>)\\n ))\\n ))\\n)) |\\n(:\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))) |\\n(:\\\\s*((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*))))))) |\\n(:\\\\s*(=>|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.tsx entity.name.function.tsx\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.tsx\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b)))\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]},{\"name\":\"meta.var-single-variable.expr.tsx\",\"begin\":\"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])(\\\\!)?\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.tsx variable.other.constant.tsx\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.tsx\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b)))\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]},{\"name\":\"meta.var-single-variable.expr.tsx\",\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)(\\\\!)?\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.tsx variable.other.readwrite.tsx\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.tsx\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b)))\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]}]},\"var-single-const\":{\"patterns\":[{\"name\":\"meta.var-single-variable.expr.tsx\",\"begin\":\"(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\s*\\n# function assignment |\\n(=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)) |\\n# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>\\n(:\\\\s*(\\n (<) |\\n ([(]\\\\s*(\\n ([)]) |\\n (\\\\.\\\\.\\\\.) |\\n ([_$[:alnum:]]+\\\\s*(\\n ([:,?=])|\\n ([)]\\\\s*=>)\\n ))\\n ))\\n)) |\\n(:\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))) |\\n(:\\\\s*((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*))))))) |\\n(:\\\\s*(=>|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.tsx variable.other.constant.tsx entity.name.function.tsx\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b)))\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]},{\"name\":\"meta.var-single-variable.expr.tsx\",\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.tsx variable.other.constant.tsx\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b)))\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]}]},\"var-single-variable-type-annotation\":{\"patterns\":[{\"include\":\"#type-annotation\"},{\"include\":\"#string\"},{\"include\":\"#comment\"}]},\"destructuring-variable\":{\"patterns\":[{\"name\":\"meta.object-binding-pattern-variable.tsx\",\"begin\":\"(?<!=|:|^of|[^\\\\._$[:alnum:]]of|^in|[^\\\\._$[:alnum:]]in)\\\\s*(?=\\\\{)\",\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"patterns\":[{\"include\":\"#object-binding-pattern\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]},{\"name\":\"meta.array-binding-pattern-variable.tsx\",\"begin\":\"(?<!=|:|^of|[^\\\\._$[:alnum:]]of|^in|[^\\\\._$[:alnum:]]in)\\\\s*(?=\\\\[)\",\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"patterns\":[{\"include\":\"#array-binding-pattern\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]}]},\"destructuring-const\":{\"patterns\":[{\"name\":\"meta.object-binding-pattern-variable.tsx\",\"begin\":\"(?<!=|:|^of|[^\\\\._$[:alnum:]]of|^in|[^\\\\._$[:alnum:]]in)\\\\s*(?=\\\\{)\",\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"patterns\":[{\"include\":\"#object-binding-pattern-const\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]},{\"name\":\"meta.array-binding-pattern-variable.tsx\",\"begin\":\"(?<!=|:|^of|[^\\\\._$[:alnum:]]of|^in|[^\\\\._$[:alnum:]]in)\\\\s*(?=\\\\[)\",\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"patterns\":[{\"include\":\"#array-binding-pattern-const\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]}]},\"object-binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?x)(?=((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(:))\",\"end\":\"(?=,|\\\\})\",\"patterns\":[{\"include\":\"#object-binding-element-propertyName\"},{\"include\":\"#binding-element\"}]},{\"include\":\"#object-binding-pattern\"},{\"include\":\"#destructuring-variable-rest\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"}]},\"object-binding-element-const\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?x)(?=((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(:))\",\"end\":\"(?=,|\\\\})\",\"patterns\":[{\"include\":\"#object-binding-element-propertyName\"},{\"include\":\"#binding-element-const\"}]},{\"include\":\"#object-binding-pattern-const\"},{\"include\":\"#destructuring-variable-rest-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"}]},\"object-binding-element-propertyName\":{\"begin\":\"(?x)(?=((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(:))\",\"end\":\"(:)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.destructuring.tsx\"}},\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#numeric-literal\"},{\"name\":\"variable.object.property.tsx\",\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\"}]},\"binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#regex\"},{\"include\":\"#object-binding-pattern\"},{\"include\":\"#array-binding-pattern\"},{\"include\":\"#destructuring-variable-rest\"},{\"include\":\"#variable-initializer\"}]},\"binding-element-const\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#regex\"},{\"include\":\"#object-binding-pattern-const\"},{\"include\":\"#array-binding-pattern-const\"},{\"include\":\"#destructuring-variable-rest-const\"},{\"include\":\"#variable-initializer\"}]},\"destructuring-variable-rest\":{\"match\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\",\"captures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"meta.definition.variable.tsx variable.other.readwrite.tsx\"}}},\"destructuring-variable-rest-const\":{\"match\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\",\"captures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"meta.definition.variable.tsx variable.other.constant.tsx\"}}},\"object-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.tsx\"}},\"patterns\":[{\"include\":\"#object-binding-element\"}]},\"object-binding-pattern-const\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.tsx\"}},\"patterns\":[{\"include\":\"#object-binding-element-const\"}]},\"array-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.tsx\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.tsx\"}},\"patterns\":[{\"include\":\"#binding-element\"},{\"include\":\"#punctuation-comma\"}]},\"array-binding-pattern-const\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.tsx\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.tsx\"}},\"patterns\":[{\"include\":\"#binding-element-const\"},{\"include\":\"#punctuation-comma\"}]},\"parameter-name\":{\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)\",\"captures\":{\"1\":{\"name\":\"storage.modifier.tsx\"}}},{\"match\":\"(?x)(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*\\n# function assignment |\\n(=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)) |\\n# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>\\n(:\\\\s*(\\n (<) |\\n ([(]\\\\s*(\\n ([)]) |\\n (\\\\.\\\\.\\\\.) |\\n ([_$[:alnum:]]+\\\\s*(\\n ([:,?=])|\\n ([)]\\\\s*=>)\\n ))\\n ))\\n)) |\\n(:\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))) |\\n(:\\\\s*((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*))))))) |\\n(:\\\\s*(=>|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)))\",\"captures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"keyword.operator.rest.tsx\"},\"3\":{\"name\":\"entity.name.function.tsx variable.language.this.tsx\"},\"4\":{\"name\":\"entity.name.function.tsx\"},\"5\":{\"name\":\"keyword.operator.optional.tsx\"}}},{\"match\":\"(?x)(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)\",\"captures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"keyword.operator.rest.tsx\"},\"3\":{\"name\":\"variable.parameter.tsx variable.language.this.tsx\"},\"4\":{\"name\":\"variable.parameter.tsx\"},\"5\":{\"name\":\"keyword.operator.optional.tsx\"}}}]},\"destructuring-parameter\":{\"patterns\":[{\"name\":\"meta.parameter.object-binding-pattern.tsx\",\"begin\":\"(?<!=|:)\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.tsx\"}},\"patterns\":[{\"include\":\"#parameter-object-binding-element\"}]},{\"name\":\"meta.paramter.array-binding-pattern.tsx\",\"begin\":\"(?<!=|:)\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.tsx\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.tsx\"}},\"patterns\":[{\"include\":\"#parameter-binding-element\"},{\"include\":\"#punctuation-comma\"}]}]},\"parameter-object-binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?x)(?=((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(:))\",\"end\":\"(?=,|\\\\})\",\"patterns\":[{\"include\":\"#object-binding-element-propertyName\"},{\"include\":\"#parameter-binding-element\"},{\"include\":\"#paren-expression\"}]},{\"include\":\"#parameter-object-binding-pattern\"},{\"include\":\"#destructuring-parameter-rest\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"}]},\"parameter-binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#regex\"},{\"include\":\"#parameter-object-binding-pattern\"},{\"include\":\"#parameter-array-binding-pattern\"},{\"include\":\"#destructuring-parameter-rest\"},{\"include\":\"#variable-initializer\"}]},\"destructuring-parameter-rest\":{\"match\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\",\"captures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"variable.parameter.tsx\"}}},\"parameter-object-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.tsx\"}},\"patterns\":[{\"include\":\"#parameter-object-binding-element\"}]},\"parameter-array-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.tsx\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.tsx\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.tsx\"}},\"patterns\":[{\"include\":\"#parameter-binding-element\"},{\"include\":\"#punctuation-comma\"}]},\"field-declaration\":{\"name\":\"meta.field.declaration.tsx\",\"begin\":\"(?x)(?<!\\\\()(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s+)?(?=\\\\s*((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|(\\\\#?[_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(?:(?:(\\\\?)|(\\\\!))\\\\s*)?(=|:|;|,|\\\\}|$))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsx\"}},\"end\":\"(?x)(?=\\\\}|;|,|$|(^(?!\\\\s*((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|(\\\\#?[_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(?:(?:(\\\\?)|(\\\\!))\\\\s*)?(=|:|;|,|$))))|(?<=\\\\})\",\"patterns\":[{\"include\":\"#variable-initializer\"},{\"include\":\"#type-annotation\"},{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#comment\"},{\"match\":\"(?x)(\\\\#?[_$[:alpha:]][_$[:alnum:]]*)(?:(\\\\?)|(\\\\!))?(?=\\\\s*\\\\s*\\n# function assignment |\\n(=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)) |\\n# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>\\n(:\\\\s*(\\n (<) |\\n ([(]\\\\s*(\\n ([)]) |\\n (\\\\.\\\\.\\\\.) |\\n ([_$[:alnum:]]+\\\\s*(\\n ([:,?=])|\\n ([)]\\\\s*=>)\\n ))\\n ))\\n)) |\\n(:\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))) |\\n(:\\\\s*((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*))))))) |\\n(:\\\\s*(=>|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)))\",\"captures\":{\"1\":{\"name\":\"meta.definition.property.tsx entity.name.function.tsx\"},\"2\":{\"name\":\"keyword.operator.optional.tsx\"},\"3\":{\"name\":\"keyword.operator.definiteassignment.tsx\"}}},{\"name\":\"meta.definition.property.tsx variable.object.property.tsx\",\"match\":\"\\\\#?[_$[:alpha:]][_$[:alnum:]]*\"},{\"name\":\"keyword.operator.optional.tsx\",\"match\":\"\\\\?\"},{\"name\":\"keyword.operator.definiteassignment.tsx\",\"match\":\"\\\\!\"}]},\"variable-initializer\":{\"patterns\":[{\"begin\":\"(?<!=|!)(=)(?!=)(?=\\\\s*\\\\S)(?!\\\\s*.*=>\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.tsx\"}},\"end\":\"(?=$|^|[,);}\\\\]]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?<!=|!)(=)(?!=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.tsx\"}},\"end\":\"(?=[,);}\\\\]]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))|(?=^\\\\s*$)|(?<![\\\\|\\\\&\\\\+\\\\-\\\\*\\\\/])(?<=\\\\S)(?<!=)(?=\\\\s*$)\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"function-declaration\":{\"name\":\"meta.function.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?(?:(async)\\\\s+)?(function\\\\b)(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.modifier.async.tsx\"},\"4\":{\"name\":\"storage.type.function.tsx\"},\"5\":{\"name\":\"keyword.generator.asterisk.tsx\"},\"6\":{\"name\":\"meta.definition.function.tsx entity.name.function.tsx\"}},\"end\":\"(?=;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))|(?<=\\\\})\",\"patterns\":[{\"include\":\"#function-name\"},{\"include\":\"#function-body\"}]},\"function-expression\":{\"name\":\"meta.function.expression.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(async)\\\\s+)?(function\\\\b)(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"},\"2\":{\"name\":\"storage.type.function.tsx\"},\"3\":{\"name\":\"keyword.generator.asterisk.tsx\"},\"4\":{\"name\":\"meta.definition.function.tsx entity.name.function.tsx\"}},\"end\":\"(?=;)|(?<=\\\\})\",\"patterns\":[{\"include\":\"#function-name\"},{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#function-body\"}]},\"function-name\":{\"name\":\"meta.definition.function.tsx entity.name.function.tsx\",\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\"},\"function-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"},{\"include\":\"#function-parameters\"},{\"include\":\"#return-type\"},{\"include\":\"#type-function-return-type\"},{\"include\":\"#decl-block\"},{\"name\":\"keyword.generator.asterisk.tsx\",\"match\":\"\\\\*\"}]},\"method-declaration\":{\"patterns\":[{\"name\":\"meta.method.declaration.tsx\",\"begin\":\"(?x)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(public|private|protected)\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?\\\\s*\\\\b(constructor)\\\\b(?!:)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.modifier.tsx\"},\"4\":{\"name\":\"storage.modifier.async.tsx\"},\"5\":{\"name\":\"storage.type.tsx\"}},\"end\":\"(?=\\\\}|;|,|$)|(?<=\\\\})\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"}]},{\"name\":\"meta.method.declaration.tsx\",\"begin\":\"(?x)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(public|private|protected)\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:(?:\\\\s*\\\\b(new)\\\\b(?!:)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(?:(\\\\*)\\\\s*)?)(?=\\\\s*((<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*))?[\\\\(])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.modifier.tsx\"},\"4\":{\"name\":\"storage.modifier.async.tsx\"},\"5\":{\"name\":\"keyword.operator.new.tsx\"},\"6\":{\"name\":\"keyword.generator.asterisk.tsx\"}},\"end\":\"(?=\\\\}|;|,|$)|(?<=\\\\})\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"}]},{\"name\":\"meta.method.declaration.tsx\",\"begin\":\"(?x)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(public|private|protected)\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:\\\\b(get|set)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*(((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*))?[\\\\(])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.modifier.tsx\"},\"4\":{\"name\":\"storage.modifier.async.tsx\"},\"5\":{\"name\":\"storage.type.property.tsx\"},\"6\":{\"name\":\"keyword.generator.asterisk.tsx\"}},\"end\":\"(?=\\\\}|;|,|$)|(?<=\\\\})\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"}]}]},\"object-literal-method-declaration\":{\"name\":\"meta.method.declaration.tsx\",\"begin\":\"(?x)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b(get|set)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*(((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*))?[\\\\(])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"},\"2\":{\"name\":\"storage.type.property.tsx\"},\"3\":{\"name\":\"keyword.generator.asterisk.tsx\"}},\"end\":\"(?=\\\\}|;|,)|(?<=\\\\})\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"},{\"begin\":\"(?x)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b(get|set)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*(((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*))?[\\\\(])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"},\"2\":{\"name\":\"storage.type.property.tsx\"},\"3\":{\"name\":\"keyword.generator.asterisk.tsx\"}},\"end\":\"(?=\\\\(|\\\\<)\",\"patterns\":[{\"include\":\"#method-declaration-name\"}]}]},\"method-declaration-name\":{\"begin\":\"(?x)(?=((\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\]))\\\\s*(\\\\??)\\\\s*[\\\\(\\\\<])\",\"end\":\"(?=\\\\(|\\\\<)\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#numeric-literal\"},{\"name\":\"meta.definition.method.tsx entity.name.function.tsx\",\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\"},{\"name\":\"keyword.operator.optional.tsx\",\"match\":\"\\\\?\"}]},\"arrow-function\":{\"patterns\":[{\"name\":\"meta.arrow.tsx\",\"match\":\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(\\\\basync)\\\\s+)?([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?==>)\",\"captures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"},\"2\":{\"name\":\"variable.parameter.tsx\"}}},{\"name\":\"meta.arrow.tsx\",\"begin\":\"(?x) (?:\\n (?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(\\\\basync)\\n)? ((?<![})!\\\\]])\\\\s*\\n (?=\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n )\\n)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"}},\"end\":\"(?==>|\\\\{|(^\\\\s*(export|function|class|interface|let|var|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"},{\"include\":\"#function-parameters\"},{\"include\":\"#arrow-return-type\"},{\"include\":\"#possibly-arrow-return-type\"}]},{\"name\":\"meta.arrow.tsx\",\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.function.arrow.tsx\"}},\"end\":\"((?<=\\\\}|\\\\S)(?<!=>)|((?!\\\\{)(?=\\\\S)))(?!\\\\/[\\\\/\\\\*])\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"}]}]},\"indexer-declaration\":{\"name\":\"meta.indexer.declaration.tsx\",\"begin\":\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=:)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"meta.brace.square.tsx\"},\"3\":{\"name\":\"variable.parameter.tsx\"}},\"end\":\"(\\\\])\\\\s*(\\\\?\\\\s*)?|$\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.square.tsx\"},\"2\":{\"name\":\"keyword.operator.optional.tsx\"}},\"patterns\":[{\"include\":\"#type-annotation\"}]},\"indexer-mapped-type-declaration\":{\"name\":\"meta.indexer.mappedtype.declaration.tsx\",\"begin\":\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([+-])?(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([_$[:alpha:]][_$[:alnum:]]*)\\\\s+(in)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.modifier.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"meta.brace.square.tsx\"},\"4\":{\"name\":\"entity.name.type.tsx\"},\"5\":{\"name\":\"keyword.operator.expression.in.tsx\"}},\"end\":\"(\\\\])([+-])?\\\\s*(\\\\?\\\\s*)?|$\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.square.tsx\"},\"2\":{\"name\":\"keyword.operator.type.modifier.tsx\"},\"3\":{\"name\":\"keyword.operator.optional.tsx\"}},\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+\",\"captures\":{\"1\":{\"name\":\"keyword.control.as.tsx\"}}},{\"include\":\"#type\"}]},\"function-parameters\":{\"name\":\"meta.parameters.tsx\",\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.tsx\"}},\"patterns\":[{\"include\":\"#function-parameters-body\"}]},\"function-parameters-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#decorator\"},{\"include\":\"#destructuring-parameter\"},{\"include\":\"#parameter-name\"},{\"include\":\"#parameter-type-annotation\"},{\"include\":\"#variable-initializer\"},{\"name\":\"punctuation.separator.parameter.tsx\",\"match\":\",\"}]},\"class-declaration\":{\"name\":\"meta.class.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(class)\\\\b(?=\\\\s+|/[/*])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.modifier.tsx\"},\"4\":{\"name\":\"storage.type.class.tsx\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#class-declaration-or-expression-patterns\"}]},\"class-expression\":{\"name\":\"meta.class.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(class)\\\\b(?=\\\\s+|[<{]|\\\\/[\\\\/*])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"storage.type.class.tsx\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#class-declaration-or-expression-patterns\"}]},\"class-declaration-or-expression-patterns\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#class-or-interface-heritage\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"captures\":{\"0\":{\"name\":\"entity.name.type.class.tsx\"}}},{\"include\":\"#type-parameters\"},{\"include\":\"#class-or-interface-body\"}]},\"interface-declaration\":{\"name\":\"meta.interface.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(interface)\\\\b(?=\\\\s+|/[/*])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.modifier.tsx\"},\"4\":{\"name\":\"storage.type.interface.tsx\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#class-or-interface-heritage\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"captures\":{\"0\":{\"name\":\"entity.name.type.interface.tsx\"}}},{\"include\":\"#type-parameters\"},{\"include\":\"#class-or-interface-body\"}]},\"class-or-interface-heritage\":{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(extends|implements)\\\\b)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsx\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#class-or-interface-heritage\"},{\"include\":\"#type-parameters\"},{\"include\":\"#expressionWithoutIdentifiers\"},{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))(?=\\\\s*[_$[:alpha:]][_$[:alnum:]]*(\\\\s*\\\\??\\\\.\\\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\\\s*)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.module.tsx\"},\"2\":{\"name\":\"punctuation.accessor.tsx\"},\"3\":{\"name\":\"punctuation.accessor.optional.tsx\"}}},{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"captures\":{\"1\":{\"name\":\"entity.other.inherited-class.tsx\"}}},{\"include\":\"#expressionPunctuations\"}]},\"class-or-interface-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#decorator\"},{\"begin\":\"(?<=:)\\\\s*\",\"end\":\"(?=\\\\s|[;),}\\\\]:\\\\-\\\\+]|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#method-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#field-declaration\"},{\"include\":\"#string\"},{\"include\":\"#type-annotation\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#access-modifier\"},{\"include\":\"#property-accessor\"},{\"include\":\"#async-modifier\"},{\"include\":\"#after-operator-block-as-object-literal\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"}]},\"access-modifier\":{\"name\":\"storage.modifier.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},\"property-accessor\":{\"name\":\"storage.type.property.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(accessor|get|set)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},\"async-modifier\":{\"name\":\"storage.modifier.async.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(async)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},\"enum-declaration\":{\"name\":\"meta.enum.declaration.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?(?:\\\\b(const)\\\\s+)?\\\\b(enum)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.modifier.tsx\"},\"4\":{\"name\":\"storage.type.enum.tsx\"},\"5\":{\"name\":\"entity.name.type.enum.tsx\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.enummember.tsx\"}},\"end\":\"(?=,|\\\\}|$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"begin\":\"(?=((\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\])))\",\"end\":\"(?=,|\\\\}|$)\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"include\":\"#punctuation-comma\"}]}]},\"namespace-declaration\":{\"name\":\"meta.namespace.declaration.tsx\",\"begin\":\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(namespace|module)\\\\s+(?=[_$[:alpha:]\\\"'`]))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.type.namespace.tsx\"}},\"end\":\"(?<=\\\\})|(?=;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"name\":\"entity.name.type.module.tsx\",\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\"},{\"include\":\"#punctuation-accessor\"},{\"include\":\"#decl-block\"}]},\"type-alias-declaration\":{\"name\":\"meta.type.declaration.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(type)\\\\b\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"storage.type.type.tsx\"},\"4\":{\"name\":\"entity.name.type.alias.tsx\"}},\"end\":\"(?=\\\\}|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"},{\"begin\":\"(=)\\\\s*(intrinsic)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.tsx\"},\"2\":{\"name\":\"keyword.control.intrinsic.tsx\"}},\"end\":\"(?=\\\\}|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.tsx\"}},\"end\":\"(?=\\\\}|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))\",\"patterns\":[{\"include\":\"#type\"}]}]},\"import-equals-declaration\":{\"patterns\":[{\"name\":\"meta.import-equals.external.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(=)\\\\s*(require)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"keyword.control.import.tsx\"},\"4\":{\"name\":\"keyword.control.type.tsx\"},\"5\":{\"name\":\"variable.other.readwrite.alias.tsx\"},\"6\":{\"name\":\"keyword.operator.assignment.tsx\"},\"7\":{\"name\":\"keyword.control.require.tsx\"},\"8\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"}]},{\"name\":\"meta.import-equals.internal.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(=)\\\\s*(?!require\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"keyword.control.import.tsx\"},\"4\":{\"name\":\"keyword.control.type.tsx\"},\"5\":{\"name\":\"variable.other.readwrite.alias.tsx\"},\"6\":{\"name\":\"keyword.operator.assignment.tsx\"}},\"end\":\"(?=;|$|^)\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\",\"captures\":{\"1\":{\"name\":\"entity.name.type.module.tsx\"},\"2\":{\"name\":\"punctuation.accessor.tsx\"},\"3\":{\"name\":\"punctuation.accessor.optional.tsx\"}}},{\"name\":\"variable.other.readwrite.tsx\",\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\"}]}]},\"import-declaration\":{\"name\":\"meta.import.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bexport)\\\\s+)?(?:(\\\\bdeclare)\\\\s+)?\\\\b(import)(?:\\\\s+(type)(?!\\\\s+from))?(?!\\\\s*[:\\\\(])(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"},\"3\":{\"name\":\"keyword.control.import.tsx\"},\"4\":{\"name\":\"keyword.control.type.tsx\"}},\"end\":\"(?<!^import|[^\\\\._$[:alnum:]]import)(?=;|$|^)\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"begin\":\"(?<=^import|[^\\\\._$[:alnum:]]import)(?!\\\\s*[\\\"'])\",\"end\":\"\\\\bfrom\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.from.tsx\"}},\"patterns\":[{\"include\":\"#import-export-declaration\"}]},{\"include\":\"#import-export-declaration\"}]},\"export-declaration\":{\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)\\\\s+(as)\\\\s+(namespace)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\",\"captures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"keyword.control.as.tsx\"},\"3\":{\"name\":\"storage.type.namespace.tsx\"},\"4\":{\"name\":\"entity.name.type.module.tsx\"}}},{\"name\":\"meta.export.default.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?(?:(?:\\\\s*(=))|(?:\\\\s+(default)(?=\\\\s+)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"keyword.control.type.tsx\"},\"3\":{\"name\":\"keyword.operator.assignment.tsx\"},\"4\":{\"name\":\"keyword.control.default.tsx\"}},\"end\":\"(?=$|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))\",\"patterns\":[{\"include\":\"#interface-declaration\"},{\"include\":\"#expression\"}]},{\"name\":\"meta.export.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?\\\\b(?!(\\\\$)|(\\\\s*:))((?=\\\\s*[\\\\{*])|((?=\\\\s*[_$[:alpha:]][_$[:alnum:]]*(\\\\s|,))(?!\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.tsx\"},\"2\":{\"name\":\"keyword.control.type.tsx\"}},\"end\":\"(?=$|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))\",\"patterns\":[{\"include\":\"#import-export-declaration\"}]}]},\"import-export-declaration\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#import-export-block\"},{\"name\":\"keyword.control.from.tsx\",\"match\":\"\\\\bfrom\\\\b\"},{\"include\":\"#import-export-assert-clause\"},{\"include\":\"#import-export-clause\"}]},\"import-export-assert-clause\":{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(assert)\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.assert.tsx\"},\"2\":{\"name\":\"punctuation.definition.block.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"name\":\"meta.object-literal.key.tsx\",\"match\":\"(?:[_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:)\"},{\"name\":\"punctuation.separator.key-value.tsx\",\"match\":\":\"}]},\"import-export-block\":{\"name\":\"meta.block.tsx\",\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"patterns\":[{\"include\":\"#import-export-clause\"}]},\"import-export-clause\":{\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(?:(\\\\btype)\\\\s+)?(?:(\\\\bdefault)|(\\\\*)|(\\\\b[_$[:alpha:]][_$[:alnum:]]*)))\\\\s+(as)\\\\s+(?:(default(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|([_$[:alpha:]][_$[:alnum:]]*))\",\"captures\":{\"1\":{\"name\":\"keyword.control.type.tsx\"},\"2\":{\"name\":\"keyword.control.default.tsx\"},\"3\":{\"name\":\"constant.language.import-export-all.tsx\"},\"4\":{\"name\":\"variable.other.readwrite.tsx\"},\"5\":{\"name\":\"keyword.control.as.tsx\"},\"6\":{\"name\":\"keyword.control.default.tsx\"},\"7\":{\"name\":\"variable.other.readwrite.alias.tsx\"}}},{\"include\":\"#punctuation-comma\"},{\"name\":\"constant.language.import-export-all.tsx\",\"match\":\"\\\\*\"},{\"name\":\"keyword.control.default.tsx\",\"match\":\"\\\\b(default)\\\\b\"},{\"match\":\"(?:(\\\\btype)\\\\s+)?([_$[:alpha:]][_$[:alnum:]]*)\",\"captures\":{\"1\":{\"name\":\"keyword.control.type.tsx\"},\"2\":{\"name\":\"variable.other.readwrite.alias.tsx\"}}}]},\"switch-statement\":{\"name\":\"switch-statement.expr.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bswitch\\\\s*\\\\()\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"patterns\":[{\"include\":\"#comment\"},{\"name\":\"switch-expression.expr.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(switch)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.tsx\"},\"2\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"name\":\"switch-block.expr.tsx\",\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"end\":\"(?=\\\\})\",\"patterns\":[{\"name\":\"case-clause.expr.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default(?=:))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.tsx\"}},\"end\":\"(?=:)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(:)\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx\"},\"2\":{\"name\":\"meta.block.tsx punctuation.definition.block.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"meta.block.tsx punctuation.definition.block.tsx\"}},\"contentName\":\"meta.block.tsx\",\"patterns\":[{\"include\":\"#statements\"}]},{\"match\":\"(:)\",\"captures\":{\"0\":{\"name\":\"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx\"}}},{\"include\":\"#statements\"}]}]},\"for-loop\":{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))for(?=((\\\\s+|(\\\\s*\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*))await)?\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)?(\\\\())\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.loop.tsx\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#comment\"},{\"name\":\"keyword.control.loop.tsx\",\"match\":\"await\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"include\":\"#var-expr\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"}]}]},\"if-statement\":{\"patterns\":[{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bif\\\\s*(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))\\\\s*(?!\\\\{))\",\"end\":\"(?=;|$|\\\\})\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(if)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.tsx\"},\"2\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"name\":\"string.regexp.tsx\",\"begin\":\"(?<=\\\\))\\\\s*\\\\/(?![\\\\/*])(?=(?:[^\\\\/\\\\\\\\\\\\[]|\\\\\\\\.|\\\\[([^\\\\]\\\\\\\\]|\\\\\\\\.)*\\\\])+\\\\/([dgimsuy]+|(?![\\\\/\\\\*])|(?=\\\\/\\\\*))(?!\\\\s*[a-zA-Z0-9_$]))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.tsx\"}},\"end\":\"(/)([dgimsuy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.tsx\"},\"2\":{\"name\":\"keyword.other.tsx\"}},\"patterns\":[{\"include\":\"#regexp\"}]},{\"include\":\"#statements\"}]}]},\"decl-block\":{\"name\":\"meta.block.tsx\",\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"patterns\":[{\"include\":\"#statements\"}]},\"after-operator-block-as-object-literal\":{\"name\":\"meta.objectliteral.tsx\",\"begin\":\"(?<!\\\\+\\\\+|--)(?<=[:=(,\\\\[?+!>]|^await|[^\\\\._$[:alnum:]]await|^return|[^\\\\._$[:alnum:]]return|^yield|[^\\\\._$[:alnum:]]yield|^throw|[^\\\\._$[:alnum:]]throw|^in|[^\\\\._$[:alnum:]]in|^of|[^\\\\._$[:alnum:]]of|^typeof|[^\\\\._$[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.block.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"patterns\":[{\"include\":\"#object-member\"}]},\"object-literal\":{\"name\":\"meta.objectliteral.tsx\",\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"patterns\":[{\"include\":\"#object-member\"}]},\"object-member\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#object-literal-method-declaration\"},{\"name\":\"meta.object.member.tsx meta.object-literal.key.tsx\",\"begin\":\"(?=\\\\[)\",\"end\":\"(?=:)|((?<=[\\\\]])(?=\\\\s*[\\\\(\\\\<]))\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#array-literal\"}]},{\"name\":\"meta.object.member.tsx meta.object-literal.key.tsx\",\"begin\":\"(?=[\\\\'\\\\\\\"\\\\`])\",\"end\":\"(?=:)|((?<=[\\\\'\\\\\\\"\\\\`])(?=((\\\\s*[\\\\(\\\\<,}])|(\\\\s+(as|satisifies)\\\\s+))))\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"}]},{\"name\":\"meta.object.member.tsx meta.object-literal.key.tsx\",\"begin\":\"(?x)(?=(\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$)))\",\"end\":\"(?=:)|(?=\\\\s*([\\\\(\\\\<,}])|(\\\\s+as|satisifies\\\\s+))\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#numeric-literal\"}]},{\"name\":\"meta.method.declaration.tsx\",\"begin\":\"(?<=[\\\\]\\\\'\\\\\\\"\\\\`])(?=\\\\s*[\\\\(\\\\<])\",\"end\":\"(?=\\\\}|;|,)|(?<=\\\\})\",\"patterns\":[{\"include\":\"#function-body\"}]},{\"name\":\"meta.object.member.tsx\",\"match\":\"(?![_$[:alpha:]])([[:digit:]]+)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:)\",\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.tsx\"},\"1\":{\"name\":\"constant.numeric.decimal.tsx\"}}},{\"name\":\"meta.object.member.tsx\",\"match\":\"(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:(\\\\s*\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/)*\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)))\",\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.tsx\"},\"1\":{\"name\":\"entity.name.function.tsx\"}}},{\"name\":\"meta.object.member.tsx\",\"match\":\"(?:[_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:)\",\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.tsx\"}}},{\"name\":\"meta.object.member.tsx\",\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.tsx\"}},\"end\":\"(?=,|\\\\})\",\"patterns\":[{\"include\":\"#expression\"}]},{\"name\":\"meta.object.member.tsx\",\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=,|\\\\}|$|\\\\/\\\\/|\\\\/\\\\*)\",\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.tsx\"}}},{\"name\":\"meta.object.member.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*([,}]|$))\",\"captures\":{\"1\":{\"name\":\"keyword.control.as.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"}}},{\"name\":\"meta.object.member.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.as.tsx\"},\"2\":{\"name\":\"keyword.control.satisfies.tsx\"}},\"end\":\"(?=[;),}\\\\]:?\\\\-\\\\+\\\\>]|\\\\|\\\\||\\\\&\\\\&|\\\\!\\\\=\\\\=|$|^|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisifies)\\\\s+))\",\"patterns\":[{\"include\":\"#type\"}]},{\"name\":\"meta.object.member.tsx\",\"begin\":\"(?=[_$[:alpha:]][_$[:alnum:]]*\\\\s*=)\",\"end\":\"(?=,|\\\\}|$|\\\\/\\\\/|\\\\/\\\\*)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"name\":\"meta.object.member.tsx\",\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"meta.object-literal.key.tsx punctuation.separator.key-value.tsx\"}},\"end\":\"(?=,|\\\\})\",\"patterns\":[{\"begin\":\"(?<=:)\\\\s*(async)?(?=\\\\s*(<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)\\\\(\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#type-parameters\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]}]},{\"begin\":\"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"},\"2\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]},{\"begin\":\"(?<=:)\\\\s*(async)?\\\\s*(?=\\\\<\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"}},\"end\":\"(?<=\\\\>)\",\"patterns\":[{\"include\":\"#type-parameters\"}]},{\"begin\":\"(?<=\\\\>)\\\\s*(\\\\()(?=\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]},{\"include\":\"#possibly-arrow-return-type\"},{\"include\":\"#expression\"}]},{\"include\":\"#punctuation-comma\"},{\"include\":\"#decl-block\"}]},\"ternary-expression\":{\"begin\":\"(?!\\\\?\\\\.\\\\s*[^[:digit:]])(\\\\?)(?!\\\\?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.tsx\"}},\"end\":\"\\\\s*(:)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.tsx\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"function-call\":{\"patterns\":[{\"begin\":\"(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\)]))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(\\\\!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>)*(?<!=)\\\\>))*(?<!=)\\\\>)*(?<!=)>\\\\s*)?\\\\())\",\"end\":\"(?<=\\\\))(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\)]))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(\\\\!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>)*(?<!=)\\\\>))*(?<!=)\\\\>)*(?<!=)>\\\\s*)?\\\\())\",\"patterns\":[{\"name\":\"meta.function-call.tsx\",\"begin\":\"(?=(([_$[:alpha:]][_$[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*\\\\#?[_$[:alpha:]][_$[:alnum:]]*))\",\"end\":\"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(\\\\!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>)*(?<!=)\\\\>))*(?<!=)\\\\>)*(?<!=)>\\\\s*)?\\\\())\",\"patterns\":[{\"include\":\"#function-call-target\"}]},{\"include\":\"#comment\"},{\"include\":\"#function-call-optionals\"},{\"include\":\"#type-arguments\"},{\"include\":\"#paren-expression\"}]},{\"begin\":\"(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\)]))(<\\\\s*[\\\\{\\\\[\\\\(]\\\\s*$))\",\"end\":\"(?<=\\\\>)(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\)]))(<\\\\s*[\\\\{\\\\[\\\\(]\\\\s*$))\",\"patterns\":[{\"name\":\"meta.function-call.tsx\",\"begin\":\"(?=(([_$[:alpha:]][_$[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*\\\\#?[_$[:alpha:]][_$[:alnum:]]*))\",\"end\":\"(?=(<\\\\s*[\\\\{\\\\[\\\\(]\\\\s*$))\",\"patterns\":[{\"include\":\"#function-call-target\"}]},{\"include\":\"#comment\"},{\"include\":\"#function-call-optionals\"},{\"include\":\"#type-arguments\"}]}]},\"function-call-target\":{\"patterns\":[{\"include\":\"#support-function-call-identifiers\"},{\"name\":\"entity.name.function.tsx\",\"match\":\"(\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\"}]},\"function-call-optionals\":{\"patterns\":[{\"name\":\"meta.function-call.tsx punctuation.accessor.optional.tsx\",\"match\":\"\\\\?\\\\.\"},{\"name\":\"meta.function-call.tsx keyword.operator.definiteassignment.tsx\",\"match\":\"\\\\!\"}]},\"support-function-call-identifiers\":{\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#support-objects\"},{\"include\":\"#object-identifiers\"},{\"include\":\"#punctuation-accessor\"},{\"name\":\"keyword.operator.expression.import.tsx\",\"match\":\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*[\\\\(]\\\\s*[\\\\\\\"\\\\'\\\\`]))\"}]},\"new-expr\":{\"name\":\"new.expr.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.new.tsx\"}},\"end\":\"(?<=\\\\))|(?=[;),}\\\\]:?\\\\-\\\\+\\\\>]|\\\\|\\\\||\\\\&\\\\&|\\\\!\\\\=\\\\=|$|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[_$[:alpha:]][_$[:alnum:]]*)|(\\\\s*[\\\\(]))))\",\"patterns\":[{\"include\":\"#expression\"}]},\"instanceof-expr\":{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(instanceof)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.instanceof.tsx\"}},\"end\":\"(?<=\\\\))|(?=[;),}\\\\]:?\\\\-\\\\+\\\\>]|\\\\|\\\\||\\\\&\\\\&|\\\\!\\\\=\\\\=|$|(===|!==|==|!=)|(([\\\\&\\\\~\\\\^\\\\|]\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s+instanceof(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[_$[:alpha:]][_$[:alnum:]]*)|(\\\\s*[\\\\(]))))\",\"patterns\":[{\"include\":\"#type\"}]},\"paren-expression-possibly-arrow\":{\"patterns\":[{\"begin\":\"(?<=[(=,])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*))?\\\\(\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#paren-expression-possibly-arrow-with-typeparameters\"}]},{\"begin\":\"(?<=[(=,]|=>|^return|[^\\\\._$[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)))\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.tsx\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#paren-expression-possibly-arrow-with-typeparameters\"}]},{\"include\":\"#possibly-arrow-return-type\"}]},\"paren-expression-possibly-arrow-with-typeparameters\":{\"patterns\":[{\"include\":\"#type-parameters\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]}]},\"expression-inside-possibly-arrow-parens\":{\"patterns\":[{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#decorator\"},{\"include\":\"#destructuring-parameter\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)\",\"captures\":{\"1\":{\"name\":\"storage.modifier.tsx\"}}},{\"match\":\"(?x)(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*\\n# function assignment |\\n(=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)) |\\n# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>\\n(:\\\\s*(\\n (<) |\\n ([(]\\\\s*(\\n ([)]) |\\n (\\\\.\\\\.\\\\.) |\\n ([_$[:alnum:]]+\\\\s*(\\n ([:,?=])|\\n ([)]\\\\s*=>)\\n ))\\n ))\\n)) |\\n(:\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))) |\\n(:\\\\s*((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*))))))) |\\n(:\\\\s*(=>|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n)))\",\"captures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"keyword.operator.rest.tsx\"},\"3\":{\"name\":\"entity.name.function.tsx variable.language.this.tsx\"},\"4\":{\"name\":\"entity.name.function.tsx\"},\"5\":{\"name\":\"keyword.operator.optional.tsx\"}}},{\"match\":\"(?x)(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*[:,]|$)\",\"captures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"keyword.operator.rest.tsx\"},\"3\":{\"name\":\"variable.parameter.tsx variable.language.this.tsx\"},\"4\":{\"name\":\"variable.parameter.tsx\"},\"5\":{\"name\":\"keyword.operator.optional.tsx\"}}},{\"include\":\"#type-annotation\"},{\"include\":\"#variable-initializer\"},{\"name\":\"punctuation.separator.parameter.tsx\",\"match\":\",\"},{\"include\":\"#identifiers\"},{\"include\":\"#expressionPunctuations\"}]},\"paren-expression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"cast\":{\"patterns\":[{\"include\":\"#jsx\"}]},\"expression-operators\":{\"patterns\":[{\"name\":\"keyword.control.flow.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(await)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?=\\\\s*\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*\\\\*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.tsx\"}},\"end\":\"\\\\*\",\"endCaptures\":{\"0\":{\"name\":\"keyword.generator.asterisk.tsx\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s*(\\\\*))?\",\"captures\":{\"1\":{\"name\":\"keyword.control.flow.tsx\"},\"2\":{\"name\":\"keyword.generator.asterisk.tsx\"}}},{\"name\":\"keyword.operator.expression.delete.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))delete(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"name\":\"keyword.operator.expression.in.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))in(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()\"},{\"name\":\"keyword.operator.expression.of.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))of(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()\"},{\"name\":\"keyword.operator.expression.instanceof.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))instanceof(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"name\":\"keyword.operator.new.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"include\":\"#typeof-operator\"},{\"name\":\"keyword.operator.expression.void.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))void(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*($|[;,:})\\\\]]))\",\"captures\":{\"1\":{\"name\":\"keyword.control.as.tsx\"},\"2\":{\"name\":\"storage.modifier.tsx\"}}},{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.as.tsx\"},\"2\":{\"name\":\"keyword.control.satisfies.tsx\"}},\"end\":\"(?=^|[;),}\\\\]:?\\\\-\\\\+\\\\>]|\\\\|\\\\||\\\\&\\\\&|\\\\!\\\\=\\\\=|$|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisfies)\\\\s+)|(\\\\s+\\\\<))\",\"patterns\":[{\"include\":\"#type\"}]},{\"name\":\"keyword.operator.spread.tsx\",\"match\":\"\\\\.\\\\.\\\\.\"},{\"name\":\"keyword.operator.assignment.compound.tsx\",\"match\":\"\\\\*=|(?<!\\\\()/=|%=|\\\\+=|\\\\-=\"},{\"name\":\"keyword.operator.assignment.compound.bitwise.tsx\",\"match\":\"\\\\&=|\\\\^=|<<=|>>=|>>>=|\\\\|=\"},{\"name\":\"keyword.operator.bitwise.shift.tsx\",\"match\":\"<<|>>>|>>\"},{\"name\":\"keyword.operator.comparison.tsx\",\"match\":\"===|!==|==|!=\"},{\"name\":\"keyword.operator.relational.tsx\",\"match\":\"<=|>=|<>|<|>\"},{\"match\":\"(?<=[_$[:alnum:]])(\\\\!)\\\\s*(?:(/=)|(?:(/)(?![/*])))\",\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.tsx\"},\"2\":{\"name\":\"keyword.operator.assignment.compound.tsx\"},\"3\":{\"name\":\"keyword.operator.arithmetic.tsx\"}}},{\"name\":\"keyword.operator.logical.tsx\",\"match\":\"\\\\!|&&|\\\\|\\\\||\\\\?\\\\?\"},{\"name\":\"keyword.operator.bitwise.tsx\",\"match\":\"\\\\&|~|\\\\^|\\\\|\"},{\"name\":\"keyword.operator.assignment.tsx\",\"match\":\"\\\\=\"},{\"name\":\"keyword.operator.decrement.tsx\",\"match\":\"--\"},{\"name\":\"keyword.operator.increment.tsx\",\"match\":\"\\\\+\\\\+\"},{\"name\":\"keyword.operator.arithmetic.tsx\",\"match\":\"%|\\\\*|/|-|\\\\+\"},{\"begin\":\"(?<=[_$[:alnum:])\\\\]])\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)+(?:(/=)|(?:(/)(?![/*]))))\",\"end\":\"(?:(/=)|(?:(/)(?!\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/)))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.compound.tsx\"},\"2\":{\"name\":\"keyword.operator.arithmetic.tsx\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"match\":\"(?<=[_$[:alnum:])\\\\]])\\\\s*(?:(/=)|(?:(/)(?![/*])))\",\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.compound.tsx\"},\"2\":{\"name\":\"keyword.operator.arithmetic.tsx\"}}}]},\"typeof-operator\":{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))typeof(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.expression.typeof.tsx\"}},\"end\":\"(?=[,);}\\\\]=>:&|{\\\\?]|(extends\\\\s+)|$|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\b))\",\"patterns\":[{\"include\":\"#type-arguments\"},{\"include\":\"#expression\"}]},\"literal\":{\"patterns\":[{\"include\":\"#numeric-literal\"},{\"include\":\"#boolean-literal\"},{\"include\":\"#null-literal\"},{\"include\":\"#undefined-literal\"},{\"include\":\"#numericConstant-literal\"},{\"include\":\"#array-literal\"},{\"include\":\"#this-literal\"},{\"include\":\"#super-literal\"}]},\"array-literal\":{\"name\":\"meta.array.literal.tsx\",\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.square.tsx\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.tsx\"}},\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"numeric-literal\":{\"patterns\":[{\"name\":\"constant.numeric.hex.tsx\",\"match\":\"\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$)\",\"captures\":{\"1\":{\"name\":\"storage.type.numeric.bigint.tsx\"}}},{\"name\":\"constant.numeric.binary.tsx\",\"match\":\"\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$)\",\"captures\":{\"1\":{\"name\":\"storage.type.numeric.bigint.tsx\"}}},{\"name\":\"constant.numeric.octal.tsx\",\"match\":\"\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$)\",\"captures\":{\"1\":{\"name\":\"storage.type.numeric.bigint.tsx\"}}},{\"match\":\"(?x)\\n(?<!\\\\$)(?:\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # .1E+3\\n (?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)| # 1E+3\\n (?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # 1.1\\n (?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)| # .1\\n (?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$)\",\"captures\":{\"0\":{\"name\":\"constant.numeric.decimal.tsx\"},\"1\":{\"name\":\"meta.delimiter.decimal.period.tsx\"},\"2\":{\"name\":\"storage.type.numeric.bigint.tsx\"},\"3\":{\"name\":\"meta.delimiter.decimal.period.tsx\"},\"4\":{\"name\":\"storage.type.numeric.bigint.tsx\"},\"5\":{\"name\":\"meta.delimiter.decimal.period.tsx\"},\"6\":{\"name\":\"storage.type.numeric.bigint.tsx\"},\"7\":{\"name\":\"storage.type.numeric.bigint.tsx\"},\"8\":{\"name\":\"meta.delimiter.decimal.period.tsx\"},\"9\":{\"name\":\"storage.type.numeric.bigint.tsx\"},\"10\":{\"name\":\"meta.delimiter.decimal.period.tsx\"},\"11\":{\"name\":\"storage.type.numeric.bigint.tsx\"},\"12\":{\"name\":\"meta.delimiter.decimal.period.tsx\"},\"13\":{\"name\":\"storage.type.numeric.bigint.tsx\"},\"14\":{\"name\":\"storage.type.numeric.bigint.tsx\"}}}]},\"boolean-literal\":{\"patterns\":[{\"name\":\"constant.language.boolean.true.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))true(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"name\":\"constant.language.boolean.false.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))false(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"}]},\"null-literal\":{\"name\":\"constant.language.null.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))null(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},\"this-literal\":{\"name\":\"variable.language.this.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))this\\\\b(?!\\\\$)\"},\"super-literal\":{\"name\":\"variable.language.super.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))super\\\\b(?!\\\\$)\"},\"undefined-literal\":{\"name\":\"constant.language.undefined.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))undefined(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},\"numericConstant-literal\":{\"patterns\":[{\"name\":\"constant.language.nan.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))NaN(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"name\":\"constant.language.infinity.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Infinity(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"}]},\"support-objects\":{\"patterns\":[{\"name\":\"variable.language.arguments.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(arguments)\\\\b(?!\\\\$)\"},{\"name\":\"support.class.promise.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(Promise)\\\\b(?!\\\\$)\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(import)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*(meta)\\\\b(?!\\\\$)\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.tsx\"},\"2\":{\"name\":\"punctuation.accessor.tsx\"},\"3\":{\"name\":\"punctuation.accessor.optional.tsx\"},\"4\":{\"name\":\"support.variable.property.importmeta.tsx\"}}},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*(target)\\\\b(?!\\\\$)\",\"captures\":{\"1\":{\"name\":\"keyword.operator.new.tsx\"},\"2\":{\"name\":\"punctuation.accessor.tsx\"},\"3\":{\"name\":\"punctuation.accessor.optional.tsx\"},\"4\":{\"name\":\"support.variable.property.target.tsx\"}}},{\"match\":\"(?x) (?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]]))) \\\\s* (?:\\n (?:(constructor|length|prototype|__proto__)\\\\b(?!\\\\$|\\\\s*(<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\\\())\\n |\\n (?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$)))\",\"captures\":{\"1\":{\"name\":\"punctuation.accessor.tsx\"},\"2\":{\"name\":\"punctuation.accessor.optional.tsx\"},\"3\":{\"name\":\"support.variable.property.tsx\"},\"4\":{\"name\":\"support.constant.tsx\"}}},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(exports)|(module)(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))(exports|id|filename|loaded|parent|children))?)\\\\b(?!\\\\$)\",\"captures\":{\"1\":{\"name\":\"support.type.object.module.tsx\"},\"2\":{\"name\":\"support.type.object.module.tsx\"},\"3\":{\"name\":\"punctuation.accessor.tsx\"},\"4\":{\"name\":\"punctuation.accessor.optional.tsx\"},\"5\":{\"name\":\"support.type.object.module.tsx\"}}}]},\"identifiers\":{\"patterns\":[{\"include\":\"#object-identifiers\"},{\"match\":\"(?x)(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\s*=\\\\s*(\\n ((async\\\\s+)?(\\n (function\\\\s*[(<*]) |\\n (function\\\\s+) |\\n ([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)\\n )) |\\n ((async\\\\s*)?(\\n ((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))))) |\\n # sure shot arrow functions even if => is on new line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\n [(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*\\n (\\n ([)]\\\\s*:) | # ():\\n ((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:) # [(]param: | [(]...param:\\n )\\n) |\\n(\\n [<]\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\s+extends\\\\s*[^=>] # < typeparam extends\\n) |\\n# arrow function possible to detect only with => on same line\\n(\\n (<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*(((const\\\\s+)?[_$[:alpha:]])|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)? # typeparameters\\n \\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\) # parameters\\n (\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)? # return type\\n \\\\s*=> # arrow operator\\n)\\n ))\\n))\",\"captures\":{\"1\":{\"name\":\"punctuation.accessor.tsx\"},\"2\":{\"name\":\"punctuation.accessor.optional.tsx\"},\"3\":{\"name\":\"entity.name.function.tsx\"}}},{\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*(\\\\#?[[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])\",\"captures\":{\"1\":{\"name\":\"punctuation.accessor.tsx\"},\"2\":{\"name\":\"punctuation.accessor.optional.tsx\"},\"3\":{\"name\":\"variable.other.constant.property.tsx\"}}},{\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*(\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\",\"captures\":{\"1\":{\"name\":\"punctuation.accessor.tsx\"},\"2\":{\"name\":\"punctuation.accessor.optional.tsx\"},\"3\":{\"name\":\"variable.other.property.tsx\"}}},{\"name\":\"variable.other.constant.tsx\",\"match\":\"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])\"},{\"name\":\"variable.other.readwrite.tsx\",\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\"}]},\"object-identifiers\":{\"patterns\":[{\"name\":\"support.class.tsx\",\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\s*\\\\??\\\\.\\\\s*prototype\\\\b(?!\\\\$))\"},{\"match\":\"(?x)(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*(?:\\n (\\\\#?[[:upper:]][_$[:digit:][:upper:]]*) |\\n (\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\n)(?=\\\\s*\\\\??\\\\.\\\\s*\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\",\"captures\":{\"1\":{\"name\":\"punctuation.accessor.tsx\"},\"2\":{\"name\":\"punctuation.accessor.optional.tsx\"},\"3\":{\"name\":\"variable.other.constant.object.property.tsx\"},\"4\":{\"name\":\"variable.other.object.property.tsx\"}}},{\"match\":\"(?x)(?:\\n ([[:upper:]][_$[:digit:][:upper:]]*) |\\n ([_$[:alpha:]][_$[:alnum:]]*)\\n)(?=\\\\s*\\\\??\\\\.\\\\s*\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\",\"captures\":{\"1\":{\"name\":\"variable.other.constant.object.tsx\"},\"2\":{\"name\":\"variable.other.object.tsx\"}}}]},\"type-annotation\":{\"patterns\":[{\"name\":\"meta.type.annotation.tsx\",\"begin\":\"(:)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.tsx\"}},\"end\":\"(?<![:|&])(?!\\\\s*[|&]\\\\s+)((?=^|[,);\\\\}\\\\]]|//)|(?==[^>])|((?<=[\\\\}>\\\\]\\\\)]|[_$[:alpha:]])\\\\s*(?=\\\\{)))\",\"patterns\":[{\"include\":\"#type\"}]},{\"name\":\"meta.type.annotation.tsx\",\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.tsx\"}},\"end\":\"(?<![:|&])((?=[,);\\\\}\\\\]]|\\\\/\\\\/)|(?==[^>])|(?=^\\\\s*$)|((?<=[\\\\}>\\\\]\\\\)]|[_$[:alpha:]])\\\\s*(?=\\\\{)))\",\"patterns\":[{\"include\":\"#type\"}]}]},\"parameter-type-annotation\":{\"patterns\":[{\"name\":\"meta.type.annotation.tsx\",\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.tsx\"}},\"end\":\"(?=[,)])|(?==[^>])\",\"patterns\":[{\"include\":\"#type\"}]}]},\"return-type\":{\"patterns\":[{\"name\":\"meta.return.type.tsx\",\"begin\":\"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.tsx\"}},\"end\":\"(?<![:|&])(?=$|^|[{};,]|//)\",\"patterns\":[{\"include\":\"#return-type-core\"}]},{\"name\":\"meta.return.type.tsx\",\"begin\":\"(?<=\\\\))\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.tsx\"}},\"end\":\"(?<![:|&])((?=[{};,]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#return-type-core\"}]}]},\"return-type-core\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<=[:|&])(?=\\\\s*\\\\{)\",\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"include\":\"#type-predicate-operator\"},{\"include\":\"#type\"}]},\"arrow-return-type\":{\"name\":\"meta.return.type.arrow.tsx\",\"begin\":\"(?<=\\\\))\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.tsx\"}},\"end\":\"(?==>|\\\\{|(^\\\\s*(export|function|class|interface|let|var|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))\",\"patterns\":[{\"include\":\"#arrow-return-type-body\"}]},\"possibly-arrow-return-type\":{\"begin\":\"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*=>)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.arrow.tsx meta.return.type.arrow.tsx keyword.operator.type.annotation.tsx\"}},\"end\":\"(?==>|\\\\{|(^\\\\s*(export|function|class|interface|let|var|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))\",\"contentName\":\"meta.arrow.tsx meta.return.type.arrow.tsx\",\"patterns\":[{\"include\":\"#arrow-return-type-body\"}]},\"arrow-return-type-body\":{\"patterns\":[{\"begin\":\"(?<=[:])(?=\\\\s*\\\\{)\",\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"include\":\"#type-predicate-operator\"},{\"include\":\"#type\"}]},\"type-parameters\":{\"name\":\"meta.type.parameters.tsx\",\"begin\":\"(<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.begin.tsx\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.end.tsx\"}},\"patterns\":[{\"include\":\"#comment\"},{\"name\":\"storage.modifier.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends|in|out|const)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"},{\"name\":\"keyword.operator.assignment.tsx\",\"match\":\"(=)(?!>)\"}]},\"type-arguments\":{\"name\":\"meta.type.parameters.tsx\",\"begin\":\"\\\\<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.tsx\"}},\"end\":\"\\\\>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.tsx\"}},\"patterns\":[{\"include\":\"#type-arguments-body\"}]},\"type-arguments-body\":{\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"captures\":{\"0\":{\"name\":\"keyword.operator.type.tsx\"}}},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"type\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-builtin-literals\"},{\"include\":\"#type-parameters\"},{\"include\":\"#type-tuple\"},{\"include\":\"#type-object\"},{\"include\":\"#type-operators\"},{\"include\":\"#type-conditional\"},{\"include\":\"#type-fn-type-parameters\"},{\"include\":\"#type-paren-or-function-parameters\"},{\"include\":\"#type-function-return-type\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\",\"captures\":{\"1\":{\"name\":\"storage.modifier.tsx\"}}},{\"include\":\"#type-name\"}]},\"type-primitive\":{\"name\":\"support.type.primitive.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},\"type-builtin-literals\":{\"name\":\"support.type.builtin.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(this|true|false|undefined|null|object)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},\"type-tuple\":{\"name\":\"meta.type.tuple.tsx\",\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.tsx\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.tsx\"}},\"patterns\":[{\"name\":\"keyword.operator.rest.tsx\",\"match\":\"\\\\.\\\\.\\\\.\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(\\\\?)?\\\\s*(:)\",\"captures\":{\"1\":{\"name\":\"entity.name.label.tsx\"},\"2\":{\"name\":\"keyword.operator.optional.tsx\"},\"3\":{\"name\":\"punctuation.separator.label.tsx\"}}},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"type-object\":{\"name\":\"meta.object.type.tsx\",\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tsx\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#method-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#indexer-mapped-type-declaration\"},{\"include\":\"#field-declaration\"},{\"include\":\"#type-annotation\"},{\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.tsx\"}},\"end\":\"(?=\\\\}|;|,|$)|(?<=\\\\})\",\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#type\"}]},\"type-conditional\":{\"patterns\":[{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsx\"}},\"end\":\"(?<=:)\",\"patterns\":[{\"begin\":\"\\\\?\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.tsx\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.tsx\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#type\"}]}]},\"type-paren-or-function-parameters\":{\"name\":\"meta.type.paren.cover.tsx\",\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.tsx\"}},\"patterns\":[{\"match\":\"(?x)(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\\\\s*(\\\\??)(?=\\\\s*(:\\\\s*(\\n (<) |\\n ([(]\\\\s*(\\n ([)]) |\\n (\\\\.\\\\.\\\\.) |\\n ([_$[:alnum:]]+\\\\s*(\\n ([:,?=])|\\n ([)]\\\\s*=>)\\n ))\\n ))\\n)) |\\n(:\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))) |\\n(:\\\\s*((<\\\\s*$)|([\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*))))))))\",\"captures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"keyword.operator.rest.tsx\"},\"3\":{\"name\":\"entity.name.function.tsx variable.language.this.tsx\"},\"4\":{\"name\":\"entity.name.function.tsx\"},\"5\":{\"name\":\"keyword.operator.optional.tsx\"}}},{\"match\":\"(?x)(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\\\\s*(\\\\??)(?=:)\",\"captures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"keyword.operator.rest.tsx\"},\"3\":{\"name\":\"variable.parameter.tsx variable.language.this.tsx\"},\"4\":{\"name\":\"variable.parameter.tsx\"},\"5\":{\"name\":\"keyword.operator.optional.tsx\"}}},{\"include\":\"#type-annotation\"},{\"name\":\"punctuation.separator.parameter.tsx\",\"match\":\",\"},{\"include\":\"#type\"}]},\"type-fn-type-parameters\":{\"patterns\":[{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b(?=\\\\s*\\\\<)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.type.constructor.tsx storage.modifier.tsx\"},\"2\":{\"name\":\"meta.type.constructor.tsx keyword.control.new.tsx\"}},\"end\":\"(?<=>)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"}]},{\"name\":\"meta.type.constructor.tsx\",\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsx\"},\"2\":{\"name\":\"keyword.control.new.tsx\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#function-parameters\"}]},{\"name\":\"meta.type.function.tsx\",\"begin\":\"(?x)(\\n (?=\\n [(]\\\\s*(\\n ([)]) |\\n (\\\\.\\\\.\\\\.) |\\n ([_$[:alnum:]]+\\\\s*(\\n ([:,?=])|\\n ([)]\\\\s*=>)\\n ))\\n )\\n )\\n)\",\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#function-parameters\"}]}]},\"type-function-return-type\":{\"patterns\":[{\"name\":\"meta.type.function.return.tsx\",\"begin\":\"(=>)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.arrow.tsx\"}},\"end\":\"(?<!=>)(?<![|&])(?=[,\\\\]\\\\)\\\\{\\\\}=;>:\\\\?]|//|$)\",\"patterns\":[{\"include\":\"#type-function-return-type-core\"}]},{\"name\":\"meta.type.function.return.tsx\",\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.function.arrow.tsx\"}},\"end\":\"(?<!=>)(?<![|&])((?=[,\\\\]\\\\)\\\\{\\\\}=;:\\\\?>]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#type-function-return-type-core\"}]}]},\"type-function-return-type-core\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<==>)(?=\\\\s*\\\\{)\",\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"include\":\"#type-predicate-operator\"},{\"include\":\"#type\"}]},\"type-operators\":{\"patterns\":[{\"include\":\"#typeof-operator\"},{\"include\":\"#type-infer\"},{\"begin\":\"([&|])(?=\\\\s*\\\\{)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.tsx\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"begin\":\"[&|]\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.tsx\"}},\"end\":\"(?=\\\\S)\"},{\"name\":\"keyword.operator.expression.keyof.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))keyof(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"name\":\"keyword.operator.ternary.tsx\",\"match\":\"(\\\\?|\\\\:)\"},{\"name\":\"keyword.operator.expression.import.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*\\\\()\"}]},\"type-infer\":{\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(infer)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s+(extends)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))?\",\"name\":\"meta.type.infer.tsx\",\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.infer.tsx\"},\"2\":{\"name\":\"entity.name.type.tsx\"},\"3\":{\"name\":\"keyword.operator.expression.extends.tsx\"}}}]},\"type-predicate-operator\":{\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(asserts)\\\\s+)?(?!asserts)(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\\\\s(is)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"captures\":{\"1\":{\"name\":\"keyword.operator.type.asserts.tsx\"},\"2\":{\"name\":\"variable.parameter.tsx variable.language.this.tsx\"},\"3\":{\"name\":\"variable.parameter.tsx\"},\"4\":{\"name\":\"keyword.operator.expression.is.tsx\"}}},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(asserts)\\\\s+(?!is)(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"captures\":{\"1\":{\"name\":\"keyword.operator.type.asserts.tsx\"},\"2\":{\"name\":\"variable.parameter.tsx variable.language.this.tsx\"},\"3\":{\"name\":\"variable.parameter.tsx\"}}},{\"name\":\"keyword.operator.type.asserts.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))asserts(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"name\":\"keyword.operator.expression.is.tsx\",\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))is(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"}]},\"type-name\":{\"patterns\":[{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*(<)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.module.tsx\"},\"2\":{\"name\":\"punctuation.accessor.tsx\"},\"3\":{\"name\":\"punctuation.accessor.optional.tsx\"},\"4\":{\"name\":\"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx\"}},\"contentName\":\"meta.type.parameters.tsx\",\"patterns\":[{\"include\":\"#type-arguments-body\"}]},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(<)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.tsx\"},\"2\":{\"name\":\"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx\"}},\"contentName\":\"meta.type.parameters.tsx\",\"patterns\":[{\"include\":\"#type-arguments-body\"}]},{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\",\"captures\":{\"1\":{\"name\":\"entity.name.type.module.tsx\"},\"2\":{\"name\":\"punctuation.accessor.tsx\"},\"3\":{\"name\":\"punctuation.accessor.optional.tsx\"}}},{\"name\":\"entity.name.type.tsx\",\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\"}]},\"punctuation-comma\":{\"name\":\"punctuation.separator.comma.tsx\",\"match\":\",\"},\"punctuation-semicolon\":{\"name\":\"punctuation.terminator.statement.tsx\",\"match\":\";\"},\"punctuation-accessor\":{\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\",\"captures\":{\"1\":{\"name\":\"punctuation.accessor.tsx\"},\"2\":{\"name\":\"punctuation.accessor.optional.tsx\"}}},\"string\":{\"patterns\":[{\"include\":\"#qstring-single\"},{\"include\":\"#qstring-double\"},{\"include\":\"#template\"}]},\"qstring-double\":{\"name\":\"string.quoted.double.tsx\",\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.tsx\"}},\"end\":\"(\\\")|((?:[^\\\\\\\\\\\\n])$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.tsx\"},\"2\":{\"name\":\"invalid.illegal.newline.tsx\"}},\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"qstring-single\":{\"name\":\"string.quoted.single.tsx\",\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.tsx\"}},\"end\":\"(\\\\')|((?:[^\\\\\\\\\\\\n])$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.tsx\"},\"2\":{\"name\":\"invalid.illegal.newline.tsx\"}},\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"string-character-escape\":{\"name\":\"constant.character.escape.tsx\",\"match\":\"\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\{[0-9A-Fa-f]+\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\"},\"template\":{\"patterns\":[{\"include\":\"#template-call\"},{\"contentName\":\"string.template.tsx\",\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.tsx\"},\"2\":{\"name\":\"string.template.tsx punctuation.definition.string.template.begin.tsx\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"string.template.tsx punctuation.definition.string.template.end.tsx\"}},\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"template-call\":{\"patterns\":[{\"begin\":\"(?=(([_$[:alpha:]][_$[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>)*(?<!=)\\\\>))*(?<!=)\\\\>)*(?<!=)>\\\\s*)?`)\",\"end\":\"(?=`)\",\"patterns\":[{\"begin\":\"(?=(([_$[:alpha:]][_$[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*))\",\"end\":\"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>)*(?<!=)\\\\>))*(?<!=)\\\\>)*(?<!=)>\\\\s*)?`)\",\"patterns\":[{\"include\":\"#support-function-call-identifiers\"},{\"name\":\"entity.name.function.tagged-template.tsx\",\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\"}]},{\"include\":\"#type-arguments\"}]},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>|\\\\<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))(?=\\\\s*([\\\\<\\\\>\\\\,\\\\.\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^<>\\\\(]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(?<==)\\\\>)*(?<!=)\\\\>))*(?<!=)\\\\>)*(?<!=)>\\\\s*)`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.tsx\"}},\"end\":\"(?=`)\",\"patterns\":[{\"include\":\"#type-arguments\"}]}]},\"template-substitution-element\":{\"name\":\"meta.template.expression.tsx\",\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.tsx\"}},\"patterns\":[{\"include\":\"#expression\"}],\"contentName\":\"meta.embedded.line.tsx\"},\"type-string\":{\"patterns\":[{\"include\":\"#qstring-single\"},{\"include\":\"#qstring-double\"},{\"include\":\"#template-type\"}]},\"template-type\":{\"patterns\":[{\"include\":\"#template-call\"},{\"contentName\":\"string.template.tsx\",\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.tsx\"},\"2\":{\"name\":\"string.template.tsx punctuation.definition.string.template.begin.tsx\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"string.template.tsx punctuation.definition.string.template.end.tsx\"}},\"patterns\":[{\"include\":\"#template-type-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"template-type-substitution-element\":{\"name\":\"meta.template.expression.tsx\",\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.tsx\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.tsx\"}},\"patterns\":[{\"include\":\"#type\"}],\"contentName\":\"meta.embedded.line.tsx\"},\"regex\":{\"patterns\":[{\"name\":\"string.regexp.tsx\",\"begin\":\"(?<!\\\\+\\\\+|--|})(?<=[=(:,\\\\[?+!]|^return|[^\\\\._$[:alnum:]]return|^case|[^\\\\._$[:alnum:]]case|=>|&&|\\\\|\\\\||\\\\*\\\\/)\\\\s*(\\\\/)(?![\\\\/*])(?=(?:[^\\\\/\\\\\\\\\\\\[\\\\()]|\\\\\\\\.|\\\\[([^\\\\]\\\\\\\\]|\\\\\\\\.)+\\\\]|\\\\(([^\\\\)\\\\\\\\]|\\\\\\\\.)+\\\\))+\\\\/([dgimsuy]+|(?![\\\\/\\\\*])|(?=\\\\/\\\\*))(?!\\\\s*[a-zA-Z0-9_$]))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.tsx\"}},\"end\":\"(/)([dgimsuy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.tsx\"},\"2\":{\"name\":\"keyword.other.tsx\"}},\"patterns\":[{\"include\":\"#regexp\"}]},{\"name\":\"string.regexp.tsx\",\"begin\":\"((?<![_$[:alnum:])\\\\]]|\\\\+\\\\+|--|}|\\\\*\\\\/)|((?<=^return|[^\\\\._$[:alnum:]]return|^case|[^\\\\._$[:alnum:]]case))\\\\s*)\\\\/(?![\\\\/*])(?=(?:[^\\\\/\\\\\\\\\\\\[]|\\\\\\\\.|\\\\[([^\\\\]\\\\\\\\]|\\\\\\\\.)*\\\\])+\\\\/([dgimsuy]+|(?![\\\\/\\\\*])|(?=\\\\/\\\\*))(?!\\\\s*[a-zA-Z0-9_$]))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.tsx\"}},\"end\":\"(/)([dgimsuy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.tsx\"},\"2\":{\"name\":\"keyword.other.tsx\"}},\"patterns\":[{\"include\":\"#regexp\"}]}]},\"regexp\":{\"patterns\":[{\"name\":\"keyword.control.anchor.regexp\",\"match\":\"\\\\\\\\[bB]|\\\\^|\\\\$\"},{\"match\":\"\\\\\\\\[1-9]\\\\d*|\\\\\\\\k<([a-zA-Z_$][\\\\w$]*)>\",\"captures\":{\"0\":{\"name\":\"keyword.other.back-reference.regexp\"},\"1\":{\"name\":\"variable.other.regexp\"}}},{\"name\":\"keyword.operator.quantifier.regexp\",\"match\":\"[?+*]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)\\\\}\\\\??\"},{\"name\":\"keyword.operator.or.regexp\",\"match\":\"\\\\|\"},{\"name\":\"meta.group.assertion.regexp\",\"begin\":\"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?<!))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"},\"2\":{\"name\":\"punctuation.definition.group.assertion.regexp\"},\"3\":{\"name\":\"meta.assertion.look-ahead.regexp\"},\"4\":{\"name\":\"meta.assertion.negative-look-ahead.regexp\"},\"5\":{\"name\":\"meta.assertion.look-behind.regexp\"},\"6\":{\"name\":\"meta.assertion.negative-look-behind.regexp\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"}},\"patterns\":[{\"include\":\"#regexp\"}]},{\"name\":\"meta.group.regexp\",\"begin\":\"\\\\((?:(\\\\?:)|(?:\\\\?<([a-zA-Z_$][\\\\w$]*)>))?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"},\"1\":{\"name\":\"punctuation.definition.group.no-capture.regexp\"},\"2\":{\"name\":\"variable.other.regexp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"}},\"patterns\":[{\"include\":\"#regexp\"}]},{\"name\":\"constant.other.character-class.set.regexp\",\"begin\":\"(\\\\[)(\\\\^)?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.regexp\"},\"2\":{\"name\":\"keyword.operator.negation.regexp\"}},\"end\":\"(\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.regexp\"}},\"patterns\":[{\"name\":\"constant.other.character-class.range.regexp\",\"match\":\"(?:.|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))\\\\-(?:[^\\\\]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))\",\"captures\":{\"1\":{\"name\":\"constant.character.numeric.regexp\"},\"2\":{\"name\":\"constant.character.control.regexp\"},\"3\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"4\":{\"name\":\"constant.character.numeric.regexp\"},\"5\":{\"name\":\"constant.character.control.regexp\"},\"6\":{\"name\":\"constant.character.escape.backslash.regexp\"}}},{\"include\":\"#regex-character-class\"}]},{\"include\":\"#regex-character-class\"}]},\"regex-character-class\":{\"patterns\":[{\"name\":\"constant.other.character-class.regexp\",\"match\":\"\\\\\\\\[wWsSdDtrnvf]|\\\\.\"},{\"name\":\"constant.character.numeric.regexp\",\"match\":\"\\\\\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})\"},{\"name\":\"constant.character.control.regexp\",\"match\":\"\\\\\\\\c[A-Z]\"},{\"name\":\"constant.character.escape.backslash.regexp\",\"match\":\"\\\\\\\\.\"}]},\"comment\":{\"patterns\":[{\"name\":\"comment.block.documentation.tsx\",\"begin\":\"/\\\\*\\\\*(?!/)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.tsx\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.tsx\"}},\"patterns\":[{\"include\":\"#docblock\"}]},{\"name\":\"comment.block.tsx\",\"begin\":\"(/\\\\*)(?:\\\\s*((@)internal)(?=\\\\s|(\\\\*/)))?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.tsx\"},\"2\":{\"name\":\"storage.type.internaldeclaration.tsx\"},\"3\":{\"name\":\"punctuation.decorator.internaldeclaration.tsx\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.tsx\"}}},{\"begin\":\"(^[ \\\\t]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.tsx\"},\"2\":{\"name\":\"comment.line.double-slash.tsx\"},\"3\":{\"name\":\"punctuation.definition.comment.tsx\"},\"4\":{\"name\":\"storage.type.internaldeclaration.tsx\"},\"5\":{\"name\":\"punctuation.decorator.internaldeclaration.tsx\"}},\"end\":\"(?=$)\",\"contentName\":\"comment.line.double-slash.tsx\"}]},\"single-line-comment-consuming-line-ending\":{\"begin\":\"(^[ \\\\t]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.tsx\"},\"2\":{\"name\":\"comment.line.double-slash.tsx\"},\"3\":{\"name\":\"punctuation.definition.comment.tsx\"},\"4\":{\"name\":\"storage.type.internaldeclaration.tsx\"},\"5\":{\"name\":\"punctuation.decorator.internaldeclaration.tsx\"}},\"end\":\"(?=^)\",\"contentName\":\"comment.line.double-slash.tsx\"},\"directives\":{\"name\":\"comment.line.triple-slash.directive.tsx\",\"begin\":\"^(///)\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\s*=\\\\s*((\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)))+\\\\s*/>\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.tsx\"}},\"end\":\"(?=$)\",\"patterns\":[{\"name\":\"meta.tag.tsx\",\"begin\":\"(<)(reference|amd-dependency|amd-module)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.directive.tsx\"},\"2\":{\"name\":\"entity.name.tag.directive.tsx\"}},\"end\":\"/>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.directive.tsx\"}},\"patterns\":[{\"name\":\"entity.other.attribute-name.directive.tsx\",\"match\":\"path|types|no-default-lib|lib|name|resolution-mode\"},{\"name\":\"keyword.operator.assignment.tsx\",\"match\":\"=\"},{\"include\":\"#string\"}]}]},\"docblock\":{\"patterns\":[{\"match\":\"(?x)\\n((@)(?:access|api))\\n\\\\s+\\n(private|protected|public)\\n\\\\b\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.access-type.jsdoc\"}}},{\"match\":\"(?x)\\n((@)author)\\n\\\\s+\\n(\\n [^@\\\\s<>*/]\\n (?:[^@<>*/]|\\\\*[^/])*\\n)\\n(?:\\n \\\\s*\\n (<)\\n ([^>\\\\s]+)\\n (>)\\n)?\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"4\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"5\":{\"name\":\"constant.other.email.link.underline.jsdoc\"},\"6\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}}},{\"match\":\"(?x)\\n((@)borrows) \\\\s+\\n((?:[^@\\\\s*/]|\\\\*[^/])+) # <that namepath>\\n\\\\s+ (as) \\\\s+ # as\\n((?:[^@\\\\s*/]|\\\\*[^/])+) # <this namepath>\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"4\":{\"name\":\"keyword.operator.control.jsdoc\"},\"5\":{\"name\":\"entity.name.type.instance.jsdoc\"}}},{\"name\":\"meta.example.jsdoc\",\"begin\":\"((@)example)\\\\s+\",\"end\":\"(?=@|\\\\*/)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"patterns\":[{\"match\":\"^\\\\s\\\\*\\\\s+\"},{\"contentName\":\"constant.other.description.jsdoc\",\"begin\":\"\\\\G(<)caption(>)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.tag.inline.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}},\"end\":\"(</)caption(>)|(?=\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.tag.inline.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}}},{\"match\":\"[^\\\\s@*](?:[^*]|\\\\*[^/])*\",\"captures\":{\"0\":{\"name\":\"source.embedded.tsx\"}}}]},{\"match\":\"(?x) ((@)kind) \\\\s+ (class|constant|event|external|file|function|member|mixin|module|namespace|typedef) \\\\b\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.symbol-type.jsdoc\"}}},{\"match\":\"(?x)\\n((@)see)\\n\\\\s+\\n(?:\\n # URL\\n (\\n (?=https?://)\\n (?:[^\\\\s*]|\\\\*[^/])+\\n )\\n |\\n # JSDoc namepath\\n (\\n (?!\\n # Avoid matching bare URIs (also acceptable as links)\\n https?://\\n |\\n # Avoid matching {@inline tags}; we match those below\\n (?:\\\\[[^\\\\[\\\\]]*\\\\])? # Possible description [preceding]{@tag}\\n {@(?:link|linkcode|linkplain|tutorial)\\\\b\\n )\\n # Matched namepath\\n (?:[^@\\\\s*/]|\\\\*[^/])+\\n )\\n)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.link.underline.jsdoc\"},\"4\":{\"name\":\"entity.name.type.instance.jsdoc\"}}},{\"match\":\"(?x)\\n((@)template)\\n\\\\s+\\n# One or more valid identifiers\\n(\\n [A-Za-z_$] # First character: non-numeric word character\\n [\\\\w$.\\\\[\\\\]]* # Rest of identifier\\n (?: # Possible list of additional identifiers\\n \\\\s* , \\\\s*\\n [A-Za-z_$]\\n [\\\\w$.\\\\[\\\\]]*\\n )*\\n)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}}},{\"begin\":\"(?x)((@)template)\\\\s+(?={)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^{}\\\\[\\\\]A-Za-z_$])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"name\":\"variable.other.jsdoc\",\"match\":\"([A-Za-z_$][\\\\w$.\\\\[\\\\]]*)\"}]},{\"match\":\"(?x)\\n(\\n (@)\\n (?:arg|argument|const|constant|member|namespace|param|var)\\n)\\n\\\\s+\\n(\\n [A-Za-z_$]\\n [\\\\w$.\\\\[\\\\]]*\\n)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}}},{\"begin\":\"((@)typedef)\\\\s+(?={)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^{}\\\\[\\\\]A-Za-z_$])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"name\":\"entity.name.type.instance.jsdoc\",\"match\":\"(?:[^@\\\\s*/]|\\\\*[^/])+\"}]},{\"begin\":\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?={)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^{}\\\\[\\\\]A-Za-z_$])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"name\":\"variable.other.jsdoc\",\"match\":\"([A-Za-z_$][\\\\w$.\\\\[\\\\]]*)\"},{\"name\":\"variable.other.jsdoc\",\"match\":\"(?x)\\n(\\\\[)\\\\s*\\n[\\\\w$]+\\n(?:\\n (?:\\\\[\\\\])? # Foo[ ].bar properties within an array\\n \\\\. # Foo.Bar namespaced parameter\\n [\\\\w$]+\\n)*\\n(?:\\n \\\\s*\\n (=) # [foo=bar] Default parameter value\\n \\\\s*\\n (\\n # The inner regexes are to stop the match early at */ and to not stop at escaped quotes\\n (?>\\n \\\"(?:(?:\\\\*(?!/))|(?:\\\\\\\\(?!\\\"))|[^*\\\\\\\\])*?\\\" | # [foo=\\\"bar\\\"] Double-quoted\\n '(?:(?:\\\\*(?!/))|(?:\\\\\\\\(?!'))|[^*\\\\\\\\])*?' | # [foo='bar'] Single-quoted\\n \\\\[ (?:(?:\\\\*(?!/))|[^*])*? \\\\] | # [foo=[1,2]] Array literal\\n (?:(?:\\\\*(?!/))|\\\\s(?!\\\\s*\\\\])|\\\\[.*?(?:\\\\]|(?=\\\\*/))|[^*\\\\s\\\\[\\\\]])* # Everything else\\n )*\\n )\\n)?\\n\\\\s*(?:(\\\\])((?:[^*\\\\s]|\\\\*[^\\\\s/])+)?|(?=\\\\*/))\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\"},\"2\":{\"name\":\"keyword.operator.assignment.jsdoc\"},\"3\":{\"name\":\"source.embedded.tsx\"},\"4\":{\"name\":\"punctuation.definition.optional-value.end.bracket.square.jsdoc\"},\"5\":{\"name\":\"invalid.illegal.syntax.jsdoc\"}}}]},{\"begin\":\"(?x)\\n(\\n (@)\\n (?:define|enum|exception|export|extends|lends|implements|modifies\\n |namespace|private|protected|returns?|satisfies|suppress|this|throws|type\\n |yields?)\\n)\\n\\\\s+(?={)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^{}\\\\[\\\\]A-Za-z_$])\",\"patterns\":[{\"include\":\"#jsdoctype\"}]},{\"match\":\"(?x)\\n(\\n (@)\\n (?:alias|augments|callback|constructs|emits|event|fires|exports?\\n |extends|external|function|func|host|lends|listens|interface|memberof!?\\n |method|module|mixes|mixin|name|requires|see|this|typedef|uses)\\n)\\n\\\\s+\\n(\\n (?:\\n [^{}@\\\\s*] | \\\\*[^/]\\n )+\\n)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"}}},{\"contentName\":\"variable.other.jsdoc\",\"begin\":\"((@)(?:default(?:value)?|license|version))\\\\s+(([''\\\"]))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"},\"4\":{\"name\":\"punctuation.definition.string.begin.jsdoc\"}},\"end\":\"(\\\\3)|(?=$|\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.string.end.jsdoc\"}}},{\"match\":\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^\\\\s*]+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}}},{\"name\":\"storage.type.class.jsdoc\",\"match\":\"(?x) (@) (?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles |callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright |default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception |exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func |function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc |inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method |mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects |override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected |public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary |suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation |version|virtual|writeOnce|yields?) \\\\b\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}}},{\"include\":\"#inline-tags\"},{\"match\":\"((@)(?:[_$[:alpha:]][_$[:alnum:]]*))(?=\\\\s+)\",\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}}}]},\"brackets\":{\"patterns\":[{\"begin\":\"{\",\"end\":\"}|(?=\\\\*/)\",\"patterns\":[{\"include\":\"#brackets\"}]},{\"begin\":\"\\\\[\",\"end\":\"\\\\]|(?=\\\\*/)\",\"patterns\":[{\"include\":\"#brackets\"}]}]},\"inline-tags\":{\"patterns\":[{\"name\":\"constant.other.description.jsdoc\",\"match\":\"(\\\\[)[^\\\\]]+(\\\\])(?={@(?:link|linkcode|linkplain|tutorial))\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.bracket.square.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.square.end.jsdoc\"}}},{\"name\":\"entity.name.type.instance.jsdoc\",\"begin\":\"({)((@)(?:link(?:code|plain)?|tutorial))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.bracket.curly.begin.jsdoc\"},\"2\":{\"name\":\"storage.type.class.jsdoc\"},\"3\":{\"name\":\"punctuation.definition.inline.tag.jsdoc\"}},\"end\":\"}|(?=\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.bracket.curly.end.jsdoc\"}},\"patterns\":[{\"match\":\"\\\\G((?=https?://)(?:[^|}\\\\s*]|\\\\*[/])+)(\\\\|)?\",\"captures\":{\"1\":{\"name\":\"variable.other.link.underline.jsdoc\"},\"2\":{\"name\":\"punctuation.separator.pipe.jsdoc\"}}},{\"match\":\"\\\\G((?:[^{}@\\\\s|*]|\\\\*[^/])+)(\\\\|)?\",\"captures\":{\"1\":{\"name\":\"variable.other.description.jsdoc\"},\"2\":{\"name\":\"punctuation.separator.pipe.jsdoc\"}}}]}]},\"jsdoctype\":{\"patterns\":[{\"contentName\":\"entity.name.type.instance.jsdoc\",\"begin\":\"\\\\G({)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.curly.begin.jsdoc\"}},\"end\":\"((}))\\\\s*|(?=\\\\*/)\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.curly.end.jsdoc\"}},\"patterns\":[{\"include\":\"#brackets\"}]}]},\"jsx\":{\"patterns\":[{\"include\":\"#jsx-tag-without-attributes-in-expression\"},{\"include\":\"#jsx-tag-in-expression\"}]},\"jsx-tag-without-attributes-in-expression\":{\"begin\":\"(?<!\\\\+\\\\+|--)(?<=[({\\\\[,?=>:*]|&&|\\\\|\\\\||\\\\?|\\\\*\\\\/|^await|[^\\\\._$[:alnum:]]await|^return|[^\\\\._$[:alnum:]]return|^default|[^\\\\._$[:alnum:]]default|^yield|[^\\\\._$[:alnum:]]yield|^)\\\\s*(?=(<)\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\.|-))?\\\\s*(>))\",\"end\":\"(?!(<)\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\.|-))?\\\\s*(>))\",\"patterns\":[{\"include\":\"#jsx-tag-without-attributes\"}]},\"jsx-tag-without-attributes\":{\"name\":\"meta.tag.without-attributes.tsx\",\"begin\":\"(<)\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\.|-))?\\\\s*(>)\",\"end\":\"(</)\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\.|-))?\\\\s*(>)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.tsx\"},\"2\":{\"name\":\"entity.name.tag.namespace.tsx\"},\"3\":{\"name\":\"punctuation.separator.namespace.tsx\"},\"4\":{\"name\":\"entity.name.tag.tsx\"},\"5\":{\"name\":\"support.class.component.tsx\"},\"6\":{\"name\":\"punctuation.definition.tag.end.tsx\"}},\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.tsx\"},\"2\":{\"name\":\"entity.name.tag.namespace.tsx\"},\"3\":{\"name\":\"punctuation.separator.namespace.tsx\"},\"4\":{\"name\":\"entity.name.tag.tsx\"},\"5\":{\"name\":\"support.class.component.tsx\"},\"6\":{\"name\":\"punctuation.definition.tag.end.tsx\"}},\"contentName\":\"meta.jsx.children.tsx\",\"patterns\":[{\"include\":\"#jsx-children\"}]},\"jsx-tag-in-expression\":{\"begin\":\"(?x)\\n (?<!\\\\+\\\\+|--)(?<=[({\\\\[,?=>:*]|&&|\\\\|\\\\||\\\\?|\\\\*\\\\/|^await|[^\\\\._$[:alnum:]]await|^return|[^\\\\._$[:alnum:]]return|^default|[^\\\\._$[:alnum:]]default|^yield|[^\\\\._$[:alnum:]]yield|^)\\\\s*\\n (?!<\\\\s*[_$[:alpha:]][_$[:alnum:]]*((\\\\s+extends\\\\s+[^=>])|,)) # look ahead is not type parameter of arrow\\n (?=(<)\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\.|-))(?=((<\\\\s*)|(\\\\s+))(?!\\\\?)|\\\\/?>))\",\"end\":\"(?!(<)\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\.|-))(?=((<\\\\s*)|(\\\\s+))(?!\\\\?)|\\\\/?>))\",\"patterns\":[{\"include\":\"#jsx-tag\"}]},\"jsx-tag\":{\"name\":\"meta.tag.tsx\",\"begin\":\"(?=(<)\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\.|-))(?=((<\\\\s*)|(\\\\s+))(?!\\\\?)|\\\\/?>))\",\"end\":\"(/>)|(?:(</)\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\.|-))?\\\\s*(>))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.tsx\"},\"2\":{\"name\":\"punctuation.definition.tag.begin.tsx\"},\"3\":{\"name\":\"entity.name.tag.namespace.tsx\"},\"4\":{\"name\":\"punctuation.separator.namespace.tsx\"},\"5\":{\"name\":\"entity.name.tag.tsx\"},\"6\":{\"name\":\"support.class.component.tsx\"},\"7\":{\"name\":\"punctuation.definition.tag.end.tsx\"}},\"patterns\":[{\"begin\":\"(<)\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\.|-))(?=((<\\\\s*)|(\\\\s+))(?!\\\\?)|\\\\/?>)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.tsx\"},\"2\":{\"name\":\"entity.name.tag.namespace.tsx\"},\"3\":{\"name\":\"punctuation.separator.namespace.tsx\"},\"4\":{\"name\":\"entity.name.tag.tsx\"},\"5\":{\"name\":\"support.class.component.tsx\"}},\"end\":\"(?=[/]?>)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-arguments\"},{\"include\":\"#jsx-tag-attributes\"}]},{\"begin\":\"(>)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.tsx\"}},\"end\":\"(?=</)\",\"contentName\":\"meta.jsx.children.tsx\",\"patterns\":[{\"include\":\"#jsx-children\"}]}]},\"jsx-children\":{\"patterns\":[{\"include\":\"#jsx-tag-without-attributes\"},{\"include\":\"#jsx-tag\"},{\"include\":\"#jsx-evaluated-code\"},{\"include\":\"#jsx-entities\"}]},\"jsx-evaluated-code\":{\"contentName\":\"meta.embedded.expression.tsx\",\"begin\":\"\\\\{\",\"end\":\"\\\\}\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.tsx\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.tsx\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"jsx-entities\":{\"patterns\":[{\"name\":\"constant.character.entity.tsx\",\"match\":\"(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.tsx\"},\"3\":{\"name\":\"punctuation.definition.entity.tsx\"}}}]},\"jsx-tag-attributes\":{\"name\":\"meta.tag.attributes.tsx\",\"begin\":\"\\\\s+\",\"end\":\"(?=[/]?>)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#jsx-tag-attribute-name\"},{\"include\":\"#jsx-tag-attribute-assignment\"},{\"include\":\"#jsx-string-double-quoted\"},{\"include\":\"#jsx-string-single-quoted\"},{\"include\":\"#jsx-evaluated-code\"},{\"include\":\"#jsx-tag-attributes-illegal\"}]},\"jsx-tag-attribute-name\":{\"match\":\"(?x)\\n \\\\s*\\n (?:([_$[:alpha:]][-_$[:alnum:].]*)(:))?\\n ([_$[:alpha:]][-_$[:alnum:]]*)\\n (?=\\\\s|=|/?>|/\\\\*|//)\",\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.namespace.tsx\"},\"2\":{\"name\":\"punctuation.separator.namespace.tsx\"},\"3\":{\"name\":\"entity.other.attribute-name.tsx\"}}},\"jsx-tag-attribute-assignment\":{\"name\":\"keyword.operator.assignment.tsx\",\"match\":\"=(?=\\\\s*(?:'|\\\"|{|/\\\\*|//|\\\\n))\"},\"jsx-string-double-quoted\":{\"name\":\"string.quoted.double.tsx\",\"begin\":\"\\\"\",\"end\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.tsx\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.tsx\"}},\"patterns\":[{\"include\":\"#jsx-entities\"}]},\"jsx-string-single-quoted\":{\"name\":\"string.quoted.single.tsx\",\"begin\":\"'\",\"end\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.tsx\"}},\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.tsx\"}},\"patterns\":[{\"include\":\"#jsx-entities\"}]},\"jsx-tag-attributes-illegal\":{\"name\":\"invalid.illegal.attribute.tsx\",\"match\":\"\\\\S+\"}}}";
|
|
2
|
+
export { TypeScriptReact_tmLanguage_json as default };
|