@elice/material-exercise 1.231227.0 → 1.240112.0-cloud.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/cjs/components/material-exercise/MaterialExercise.i18n.js +2 -4
- package/cjs/components/material-exercise/MaterialExercise.js +54 -59
- package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -20
- package/cjs/components/material-exercise/MaterialExerciseMobile.js +8 -15
- package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +14 -18
- package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -66
- package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +19 -24
- package/cjs/components/material-exercise/context/context.js +1 -7
- package/cjs/components/material-exercise/context/locales/noImage.en.json.js +1 -1
- package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +1 -1
- package/cjs/components/material-exercise/context/recoil.js +293 -544
- package/cjs/components/material-exercise/context/recoilTypes.js +0 -2
- package/cjs/components/material-exercise/context/subjects.js +3 -5
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +60 -67
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -14
- package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +17 -21
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +133 -203
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -12
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +24 -40
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +38 -52
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +5 -9
- package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +189 -328
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +5 -9
- package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +14 -17
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +11 -15
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +7 -11
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +44 -65
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +32 -61
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +19 -35
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +48 -62
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -18
- package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +21 -32
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -8
- package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +23 -27
- package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -17
- package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +23 -32
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +7 -15
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +79 -86
- package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +11 -22
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -20
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +180 -288
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +82 -116
- package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -4
- package/cjs/components/material-exercise/exercise-room/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +125 -181
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -7
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -17
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +43 -58
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +15 -27
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +65 -68
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +23 -32
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +58 -92
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +3 -7
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +11 -16
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +18 -29
- package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +162 -282
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -14
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -54
- package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +1 -1
- package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +15 -21
- package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +14 -19
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +16 -21
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +5 -10
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +18 -23
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +10 -21
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -8
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -7
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -11
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -15
- package/cjs/components/shared/file-icon/FileIcon.js +17 -23
- package/cjs/components/shared/file-tabs/FileTab.js +30 -36
- package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -25
- package/cjs/components/shared/file-tabs/FileTabs.js +38 -63
- package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -8
- package/cjs/components/shared/file-tabs/util.js +14 -29
- package/cjs/components/shared/file-tree/FileTree.js +12 -17
- package/cjs/components/shared/file-tree/FileTreeConfig.js +22 -25
- package/cjs/components/shared/file-tree/FileTreeList.js +37 -39
- package/cjs/components/shared/file-tree/FileTreeListItemContent.js +61 -75
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -31
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +64 -72
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -12
- package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +63 -74
- package/cjs/components/shared/file-tree/FileTreeListItems.js +136 -151
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -8
- package/cjs/components/shared/file-tree/FileTreeToolbar.js +31 -32
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -7
- package/cjs/components/shared/file-tree/context/FileTreeContext.js +76 -97
- package/cjs/components/shared/file-tree/locales/en.json.js +1 -1
- package/cjs/components/shared/file-tree/locales/ko.json.js +1 -1
- package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -26
- package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -195
- package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -2
- package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -3
- package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -7
- package/cjs/components/shared/file-viewer/FileViewer.js +37 -61
- package/cjs/components/shared/file-viewer/FileViewerCsv.js +108 -172
- package/cjs/components/shared/file-viewer/FileViewerImage.js +8 -12
- package/cjs/components/shared/file-viewer/FileViewerIpynb.js +10 -23
- package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +33 -42
- package/cjs/components/shared/file-viewer/FileViewerText.js +12 -24
- package/cjs/components/shared/file-viewer/locales/en.json.js +1 -1
- package/cjs/components/shared/file-viewer/locales/ko.json.js +1 -1
- package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +1 -1
- package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +1 -1
- package/cjs/components/shared/material-modal/MaterialModal.js +11 -14
- package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -11
- package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -99
- package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +6 -12
- package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +36 -50
- package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +91 -110
- package/cjs/components/shared/monaco-editor/constants/grammars/JSON.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/MagicPython.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/TypeScriptReact.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/asp-vb-net.tmlanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/c.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/cpp.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/csharp.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/css.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/dart.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/fsharp.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/go.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/html.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -84
- package/cjs/components/shared/monaco-editor/constants/grammars/java.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/lua.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/objective-c.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/php.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/r.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/ruby.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/rust.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/scss.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/sql.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/swift.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/xml.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/grammars/yaml.tmLanguage.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -7
- package/cjs/components/shared/monaco-editor/constants/themes/abyss.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/elice.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -51
- package/cjs/components/shared/monaco-editor/constants/themes/kimbie-dark.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/monokai.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/quietlight.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/red.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/solarized-dark.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/solarized-light.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/tomorrow-night-blue.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/vs-dark-plus.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/vs-dark.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/vs-hc-black.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/vs-hc-light.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/vs-light-plus.json.js +1 -1
- package/cjs/components/shared/monaco-editor/constants/themes/vs-light.json.js +1 -1
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -17
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -11
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -36
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -11
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -8
- package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +11 -52
- package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +7 -8
- package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +11 -52
- package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +5 -6
- package/cjs/components/shared/monaco-editor/editor-languages/index.js +4 -4
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -3
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +1 -1
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +1 -1
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +1 -1
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +11 -56
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +17 -18
- package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -13
- package/cjs/components/shared/monaco-editor/locales/en.json.js +1 -1
- package/cjs/components/shared/monaco-editor/locales/ko.json.js +1 -1
- package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -12
- package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -2
- package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -14
- package/cjs/components/shared/monaco-editor/utils/grammar/index.js +25 -69
- package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -27
- package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +38 -73
- package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +8 -11
- package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -8
- package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -4
- package/cjs/components/shared/monaco-editor/utils/prettier/index.js +8 -46
- package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -26
- package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -24
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -79
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -84
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -122
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +133 -158
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -106
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -4
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -3
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -4
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -179
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -5
- package/cjs/components/shared/no-vnc/NoVnc.js +57 -86
- package/cjs/components/shared/no-vnc/NoVncLazy.js +5 -11
- package/cjs/components/shared/preview-container/PreviewContainer.js +11 -15
- package/cjs/components/shared/web-browser/WebBrowser.js +37 -53
- package/cjs/components/shared/xterm/Xterm.js +58 -81
- package/cjs/components/shared/xterm/XtermLazy.js +5 -11
- package/cjs/components/shared/xterm/locales/en.json.js +1 -1
- package/cjs/components/shared/xterm/locales/ko.json.js +1 -1
- package/cjs/components/shared/xterm/utils/index.js +0 -2
- package/cjs/constants/arduino.js +10 -12
- package/cjs/constants/shortcutKeyMap.js +2 -4
- package/cjs/constants/stylesheets.js +5 -9
- package/cjs/hooks/useArduino.js +141 -284
- package/cjs/hooks/useExerciseFile.js +22 -26
- package/cjs/hooks/useExericseShortcut.js +4 -8
- package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -57
- package/cjs/hooks/useRunnerRoomWebSocket.js +27 -53
- package/cjs/hooks/useStdioTextConcator.js +10 -22
- package/cjs/hooks/useStdioWebSocket.js +28 -34
- package/cjs/hooks/useUsercodeEditWebSocket.js +158 -240
- package/cjs/hooks/useUsercodeHistory.js +63 -117
- package/cjs/index.js +4 -6
- package/cjs/utils/arduino.js +11 -25
- package/cjs/utils/exerciseFile.js +10 -10
- package/cjs/utils/runner.js +15 -31
- package/es/components/material-exercise/MaterialExercise.i18n.js +2 -2
- package/es/components/material-exercise/MaterialExercise.js +34 -35
- package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
- package/es/components/material-exercise/MaterialExerciseMobile.js +6 -9
- package/es/components/material-exercise/context/ExerciseIntlProvider.js +10 -8
- package/es/components/material-exercise/context/ExerciseProvider.js +52 -55
- package/es/components/material-exercise/context/ExerciseProviderNoImage.js +10 -10
- package/es/components/material-exercise/context/context.js +1 -1
- package/es/components/material-exercise/context/recoil.js +290 -535
- package/es/components/material-exercise/context/subjects.js +3 -3
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +51 -53
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
- package/es/components/material-exercise/exercise-file/ExerciseFile.js +9 -8
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +127 -193
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -4
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +20 -31
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +35 -44
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +181 -315
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
- package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +11 -10
- package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -6
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -3
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +25 -42
- package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +26 -51
- package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +11 -23
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +21 -31
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -26
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
- package/es/components/material-exercise/exercise-preview/ExercisePreview.js +15 -14
- package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +5 -11
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +11 -15
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +5 -9
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -80
- package/es/components/material-exercise/exercise-room/ExerciseRoom.js +6 -13
- package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
- package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +134 -236
- package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +65 -94
- package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
- package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +116 -167
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +8 -7
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +17 -27
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +11 -18
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +52 -50
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +10 -14
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +46 -75
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +4 -4
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +15 -21
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +138 -253
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +29 -37
- package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +12 -13
- package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -2
- package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -12
- package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -2
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -14
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -15
- package/es/components/shared/exercise-version-list/ExerciseVersionList.js +3 -2
- package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +6 -5
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
- package/es/components/shared/file-icon/FileIcon.js +15 -17
- package/es/components/shared/file-tabs/FileTab.js +22 -24
- package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
- package/es/components/shared/file-tabs/FileTabs.js +35 -55
- package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
- package/es/components/shared/file-tabs/util.js +14 -27
- package/es/components/shared/file-tree/FileTree.js +3 -3
- package/es/components/shared/file-tree/FileTreeConfig.js +18 -15
- package/es/components/shared/file-tree/FileTreeList.js +33 -29
- package/es/components/shared/file-tree/FileTreeListItemContent.js +45 -55
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
- package/es/components/shared/file-tree/FileTreeListItemContentInput.js +60 -64
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
- package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +39 -46
- package/es/components/shared/file-tree/FileTreeListItems.js +134 -145
- package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
- package/es/components/shared/file-tree/FileTreeToolbar.js +25 -22
- package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
- package/es/components/shared/file-tree/context/FileTreeContext.js +74 -89
- package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
- package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
- package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
- package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
- package/es/components/shared/file-viewer/FileViewer.js +21 -38
- package/es/components/shared/file-viewer/FileViewerCsv.js +70 -129
- package/es/components/shared/file-viewer/FileViewerImage.js +4 -3
- package/es/components/shared/file-viewer/FileViewerIpynb.js +7 -14
- package/es/components/shared/file-viewer/FileViewerNonViewable.js +15 -18
- package/es/components/shared/file-viewer/FileViewerText.js +9 -17
- package/es/components/shared/material-modal/MaterialModal.js +8 -7
- package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
- package/es/components/shared/monaco-editor/MonacoEditor.js +67 -87
- package/es/components/shared/monaco-editor/MonacoEditorLazy.js +2 -4
- package/es/components/shared/monaco-editor/MonacoEditorMobile.js +31 -41
- package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +52 -66
- package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
- package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
- package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
- package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
- package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
- package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
- package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
- package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
- package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
- package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -68
- package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
- package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
- package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
- package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
- package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
- package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
- package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
- package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +157 -172
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
- package/es/components/shared/no-vnc/NoVnc.js +42 -59
- package/es/components/shared/no-vnc/NoVncLazy.js +2 -4
- package/es/components/shared/preview-container/PreviewContainer.js +8 -7
- package/es/components/shared/web-browser/WebBrowser.js +29 -40
- package/es/components/shared/xterm/Xterm.js +51 -69
- package/es/components/shared/xterm/XtermLazy.js +2 -4
- package/es/constants/arduino.js +10 -10
- package/es/constants/shortcutKeyMap.js +1 -3
- package/es/constants/stylesheets.js +5 -7
- package/es/hooks/useArduino.js +141 -278
- package/es/hooks/useExerciseFile.js +22 -24
- package/es/hooks/useExericseShortcut.js +4 -6
- package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
- package/es/hooks/useRunnerRoomWebSocket.js +27 -51
- package/es/hooks/useStdioTextConcator.js +10 -16
- package/es/hooks/useStdioWebSocket.js +28 -32
- package/es/hooks/useUsercodeEditWebSocket.js +157 -232
- package/es/hooks/useUsercodeHistory.js +63 -115
- package/es/utils/arduino.js +11 -23
- package/es/utils/exerciseFile.js +10 -8
- package/es/utils/runner.js +15 -29
- package/package.json +11 -7
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -521
- package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
package/cjs/components/shared/monaco-editor/constants/grammars/objective-c.tmLanguage.json.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const information_for_contributors=["This file has been converted from https://github.com/jeff-hykin/better-objc-syntax/blob/master/autogenerated/objc.tmLanguage.json","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."];const version="https://github.com/jeff-hykin/better-objc-syntax/commit/119b75fb1f4d3e8726fa62588e3b935e0b719294";const name="Objective-C";const scopeName="source.objc";const patterns=[{include:"#anonymous_pattern_1"},{include:"#anonymous_pattern_2"},{include:"#anonymous_pattern_3"},{include:"#anonymous_pattern_4"},{include:"#anonymous_pattern_5"},{include:"#apple_foundation_functional_macros"},{include:"#anonymous_pattern_7"},{include:"#anonymous_pattern_8"},{include:"#anonymous_pattern_9"},{include:"#anonymous_pattern_10"},{include:"#anonymous_pattern_11"},{include:"#anonymous_pattern_12"},{include:"#anonymous_pattern_13"},{include:"#anonymous_pattern_14"},{include:"#anonymous_pattern_15"},{include:"#anonymous_pattern_16"},{include:"#anonymous_pattern_17"},{include:"#anonymous_pattern_18"},{include:"#anonymous_pattern_19"},{include:"#anonymous_pattern_20"},{include:"#anonymous_pattern_21"},{include:"#anonymous_pattern_22"},{include:"#anonymous_pattern_23"},{include:"#anonymous_pattern_24"},{include:"#anonymous_pattern_25"},{include:"#anonymous_pattern_26"},{include:"#anonymous_pattern_27"},{include:"#anonymous_pattern_28"},{include:"#anonymous_pattern_29"},{include:"#anonymous_pattern_30"},{include:"#bracketed_content"},{include:"#c_lang"}];const repository={anonymous_pattern_1:{begin:"((@)(interface|protocol))(?!.+;)\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*((:)(?:\\s*)([A-Za-z][A-Za-z0-9]*))?(\\s|\\n)?",captures:{"1":{name:"storage.type.objc"},"2":{name:"punctuation.definition.storage.type.objc"},"4":{name:"entity.name.type.objc"},"6":{name:"punctuation.definition.entity.other.inherited-class.objc"},"7":{name:"entity.other.inherited-class.objc"},"8":{name:"meta.divider.objc"},"9":{name:"meta.inherited-class.objc"}},contentName:"meta.scope.interface.objc",end:"((@)end)\\b",name:"meta.interface-or-protocol.objc",patterns:[{include:"#interface_innards"}]},anonymous_pattern_10:{captures:{"1":{name:"punctuation.definition.keyword.objc"}},match:"(@)(defs|encode)\\b",name:"keyword.other.objc"},anonymous_pattern_11:{match:"\\bid\\b",name:"storage.type.id.objc"},anonymous_pattern_12:{match:"\\b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class|instancetype)\\b",name:"storage.type.objc"},anonymous_pattern_13:{captures:{"1":{name:"punctuation.definition.storage.type.objc"}},match:"(@)(class|protocol)\\b",name:"storage.type.objc"},anonymous_pattern_14:{begin:"((@)selector)\\s*(\\()",beginCaptures:{"1":{name:"storage.type.objc"},"2":{name:"punctuation.definition.storage.type.objc"},"3":{name:"punctuation.definition.storage.type.objc"}},contentName:"meta.selector.method-name.objc",end:"(\\))",endCaptures:{"1":{name:"punctuation.definition.storage.type.objc"}},name:"meta.selector.objc",patterns:[{captures:{"1":{name:"punctuation.separator.arguments.objc"}},match:"\\b(?:[a-zA-Z_:][\\w]*)+",name:"support.function.any-method.name-of-parameter.objc"}]},anonymous_pattern_15:{captures:{"1":{name:"punctuation.definition.storage.modifier.objc"}},match:"(@)(synchronized|public|package|private|protected)\\b",name:"storage.modifier.objc"},anonymous_pattern_16:{match:"\\b(YES|NO|Nil|nil)\\b",name:"constant.language.objc"},anonymous_pattern_17:{match:"\\bNSApp\\b",name:"support.variable.foundation.objc"},anonymous_pattern_18:{captures:{"1":{name:"punctuation.whitespace.support.function.cocoa.leopard.objc"},"2":{name:"support.function.cocoa.leopard.objc"}},match:"(\\s*)\\b(NS(Rect(ToCGRect|FromCGRect)|MakeCollectable|S(tringFromProtocol|ize(ToCGSize|FromCGSize))|Draw(NinePartImage|ThreePartImage)|P(oint(ToCGPoint|FromCGPoint)|rotocolFromString)|EventMaskFromType|Value))\\b"},anonymous_pattern_19:{captures:{"1":{name:"punctuation.whitespace.support.function.leading.cocoa.objc"},"2":{name:"support.function.cocoa.objc"}},match:"(\\s*)\\b(NS(R(ound(DownToMultipleOfPageSize|UpToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set(MapTable|HashTable)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l(MemoryAvailable|locateCollectable))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n(X|Y)|d(X|Y))|ouseInRect|a(p(Remove|Get|Member|Insert(IfAbsent|KnownAbsent)?)|ke(R(ect|ange)|Size|Point)|x(Range|X|Y)))|B(itsPer(SampleFromDepth|PixelFromDepth)|e(stDepth|ep|gin(CriticalAlertSheet|InformationalAlertSheet|AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert(IfAbsent|KnownAbsent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped(DoubleToHost|FloatToHost)|Host(DoubleToSwapped|FloatToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare(MapTables|HashTables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File(namePboardType|ContentsPboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d(MapTableEnumeration|HashTableEnumeration)|umerate(MapTable|HashTable)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee(MapTable|HashTable)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object)))))\\b"},anonymous_pattern_2:{begin:"((@)(implementation))\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*(?::\\s*([A-Za-z][A-Za-z0-9]*))?",captures:{"1":{name:"storage.type.objc"},"2":{name:"punctuation.definition.storage.type.objc"},"4":{name:"entity.name.type.objc"},"5":{name:"entity.other.inherited-class.objc"}},contentName:"meta.scope.implementation.objc",end:"((@)end)\\b",name:"meta.implementation.objc",patterns:[{include:"#implementation_innards"}]},anonymous_pattern_20:{match:"\\bNS(RuleEditor|G(arbageCollector|radient)|MapTable|HashTable|Co(ndition|llectionView(Item)?)|T(oolbarItemGroup|extInputClient|r(eeNode|ackingArea))|InvocationOperation|Operation(Queue)?|D(ictionaryController|ockTile)|P(ointer(Functions|Array)|athC(o(ntrol(Delegate)?|mponentCell)|ell(Delegate)?)|r(intPanelAccessorizing|edicateEditor(RowTemplate)?))|ViewController|FastEnumeration|Animat(ionContext|ablePropertyContainer))\\b",name:"support.class.cocoa.leopard.objc"},anonymous_pattern_21:{match:"\\bNS(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an(domSpecifier|geSpecifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech(Recognizer|Synthesizer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con(nector|trolConnector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p(oundPredicate|arisonPredicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o(seCommand|neCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n(iqueIDSpecifier|doManager|archiver))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated(ToobarItem|UserInterfaceItem)|ue(Transformer)?))|Keyed(Unarchiver|Archiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\\b",name:"support.class.cocoa.objc"},anonymous_pattern_22:{match:"\\bNS(R(oundingMode|ule(Editor(RowType|NestingMode)|rOrientation)|e(questUserAttentionType|lativePosition))|G(lyphInscription|radientDrawingOptions)|XML(NodeKind|D(ocumentContentKind|TDNodeKind)|ParserError)|M(ultibyteGlyphPacking|apTableOptions)|B(itmapFormat|oxType|ezierPathElement|ackgroundStyle|rowserDropOperation)|S(tr(ing(CompareOptions|DrawingOptions|EncodingConversionOptions)|eam(Status|Event))|p(eechBoundary|litViewDividerStyle)|e(archPathD(irectory|omainMask)|gmentS(tyle|witchTracking))|liderType|aveOptions)|H(TTPCookieAcceptPolicy|ashTableOptions)|N(otification(SuspensionBehavior|Coalescing)|umberFormatter(RoundingMode|Behavior|Style|PadPosition)|etService(sError|Options))|C(haracterCollection|o(lor(RenderingIntent|SpaceModel|PanelMode)|mp(oundPredicateType|arisonPredicateModifier))|ellStateValue|al(culationError|endarUnit))|T(ypesetterControlCharacterAction|imeZoneNameStyle|e(stComparisonOperation|xt(Block(Dimension|V(erticalAlignment|alueType)|Layer)|TableLayoutAlgorithm|FieldBezelStyle))|ableView(SelectionHighlightStyle|ColumnAutoresizingStyle)|rackingAreaOptions)|I(n(sertionPosition|te(rfaceStyle|ger))|mage(RepLoadStatus|Scaling|CacheMode|FrameStyle|LoadStatus|Alignment))|Ope(nGLPixelFormatAttribute|rationQueuePriority)|Date(Picker(Mode|Style)|Formatter(Behavior|Style))|U(RL(RequestCachePolicy|HandleStatus|C(acheStoragePolicy|redentialPersistence))|Integer)|P(o(stingStyle|int(ingDeviceType|erFunctionsOptions)|pUpArrowPosition)|athStyle|r(int(ing(Orientation|PaginationMode)|erTableStatus|PanelOptions)|opertyList(MutabilityOptions|Format)|edicateOperatorType))|ExpressionType|KeyValue(SetMutationKind|Change)|QTMovieLoopMode|F(indPanel(SubstringMatchType|Action)|o(nt(RenderingMode|FamilyClass)|cusRingPlacement))|W(hoseSubelementIdentifier|ind(ingRule|ow(B(utton|ackingLocation)|SharingType|CollectionBehavior)))|L(ine(MovementDirection|SweepDirection|CapStyle|JoinStyle)|evelIndicatorStyle)|Animation(BlockingMode|Curve))\\b",name:"support.type.cocoa.leopard.objc"},anonymous_pattern_23:{match:"\\bC(I(Sampler|Co(ntext|lor)|Image(Accumulator)?|PlugIn(Registration)?|Vector|Kernel|Filter(Generator|Shape)?)|A(Renderer|MediaTiming(Function)?|BasicAnimation|ScrollLayer|Constraint(LayoutManager)?|T(iledLayer|extLayer|rans(ition|action))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(nimation(Group)?|ction)))\\b",name:"support.class.quartz.objc"},anonymous_pattern_24:{match:"\\bC(G(Float|Point|Size|Rect)|IFormat|AConstraintAttribute)\\b",name:"support.type.quartz.objc"},anonymous_pattern_25:{match:"\\bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B(itmapImageFileType|orderType|uttonType|ezelStyle|ackingStoreType|rowserColumnResizingType)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar(SizeMode|DisplayMode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL(ContextAuxiliary|PixelFormatAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace(IconCreationOptions|LaunchOptions)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication(TerminateReply|DelegateReply|PrintReply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\\b",name:"support.type.cocoa.objc"},anonymous_pattern_26:{match:"\\bNS(NotFound|Ordered(Ascending|Descending|Same))\\b",name:"support.constant.cocoa.objc"},anonymous_pattern_27:{match:"\\bNS(MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification\\b",name:"support.constant.notification.cocoa.leopard.objc"},anonymous_pattern_28:{match:"\\bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView(DidResizeSubviews|WillResizeSubviews))|C(o(nt(extHelpModeDid(Deactivate|Activate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor(PanelColorDidChange|ListDidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar(DidRemoveItem|WillAddItem)|ext(Storage(DidProcessEditing|WillProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton(CellWillPopUp|WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F(ocusDidChange|rameDidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid(ResignActive|BecomeActive)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\\b",name:"support.constant.notification.cocoa.objc"},anonymous_pattern_29:{match:"\\bNS(RuleEditor(RowType(Simple|Compound)|NestingMode(Si(ngle|mple)|Compound|List))|GradientDraws(BeforeStartingLocation|AfterEndingLocation)|M(inusSetExpressionType|a(chPortDeallocate(ReceiveRight|SendRight|None)|pTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(oxCustom|undleExecutableArchitecture(X86|I386|PPC(64)?)|etweenPredicateOperatorType|ackgroundStyle(Raised|Dark|L(ight|owered)))|S(tring(DrawingTruncatesLastVisibleLine|EncodingConversion(ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(e(ech(SentenceBoundary|ImmediateBoundary|WordBoundary)|llingState(GrammarFlag|SpellingFlag))|litViewDividerStyleThi(n|ck))|e(rvice(RequestTimedOutError|M(iscellaneousError|alformedServiceDictionaryError)|InvalidPasteboardDataError|ErrorM(inimum|aximum)|Application(NotFoundError|LaunchFailedError))|gmentStyle(Round(Rect|ed)|SmallSquare|Capsule|Textured(Rounded|Square)|Automatic)))|H(UDWindowMask|ashTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(oModeColorPanel|etServiceNoAutoRename)|C(hangeRedone|o(ntainsPredicateOperatorType|l(orRenderingIntent(RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(None|ContentArea|TrackableArea|EditableTextArea))|T(imeZoneNameStyle(S(hort(Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(Regular|SourceList)|racking(Mouse(Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(ssumeInside|ctive(In(KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(n(tersectSetExpressionType|dexedColorSpaceModel)|mageScale(None|Proportionally(Down|UpOrDown)|AxesIndependently))|Ope(nGLPFAAllowOfflineRenderers|rationQueue(DefaultMaxConcurrentOperationCount|Priority(High|Normal|Very(High|Low)|Low)))|D(iacriticInsensitiveSearch|ownloadsDirectory)|U(nionSetExpressionType|TF(16(BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)|32(BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)))|P(ointerFunctions(Ma(chVirtualMemory|llocMemory)|Str(ongMemory|uctPersonality)|C(StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(paque(Memory|Personality)|bjectP(ointerPersonality|ersonality)))|at(hStyle(Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(Scaling|Copies|Orientation|P(a(perSize|ge(Range|SetupAccessory))|review)))|Executable(RuntimeMismatchError|NotLoadableError|ErrorM(inimum|aximum)|L(inkError|oadError)|ArchitectureMismatchError)|KeyValueObservingOption(Initial|Prior)|F(i(ndPanelSubstringMatchType(StartsWith|Contains|EndsWith|FullWord)|leRead(TooLargeError|UnknownStringEncodingError))|orcedOrderingSearch)|Wi(ndow(BackingLocation(MainMemory|Default|VideoMemory)|Sharing(Read(Only|Write)|None)|CollectionBehavior(MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType)\\b",name:"support.constant.cocoa.leopard.objc"},anonymous_pattern_3:{begin:"@\"",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:"\"",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.double.objc",patterns:[{include:"#string_escaped_char"},{match:"(?x)%\n\t\t\t\t\t\t(\\d+\\$)? # field (argument #)\n\t\t\t\t\t\t[#0\\- +']* # flags\n\t\t\t\t\t\t((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n\t\t\t\t\t\t(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n\t\t\t\t\t\t[@] # conversion type\n\t\t\t\t\t",name:"constant.other.placeholder.objc"},{include:"#string_placeholder"}]},anonymous_pattern_30:{match:"\\bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed(BezelStyle|TokenStyle|DisclosureBezelStyle)|Down|Up|Plain|Line(CapStyle|JoinStyle))|un(StoppedResponse|ContinuesResponse|AbortedResponse)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver(sCantHandleCommandScriptError|EvaluationScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A(tAPoint|gainstAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use(SingleQuotes|DoubleQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot(StartedError|FinishedError)|Mi(splaced(XMLDeclarationError|CDATAEndStringError)|xedContentDeclNot(StartedError|FinishedError))|S(t(andaloneValueError|ringNot(StartedError|ClosedError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot(StartedError|FinishedError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In(DTDError|PrologError|EpilogError)|AtEOFError)|o(nditionalSectionNot(StartedError|FinishedError)|mment(NotFinishedError|ContainsDoubleHyphenError))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter(RefError|InEntityError|Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding(NameError|Error)))|OutOfMemoryError|D(ocumentStartError|elegateAbortedParseError|OCTYPEDeclNotFinishedError)|U(RI(RequiredError|FragmentError)|n(declaredEntityError|parsedEntityError|knownEncodingError|finishedTagError))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal(SubsetError|Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot(StartedError|FinishedError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In(DTDError|PrologError|EpilogError)|erence(MissingSemiError|WithoutNameError)|LoopError|AtEOFError)|BoundaryError|Not(StartedError|FinishedError)|Is(ParameterError|ExternalError)|ValueRequiredError))|qualExpectedError|lementContentDeclNot(StartedError|FinishedError)|xt(ernalS(tandaloneEntityError|ubsetNotFinishedError)|raContentError)|mptyDocumentError)|L(iteralNot(StartedError|FinishedError)|T(RequiredError|SlashRequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not(StartedError|FinishedError)|ListNot(StartedError|FinishedError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar(sedKind|ameterKind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E(lementKind|mptyKind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(sKind|Kind)|otationKind)|CDATAKind|ID(Ref(sKind|Kind)|Kind)|DeclarationKind|En(tit(yKind|iesKind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push(Button|InButton)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x(XEdge|YEdge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore(Retained|Buffered|Nonretained)|TabCharacter|wardsSearch|groundTab)|r(owser(NoColumnResizing|UserColumnResizing|AutoColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow(ControlGlyphs|InvisibleGlyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M(inEnd|axEnd)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has(BytesAvailable|SpaceAvailable)|None|OpenCompleted|E(ndEncountered|rrorOccurred)))))|i(ngle(DateMode|UnderlineStyle)|ze(DownFontAction|UpFontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity(Downstream|Upstream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute(SecondDatePickerElementFlag|DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa(yDatePickerElementFlag|tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs(BezelBorder|NoBorder|LineBorder))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S(cientificStyle|pellOutStyle)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before(Suffix|Prefix)|After(Suffix|Prefix))))))|e(t(Services(BadArgumentError|NotFoundError|C(ollisionError|ancelledError)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C(MYKModeMask|olorListModeMask|ustomPaletteModeMask|rayonModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick(SquareBezelStyle|erSquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX(3|4)|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM(inimum|aximum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table(FixedLayoutAlgorithm|AutomaticLayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid(HorizontalGridLineMask|VerticalGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert(CharFunctionKey|FunctionKey|LineFunctionKey)|t(Type|ernalS(criptError|pecifierError))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin(1StringEncoding|2StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS(criptError|pecifierError))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr(ingType|uctType)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long(Type|longType)|ArrayType))|D(i(s(c(losureBezelStyle|reteCapacityLevelIndicatorStyle)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument(Directory|ationDirectory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper(Directory|ApplicationDirectory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos(ingState|edState)|Open(ingState|State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS(criptError|pecifierError))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG(2000FileType|FileType)|apaneseEUC(GlyphPacking|StringEncoding))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve(IntType|DoubleType|FloatType)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge(DownFunctionKey|UpFunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred(SmallThickness|Thickness|LargeThickness|AquaThickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in(XMargin|YMargin)|ax(XMargin|YMargin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM(inimum|aximum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping(BackAndForthPlayback|Playback))|F(1(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No(SuchFileError|PermissionError)|CorruptFileError|In(validFileNameError|applicableStringEncodingError)|Un(supportedSchemeError|knownError))|HandlingPanel(CancelButton|OKButton)|NoSuchFileError|ErrorM(inimum|aximum)|Write(NoPermissionError|In(validFileNameError|applicableStringEncodingError)|OutOfSpaceError|Un(supportedSchemeError|knownError))|LockingError)|xedPitchFontMask)|2(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S(ymbolicClass|criptsClass|labSerifsClass|ansSerifClass)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O(ldStyleSerifsClass|rnamentalsClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t(andardModesMask|rikethroughEffectModeMask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All(ModesMask|EffectsModeMask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased(RenderingMode|IntegerAdvancementsRenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M(inimum|aximum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3(1FunctionKey|2FunctionKey|3FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125(1StringEncoding|2StringEncoding|3StringEncoding|4StringEncoding|0StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day(CalendarUnit|OrdinalCalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C(harWrapping|lipping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan(1CharacterCollection|2CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto(saveOperation|Pagination)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert(SecondButtonReturn|ThirdButtonReturn|OtherReturn|DefaultReturn|ErrorReturn|FirstButtonReturn|AlternateReturn)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument(sWrongScriptError|EvaluationScriptError)|bove(Bottom|Top)|WTEventType))\\b",name:"support.constant.cocoa.objc"},anonymous_pattern_4:{begin:"\\b(id)\\s*(?=<)",beginCaptures:{"1":{name:"storage.type.objc"}},end:"(?<=>)",name:"meta.id-with-protocol.objc",patterns:[{include:"#protocol_list"}]},anonymous_pattern_5:{match:"\\b(NS_DURING|NS_HANDLER|NS_ENDHANDLER)\\b",name:"keyword.control.macro.objc"},anonymous_pattern_7:{captures:{"1":{name:"punctuation.definition.keyword.objc"}},match:"(@)(try|catch|finally|throw)\\b",name:"keyword.control.exception.objc"},anonymous_pattern_8:{captures:{"1":{name:"punctuation.definition.keyword.objc"}},match:"(@)(synchronized)\\b",name:"keyword.control.synchronize.objc"},anonymous_pattern_9:{captures:{"1":{name:"punctuation.definition.keyword.objc"}},match:"(@)(required|optional)\\b",name:"keyword.control.protocol-specification.objc"},apple_foundation_functional_macros:{begin:"(\\b(?:API_AVAILABLE|API_DEPRECATED|API_UNAVAILABLE|NS_AVAILABLE|NS_AVAILABLE_MAC|NS_AVAILABLE_IOS|NS_DEPRECATED|NS_DEPRECATED_MAC|NS_DEPRECATED_IOS|NS_SWIFT_NAME))(?:(?:\\s)+)?(\\()",end:"\\)",beginCaptures:{"1":{name:"entity.name.function.preprocessor.apple-foundation.objc"},"2":{name:"punctuation.section.macro.arguments.begin.bracket.round.apple-foundation.objc"}},endCaptures:{"0":{name:"punctuation.section.macro.arguments.end.bracket.round.apple-foundation.objc"}},name:"meta.preprocessor.macro.callable.apple-foundation.objc",patterns:[{include:"#c_lang"}]},bracketed_content:{begin:"\\[",beginCaptures:{"0":{name:"punctuation.section.scope.begin.objc"}},end:"\\]",endCaptures:{"0":{name:"punctuation.section.scope.end.objc"}},name:"meta.bracketed.objc",patterns:[{begin:"(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)",beginCaptures:{"1":{name:"support.function.any-method.objc"},"2":{name:"punctuation.separator.arguments.objc"}},end:"(?=\\])",name:"meta.function-call.predicate.objc",patterns:[{captures:{"1":{name:"punctuation.separator.arguments.objc"}},match:"\\bargument(Array|s)(:)",name:"support.function.any-method.name-of-parameter.objc"},{captures:{"1":{name:"punctuation.separator.arguments.objc"}},match:"\\b\\w+(:)",name:"invalid.illegal.unknown-method.objc"},{begin:"@\"",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:"\"",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.double.objc",patterns:[{match:"\\b(AND|OR|NOT|IN)\\b",name:"keyword.operator.logical.predicate.cocoa.objc"},{match:"\\b(ALL|ANY|SOME|NONE)\\b",name:"constant.language.predicate.cocoa.objc"},{match:"\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\b",name:"constant.language.predicate.cocoa.objc"},{match:"\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\b",name:"keyword.operator.comparison.predicate.cocoa.objc"},{match:"\\bC(ASEINSENSITIVE|I)\\b",name:"keyword.other.modifier.predicate.cocoa.objc"},{match:"\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\b",name:"keyword.other.predicate.cocoa.objc"},{match:"\\\\(\\\\|[abefnrtv'\"?]|[0-3]\\d{,2}|[4-7]\\d?|x[a-zA-Z0-9]+)",name:"constant.character.escape.objc"},{match:"\\\\.",name:"invalid.illegal.unknown-escape.objc"}]},{include:"#special_variables"},{include:"#c_functions"},{include:"$base"}]},{begin:"(?=\\w)(?<=[\\w\\])\"] )(\\w+(?:(:)|(?=\\])))",beginCaptures:{"1":{name:"support.function.any-method.objc"},"2":{name:"punctuation.separator.arguments.objc"}},end:"(?=\\])",name:"meta.function-call.objc",patterns:[{captures:{"1":{name:"punctuation.separator.arguments.objc"}},match:"\\b\\w+(:)",name:"support.function.any-method.name-of-parameter.objc"},{include:"#special_variables"},{include:"#c_functions"},{include:"$base"}]},{include:"#special_variables"},{include:"#c_functions"},{include:"$self"}]},c_functions:{patterns:[{captures:{"1":{name:"punctuation.whitespace.support.function.leading.objc"},"2":{name:"support.function.C99.objc"}},match:"(\\s*)\\b(hypot(f|l)?|s(scanf|ystem|nprintf|ca(nf|lb(n(f|l)?|ln(f|l)?))|i(n(h(f|l)?|f|l)?|gn(al|bit))|tr(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|k|f|l(d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(jmp|vbuf|locale|buf)|qrt(f|l)?|w(scanf|printf)|rand)|n(e(arbyint(f|l)?|xt(toward(f|l)?|after(f|l)?))|an(f|l)?)|c(s(in(h(f|l)?|f|l)?|qrt(f|l)?)|cos(h(f)?|f|l)?|imag(f|l)?|t(ime|an(h(f|l)?|f|l)?)|o(s(h(f|l)?|f|l)?|nj(f|l)?|pysign(f|l)?)|p(ow(f|l)?|roj(f|l)?)|e(il(f|l)?|xp(f|l)?)|l(o(ck|g(f|l)?)|earerr)|a(sin(h(f|l)?|f|l)?|cos(h(f|l)?|f|l)?|tan(h(f|l)?|f|l)?|lloc|rg(f|l)?|bs(f|l)?)|real(f|l)?|brt(f|l)?)|t(ime|o(upper|lower)|an(h(f|l)?|f|l)?|runc(f|l)?|gamma(f|l)?|mp(nam|file))|i(s(space|n(ormal|an)|cntrl|inf|digit|u(nordered|pper)|p(unct|rint)|finite|w(space|c(ntrl|type)|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit|blank)|l(ower|ess(equal|greater)?)|al(num|pha)|gr(eater(equal)?|aph)|xdigit|blank)|logb(f|l)?|max(div|abs))|di(v|fftime)|_Exit|unget(c|wc)|p(ow(f|l)?|ut(s|c(har)?|wc(har)?)|error|rintf)|e(rf(c(f|l)?|f|l)?|x(it|p(2(f|l)?|f|l|m1(f|l)?)?))|v(s(scanf|nprintf|canf|printf|w(scanf|printf))|printf|f(scanf|printf|w(scanf|printf))|w(scanf|printf)|a_(start|copy|end|arg))|qsort|f(s(canf|e(tpos|ek))|close|tell|open|dim(f|l)?|p(classify|ut(s|c|w(s|c))|rintf)|e(holdexcept|set(e(nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(aiseexcept|ror)|get(e(nv|xceptflag)|round))|flush|w(scanf|ide|printf|rite)|loor(f|l)?|abs(f|l)?|get(s|c|pos|w(s|c))|re(open|e|ad|xp(f|l)?)|m(in(f|l)?|od(f|l)?|a(f|l|x(f|l)?)?))|l(d(iv|exp(f|l)?)|o(ngjmp|cal(time|econv)|g(1(p(f|l)?|0(f|l)?)|2(f|l)?|f|l|b(f|l)?)?)|abs|l(div|abs|r(int(f|l)?|ound(f|l)?))|r(int(f|l)?|ound(f|l)?)|gamma(f|l)?)|w(scanf|c(s(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|k|f|l(d|l)?|mbs)|pbrk|ftime|len|r(chr|tombs)|xfrm)|to(b|mb)|rtomb)|printf|mem(set|c(hr|py|mp)|move))|a(s(sert|ctime|in(h(f|l)?|f|l)?)|cos(h(f|l)?|f|l)?|t(o(i|f|l(l)?)|exit|an(h(f|l)?|2(f|l)?|f|l)?)|b(s|ort))|g(et(s|c(har)?|env|wc(har)?)|mtime)|r(int(f|l)?|ound(f|l)?|e(name|alloc|wind|m(ove|quo(f|l)?|ainder(f|l)?))|a(nd|ise))|b(search|towc)|m(odf(f|l)?|em(set|c(hr|py|mp)|move)|ktime|alloc|b(s(init|towcs|rtowcs)|towc|len|r(towc|len))))\\b"},{captures:{"1":{name:"punctuation.whitespace.function-call.leading.objc"},"2":{name:"support.function.any-method.objc"},"3":{name:"punctuation.definition.parameters.objc"}},match:"(?x) (?: (?= \\s ) (?:(?<=else|new|return) | (?<!\\w)) (\\s+))?\n \t\t\t(\\b \n \t\t\t\t(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name\n \t\t\t)\n \t\t\t \\s*(\\()",name:"meta.function-call.objc"}]},c_lang:{patterns:[{include:"#preprocessor-rule-enabled"},{include:"#preprocessor-rule-disabled"},{include:"#preprocessor-rule-conditional"},{include:"#comments"},{include:"#switch_statement"},{match:"\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\b",name:"keyword.control.objc"},{include:"#storage_types"},{match:"typedef",name:"keyword.other.typedef.objc"},{match:"\\bin\\b",name:"keyword.other.in.objc"},{match:"\\b(const|extern|register|restrict|static|volatile|inline|__block)\\b",name:"storage.modifier.objc"},{match:"\\bk[A-Z]\\w*\\b",name:"constant.other.variable.mac-classic.objc"},{match:"\\bg[A-Z]\\w*\\b",name:"variable.other.readwrite.global.mac-classic.objc"},{match:"\\bs[A-Z]\\w*\\b",name:"variable.other.readwrite.static.mac-classic.objc"},{match:"\\b(NULL|true|false|TRUE|FALSE)\\b",name:"constant.language.objc"},{include:"#operators"},{include:"#numbers"},{include:"#strings"},{include:"#special_variables"},{begin:"(?x)\n^\\s* ((\\#)\\s*define) \\s+\t# define\n((?<id>[a-zA-Z_$][\\w$]*))\t # macro name\n(?:\n (\\()\n\t(\n\t \\s* \\g<id> \\s*\t\t # first argument\n\t ((,) \\s* \\g<id> \\s*)* # additional arguments\n\t (?:\\.\\.\\.)?\t\t\t# varargs ellipsis?\n\t)\n (\\))\n)?",beginCaptures:{"1":{name:"keyword.control.directive.define.objc"},"2":{name:"punctuation.definition.directive.objc"},"3":{name:"entity.name.function.preprocessor.objc"},"5":{name:"punctuation.definition.parameters.begin.objc"},"6":{name:"variable.parameter.preprocessor.objc"},"8":{name:"punctuation.separator.parameters.objc"},"9":{name:"punctuation.definition.parameters.end.objc"}},end:"(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.macro.objc",patterns:[{include:"#preprocessor-rule-define-line-contents"}]},{begin:"^\\s*((#)\\s*(error|warning))\\b\\s*",beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$3.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?<!\\\\)(?=\\n)",name:"meta.preprocessor.diagnostic.objc",patterns:[{begin:"\"",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:"\"|(?<!\\\\)(?=\\s*\\n)",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.double.objc",patterns:[{include:"#line_continuation_character"}]},{begin:"'",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:"'|(?<!\\\\)(?=\\s*\\n)",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.single.objc",patterns:[{include:"#line_continuation_character"}]},{begin:"[^'\"]",end:"(?<!\\\\)(?=\\s*\\n)",name:"string.unquoted.single.objc",patterns:[{include:"#line_continuation_character"},{include:"#comments"}]}]},{begin:"^\\s*((#)\\s*(include(?:_next)?|import))\\b\\s*",beginCaptures:{"1":{name:"keyword.control.directive.$3.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.include.objc",patterns:[{include:"#line_continuation_character"},{begin:"\"",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:"\"",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.double.include.objc"},{begin:"<",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:">",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.other.lt-gt.include.objc"}]},{include:"#pragma-mark"},{begin:"^\\s*((#)\\s*line)\\b",beginCaptures:{"1":{name:"keyword.control.directive.line.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#strings"},{include:"#numbers"},{include:"#line_continuation_character"}]},{begin:"^\\s*(?:((#)\\s*undef))\\b",beginCaptures:{"1":{name:"keyword.control.directive.undef.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{match:"[a-zA-Z_$][\\w$]*",name:"entity.name.function.preprocessor.objc"},{include:"#line_continuation_character"}]},{begin:"^\\s*(?:((#)\\s*pragma))\\b",beginCaptures:{"1":{name:"keyword.control.directive.pragma.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.pragma.objc",patterns:[{include:"#strings"},{match:"[a-zA-Z_$][\\w\\-$]*",name:"entity.other.attribute-name.pragma.preprocessor.objc"},{include:"#numbers"},{include:"#line_continuation_character"}]},{match:"\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\b",name:"support.type.sys-types.objc"},{match:"\\b(pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t)\\b",name:"support.type.pthread.objc"},{match:"(?x) \\b\n(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t\n|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t\n|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t\n|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t\n|uintmax_t|uintmax_t)\n\\b",name:"support.type.stdint.objc"},{match:"\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\b",name:"support.constant.mac-classic.objc"},{match:"(?x) \\b\n(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam\n|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr\n|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber\n|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64\n|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32\n|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr\n|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\n\\b",name:"support.type.mac-classic.objc"},{match:"\\b([A-Za-z0-9_]+_t)\\b",name:"support.type.posix-reserved.objc"},{include:"#block"},{include:"#parens"},{name:"meta.function.objc",begin:"(?<!\\w)(?!\\s*(?:not|compl|sizeof|not_eq|bitand|xor|bitor|and|or|and_eq|xor_eq|or_eq|alignof|alignas|_Alignof|_Alignas|while|for|do|if|else|goto|switch|return|break|case|continue|default|void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t|NULL|true|false|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t|struct|union|enum|typedef|auto|register|static|extern|thread_local|inline|_Noreturn|const|volatile|restrict|_Atomic)\\s*\\()(?=[a-zA-Z_]\\w*\\s*\\()",end:"(?<=\\))",patterns:[{include:"#function-innards"}]},{include:"#line_continuation_character"},{name:"meta.bracket.square.access.objc",begin:"([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",beginCaptures:{"1":{name:"variable.object.objc"},"2":{name:"punctuation.definition.begin.bracket.square.objc"}},end:"\\]",endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.objc"}},patterns:[{include:"#function-call-innards"}]},{name:"storage.modifier.array.bracket.square.objc",match:"\\[\\s*\\]"},{match:";",name:"punctuation.terminator.statement.objc"},{match:",",name:"punctuation.separator.delimiter.objc"}],repository:{probably_a_parameter:{match:"(?<=(?:[a-zA-Z_0-9] |[&*>\\]\\)]))\\s*([a-zA-Z_]\\w*)\\s*(?=(?:\\[\\]\\s*)?(?:,|\\)))",captures:{"1":{name:"variable.parameter.probably.objc"}}},"access-method":{name:"meta.function-call.member.objc",begin:"([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))\\s*(?:(\\.)|(->))((?:(?:[a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(?:\\.)|(?:->)))*)\\s*([a-zA-Z_][a-zA-Z_0-9]*)(\\()",beginCaptures:{"1":{name:"variable.object.objc"},"2":{name:"punctuation.separator.dot-access.objc"},"3":{name:"punctuation.separator.pointer-access.objc"},"4":{patterns:[{match:"\\.",name:"punctuation.separator.dot-access.objc"},{match:"->",name:"punctuation.separator.pointer-access.objc"},{match:"[a-zA-Z_][a-zA-Z_0-9]*",name:"variable.object.objc"},{name:"everything.else.objc",match:".+"}]},"5":{name:"entity.name.function.member.objc"},"6":{name:"punctuation.section.arguments.begin.bracket.round.function.member.objc"}},end:"\\)",endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.member.objc"}},patterns:[{include:"#function-call-innards"}]},block:{patterns:[{begin:"{",beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.objc"}},end:"}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.objc"}},name:"meta.block.objc",patterns:[{include:"#block_innards"}]}]},block_innards:{patterns:[{include:"#preprocessor-rule-enabled-block"},{include:"#preprocessor-rule-disabled-block"},{include:"#preprocessor-rule-conditional-block"},{include:"#method_access"},{include:"#member_access"},{include:"#c_function_call"},{name:"meta.initialization.objc",begin:"(?x)\n(?:\n (?:\n\t(?=\\s)(?<!else|new|return)\n\t(?<=\\w) \\s+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas) # or word + space before name\n )\n)\n(\n (?:[A-Za-z_][A-Za-z0-9_]*+ | :: )++ # actual name\n |\n (?:(?<=operator) (?:[-*&<>=+!]+ | \\(\\) | \\[\\]))\n)\n\\s*(\\() # opening bracket",beginCaptures:{"1":{name:"variable.other.objc"},"2":{name:"punctuation.section.parens.begin.bracket.round.initialization.objc"}},end:"\\)",endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.initialization.objc"}},patterns:[{include:"#function-call-innards"}]},{begin:"{",beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.objc"}},end:"}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.objc"}},patterns:[{include:"#block_innards"}]},{include:"#parens-block"},{include:"$base"}]},c_function_call:{begin:"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(?=\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\( # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)",end:"(?<=\\))(?!\\w)",name:"meta.function-call.objc",patterns:[{include:"#function-call-innards"}]},comments:{patterns:[{captures:{"1":{name:"meta.toc-list.banner.block.objc"}},match:"^/\\* =(\\s*.*?)\\s*= \\*/$\\n?",name:"comment.block.objc"},{begin:"/\\*",beginCaptures:{"0":{name:"punctuation.definition.comment.begin.objc"}},end:"\\*/",endCaptures:{"0":{name:"punctuation.definition.comment.end.objc"}},name:"comment.block.objc"},{captures:{"1":{name:"meta.toc-list.banner.line.objc"}},match:"^// =(\\s*.*?)\\s*=\\s*$\\n?",name:"comment.line.banner.objc"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.objc"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{"0":{name:"punctuation.definition.comment.objc"}},end:"(?=\\n)",name:"comment.line.double-slash.objc",patterns:[{include:"#line_continuation_character"}]}]}]},disabled:{begin:"^\\s*#\\s*if(n?def)?\\b.*$",end:"^\\s*#\\s*endif\\b",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},line_continuation_character:{patterns:[{match:"(\\\\)\\n",captures:{"1":{name:"constant.character.escape.line-continuation.objc"}}}]},parens:{name:"meta.parens.objc",begin:"\\(",beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.objc"}},end:"\\)",endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.objc"}},patterns:[{include:"$base"}]},"parens-block":{name:"meta.parens.block.objc",begin:"\\(",beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.objc"}},end:"\\)",endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.objc"}},patterns:[{include:"#block_innards"},{match:"(?-mix:(?<!:):(?!:))",name:"punctuation.range-based.objc"}]},"pragma-mark":{captures:{"1":{name:"meta.preprocessor.pragma.objc"},"2":{name:"keyword.control.directive.pragma.pragma-mark.objc"},"3":{name:"punctuation.definition.directive.objc"},"4":{name:"entity.name.tag.pragma-mark.objc"}},match:"^\\s*(((#)\\s*pragma\\s+mark)\\s+(.*))",name:"meta.section.objc"},operators:{patterns:[{match:"(?<![\\w$])(sizeof)(?![\\w$])",name:"keyword.operator.sizeof.objc"},{match:"--",name:"keyword.operator.decrement.objc"},{match:"\\+\\+",name:"keyword.operator.increment.objc"},{match:"%=|\\+=|-=|\\*=|(?<!\\()/=",name:"keyword.operator.assignment.compound.objc"},{match:"&=|\\^=|<<=|>>=|\\|=",name:"keyword.operator.assignment.compound.bitwise.objc"},{match:"<<|>>",name:"keyword.operator.bitwise.shift.objc"},{match:"!=|<=|>=|==|<|>",name:"keyword.operator.comparison.objc"},{match:"&&|!|\\|\\|",name:"keyword.operator.logical.objc"},{match:"&|\\||\\^|~",name:"keyword.operator.objc"},{match:"=",name:"keyword.operator.assignment.objc"},{match:"%|\\*|/|-|\\+",name:"keyword.operator.objc"},{begin:"(\\?)",beginCaptures:{"1":{name:"keyword.operator.ternary.objc"}},end:"(:)",endCaptures:{"1":{name:"keyword.operator.ternary.objc"}},patterns:[{include:"#function-call-innards"},{include:"$base"}]}]},strings:{patterns:[{begin:"\"",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:"\"",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.double.objc",patterns:[{include:"#string_escaped_char"},{include:"#string_placeholder"},{include:"#line_continuation_character"}]},{begin:"'",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:"'",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.single.objc",patterns:[{include:"#string_escaped_char"},{include:"#line_continuation_character"}]}]},string_escaped_char:{patterns:[{match:"(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3]\\d{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",name:"constant.character.escape.objc"},{match:"\\\\.",name:"invalid.illegal.unknown-escape.objc"}]},string_placeholder:{patterns:[{match:"(?x) %\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",name:"constant.other.placeholder.objc"},{match:"(%)(?!\"\\s*(PRI|SCN))",captures:{"1":{name:"invalid.illegal.placeholder.objc"}}}]},storage_types:{patterns:[{match:"(?-mix:(?<!\\w)(?:void|char|short|int|signed|unsigned|long|float|double|bool|_Bool)(?!\\w))",name:"storage.type.built-in.primitive.objc"},{match:"(?-mix:(?<!\\w)(?:_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t)(?!\\w))",name:"storage.type.built-in.objc"},{match:"(?-mix:\\b(asm|__asm__|enum|struct|union)\\b)",name:"storage.type.$1.objc"}]},vararg_ellipses:{match:"(?<!\\.)\\.\\.\\.(?!\\.)",name:"punctuation.vararg-ellipses.objc"},"preprocessor-rule-conditional":{patterns:[{begin:"^\\s*((#)\\s*if(?:n?def)?\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"^\\s*((#)\\s*endif\\b)",endCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#preprocessor-rule-enabled-elif"},{include:"#preprocessor-rule-enabled-else"},{include:"#preprocessor-rule-disabled-elif"},{begin:"^\\s*((#)\\s*elif\\b)",beginCaptures:{"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"$base"}]},{match:"^\\s*#\\s*(else|elif|endif)\\b",captures:{"0":{name:"invalid.illegal.stray-$1.objc"}}}]},"preprocessor-rule-conditional-block":{patterns:[{begin:"^\\s*((#)\\s*if(?:n?def)?\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"^\\s*((#)\\s*endif\\b)",endCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#preprocessor-rule-enabled-elif-block"},{include:"#preprocessor-rule-enabled-else-block"},{include:"#preprocessor-rule-disabled-elif"},{begin:"^\\s*((#)\\s*elif\\b)",beginCaptures:{"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#block_innards"}]},{match:"^\\s*#\\s*(else|elif|endif)\\b",captures:{"0":{name:"invalid.illegal.stray-$1.objc"}}}]},"preprocessor-rule-conditional-line":{patterns:[{match:"(?:\\bdefined\\b\\s*$)|(?:\\bdefined\\b(?=\\s*\\(*\\s*(?:(?!defined\\b)[a-zA-Z_$][\\w$]*\\b)\\s*\\)*\\s*(?:\\n|//|/\\*|\\?|\\:|&&|\\|\\||\\\\\\s*\\n)))",name:"keyword.control.directive.conditional.objc"},{match:"\\bdefined\\b",name:"invalid.illegal.macro-name.objc"},{include:"#comments"},{include:"#strings"},{include:"#numbers"},{begin:"\\?",beginCaptures:{"0":{name:"keyword.operator.ternary.objc"}},end:":",endCaptures:{"0":{name:"keyword.operator.ternary.objc"}},patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#operators"},{match:"\\b(NULL|true|false|TRUE|FALSE)\\b",name:"constant.language.objc"},{match:"[a-zA-Z_$][\\w$]*",name:"entity.name.function.preprocessor.objc"},{include:"#line_continuation_character"},{begin:"\\(",beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.objc"}},end:"\\)|(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.objc"}},patterns:[{include:"#preprocessor-rule-conditional-line"}]}]},"preprocessor-rule-disabled":{patterns:[{begin:"^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"^\\s*((#)\\s*endif\\b)",endCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{include:"#preprocessor-rule-enabled-elif"},{include:"#preprocessor-rule-enabled-else"},{include:"#preprocessor-rule-disabled-elif"},{begin:"^\\s*((#)\\s*elif\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"$base"}]},{contentName:"comment.block.preprocessor.if-branch.objc",begin:"\\n",end:"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-block":{patterns:[{begin:"^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"^\\s*((#)\\s*endif\\b)",endCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{include:"#preprocessor-rule-enabled-elif-block"},{include:"#preprocessor-rule-enabled-else-block"},{include:"#preprocessor-rule-disabled-elif"},{begin:"^\\s*((#)\\s*elif\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#block_innards"}]},{contentName:"comment.block.preprocessor.if-branch.in-block.objc",begin:"\\n",end:"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-elif":{begin:"^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{contentName:"comment.block.preprocessor.elif-branch.objc",begin:"\\n",end:"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]},"preprocessor-rule-enabled":{patterns:[{begin:"^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"},"3":{name:"constant.numeric.preprocessor.objc"}},end:"^\\s*((#)\\s*endif\\b)",endCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{contentName:"comment.block.preprocessor.else-branch.objc",begin:"^\\s*((#)\\s*else\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*endif\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{contentName:"comment.block.preprocessor.if-branch.objc",begin:"^\\s*((#)\\s*elif\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:"\\n",end:"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",patterns:[{include:"$base"}]}]}]},"preprocessor-rule-enabled-block":{patterns:[{begin:"^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"^\\s*((#)\\s*endif\\b)",endCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{contentName:"comment.block.preprocessor.else-branch.in-block.objc",begin:"^\\s*((#)\\s*else\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*endif\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{contentName:"comment.block.preprocessor.if-branch.in-block.objc",begin:"^\\s*((#)\\s*elif\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:"\\n",end:"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",patterns:[{include:"#block_innards"}]}]}]},"preprocessor-rule-enabled-elif":{begin:"^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*endif\\b))",patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:"\\n",end:"(?=^\\s*((#)\\s*(?:endif)\\b))",patterns:[{contentName:"comment.block.preprocessor.elif-branch.objc",begin:"^\\s*((#)\\s*(else)\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*endif\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{contentName:"comment.block.preprocessor.elif-branch.objc",begin:"^\\s*((#)\\s*(elif)\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{include:"$base"}]}]},"preprocessor-rule-enabled-elif-block":{begin:"^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*endif\\b))",patterns:[{begin:"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",end:"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",name:"meta.preprocessor.objc",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:"\\n",end:"(?=^\\s*((#)\\s*(?:endif)\\b))",patterns:[{contentName:"comment.block.preprocessor.elif-branch.in-block.objc",begin:"^\\s*((#)\\s*(else)\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*endif\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{contentName:"comment.block.preprocessor.elif-branch.objc",begin:"^\\s*((#)\\s*(elif)\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{include:"#block_innards"}]}]},"preprocessor-rule-enabled-else":{begin:"^\\s*((#)\\s*else\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*endif\\b))",patterns:[{include:"$base"}]},"preprocessor-rule-enabled-else-block":{begin:"^\\s*((#)\\s*else\\b)",beginCaptures:{"0":{name:"meta.preprocessor.objc"},"1":{name:"keyword.control.directive.conditional.objc"},"2":{name:"punctuation.definition.directive.objc"}},end:"(?=^\\s*((#)\\s*endif\\b))",patterns:[{include:"#block_innards"}]},"preprocessor-rule-define-line-contents":{patterns:[{include:"#vararg_ellipses"},{begin:"{",beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.objc"}},end:"}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?<!\\\\)(?=\\s*\\n)",endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.objc"}},name:"meta.block.objc",patterns:[{include:"#preprocessor-rule-define-line-blocks"}]},{match:"\\(",name:"punctuation.section.parens.begin.bracket.round.objc"},{match:"\\)",name:"punctuation.section.parens.end.bracket.round.objc"},{begin:"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\s*\\()\n(?=\n (?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\( # actual name\n |\n (?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)",end:"(?<=\\))(?!\\w)|(?<!\\\\)(?=\\s*\\n)",name:"meta.function.objc",patterns:[{include:"#preprocessor-rule-define-line-functions"}]},{begin:"\"",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:"\"|(?<!\\\\)(?=\\s*\\n)",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.double.objc",patterns:[{include:"#string_escaped_char"},{include:"#string_placeholder"},{include:"#line_continuation_character"}]},{begin:"'",beginCaptures:{"0":{name:"punctuation.definition.string.begin.objc"}},end:"'|(?<!\\\\)(?=\\s*\\n)",endCaptures:{"0":{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.single.objc",patterns:[{include:"#string_escaped_char"},{include:"#line_continuation_character"}]},{include:"#method_access"},{include:"#member_access"},{include:"$base"}]},"preprocessor-rule-define-line-blocks":{patterns:[{begin:"{",beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.objc"}},end:"}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?<!\\\\)(?=\\s*\\n)",endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.objc"}},patterns:[{include:"#preprocessor-rule-define-line-blocks"},{include:"#preprocessor-rule-define-line-contents"}]},{include:"#preprocessor-rule-define-line-contents"}]},"preprocessor-rule-define-line-functions":{patterns:[{include:"#comments"},{include:"#storage_types"},{include:"#vararg_ellipses"},{include:"#method_access"},{include:"#member_access"},{include:"#operators"},{begin:"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",beginCaptures:{"1":{name:"entity.name.function.objc"},"2":{name:"punctuation.section.arguments.begin.bracket.round.objc"}},end:"(\\))|(?<!\\\\)(?=\\s*\\n)",endCaptures:{"1":{name:"punctuation.section.arguments.end.bracket.round.objc"}},patterns:[{include:"#preprocessor-rule-define-line-functions"}]},{begin:"\\(",beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.objc"}},end:"(\\))|(?<!\\\\)(?=\\s*\\n)",endCaptures:{"1":{name:"punctuation.section.parens.end.bracket.round.objc"}},patterns:[{include:"#preprocessor-rule-define-line-functions"}]},{include:"#preprocessor-rule-define-line-contents"}]},"function-innards":{patterns:[{include:"#comments"},{include:"#storage_types"},{include:"#operators"},{include:"#vararg_ellipses"},{name:"meta.function.definition.parameters.objc",begin:"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",beginCaptures:{"1":{name:"entity.name.function.objc"},"2":{name:"punctuation.section.parameters.begin.bracket.round.objc"}},end:"\\)",endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.objc"}},patterns:[{include:"#probably_a_parameter"},{include:"#function-innards"}]},{begin:"\\(",beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.objc"}},end:"\\)",endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.objc"}},patterns:[{include:"#function-innards"}]},{include:"$base"}]},"function-call-innards":{patterns:[{include:"#comments"},{include:"#storage_types"},{include:"#method_access"},{include:"#member_access"},{include:"#operators"},{begin:"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",beginCaptures:{"1":{name:"entity.name.function.objc"},"2":{name:"punctuation.section.arguments.begin.bracket.round.objc"}},end:"\\)",endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.objc"}},patterns:[{include:"#function-call-innards"}]},{begin:"\\(",beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.objc"}},end:"\\)",endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.objc"}},patterns:[{include:"#function-call-innards"}]},{include:"#block_innards"}]},default_statement:{name:"meta.conditional.case.objc",begin:"((?<!\\w)default(?!\\w))",beginCaptures:{"1":{name:"keyword.control.default.objc"}},end:"(:)",endCaptures:{"1":{name:"punctuation.separator.case.default.objc"}},patterns:[{include:"#conditional_context"}]},case_statement:{name:"meta.conditional.case.objc",begin:"((?<!\\w)case(?!\\w))",beginCaptures:{"1":{name:"keyword.control.case.objc"}},end:"(:)",endCaptures:{"1":{name:"punctuation.separator.case.objc"}},patterns:[{include:"#conditional_context"}]},switch_statement:{name:"meta.block.switch.objc",begin:"(((?<!\\w)switch(?!\\w)))",beginCaptures:{"1":{name:"meta.head.switch.objc"},"2":{name:"keyword.control.switch.objc"}},end:"(?:(?<=\\})|(?=[;>\\[\\]=]))",patterns:[{name:"meta.head.switch.objc",begin:"\\G ?",end:"((?:\\{|(?=;)))",endCaptures:{"1":{name:"punctuation.section.block.begin.bracket.curly.switch.objc"}},patterns:[{include:"#switch_conditional_parentheses"},{include:"$base"}]},{name:"meta.body.switch.objc",begin:"(?<=\\{)",end:"(\\})",endCaptures:{"1":{name:"punctuation.section.block.end.bracket.curly.switch.objc"}},patterns:[{include:"#default_statement"},{include:"#case_statement"},{include:"$base"},{include:"#block_innards"}]},{name:"meta.tail.switch.objc",begin:"(?<=})[\\s\\n]*",end:"[\\s\\n]*(?=;)",patterns:[{include:"$base"}]}]},switch_conditional_parentheses:{name:"meta.conditional.switch.objc",begin:"(\\()",beginCaptures:{"1":{name:"punctuation.section.parens.begin.bracket.round.conditional.switch.objc"}},end:"(\\))",endCaptures:{"1":{name:"punctuation.section.parens.end.bracket.round.conditional.switch.objc"}},patterns:[{include:"#conditional_context"}]},static_assert:{begin:"(static_assert|_Static_assert)\\s*(\\()",beginCaptures:{"1":{name:"keyword.other.static_assert.objc"},"2":{name:"punctuation.section.arguments.begin.bracket.round.objc"}},end:"(\\))",endCaptures:{"1":{name:"punctuation.section.arguments.end.bracket.round.objc"}},patterns:[{name:"meta.static_assert.message.objc",begin:"(,)\\s*(?=(?:L|u8|u|U\\s*\\\")?)",beginCaptures:{"1":{name:"punctuation.separator.delimiter.objc"}},end:"(?=\\))",patterns:[{include:"#string_context"},{include:"#string_context_c"}]},{include:"#function_call_context"}]},conditional_context:{patterns:[{include:"$base"},{include:"#block_innards"}]},member_access:{match:"((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?-mix:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*(\\b(?!(?:void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t))[a-zA-Z_]\\w*\\b(?!\\())",captures:{"1":{patterns:[{include:"#special_variables"},{name:"variable.other.object.access.objc",match:"(.+)"}]},"2":{name:"punctuation.separator.dot-access.objc"},"3":{name:"punctuation.separator.pointer-access.objc"},"4":{patterns:[{include:"#member_access"},{include:"#method_access"},{match:"((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",captures:{"1":{patterns:[{include:"#special_variables"},{name:"variable.other.object.access.objc",match:"(.+)"}]},"2":{name:"punctuation.separator.dot-access.objc"},"3":{name:"punctuation.separator.pointer-access.objc"}}}]},"5":{name:"variable.other.member.objc"}}},method_access:{contentName:"meta.function-call.member.objc",begin:"((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?-mix:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()",beginCaptures:{"1":{patterns:[{include:"#special_variables"},{name:"variable.other.object.access.objc",match:"(.+)"}]},"2":{name:"punctuation.separator.dot-access.objc"},"3":{name:"punctuation.separator.pointer-access.objc"},"4":{patterns:[{include:"#member_access"},{include:"#method_access"},{match:"((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",captures:{"1":{patterns:[{include:"#special_variables"},{name:"variable.other.object.access.objc",match:"(.+)"}]},"2":{name:"punctuation.separator.dot-access.objc"},"3":{name:"punctuation.separator.pointer-access.objc"}}}]},"5":{name:"entity.name.function.member.objc"},"6":{name:"punctuation.section.arguments.begin.bracket.round.function.member.objc"}},end:"(\\))",endCaptures:{"1":{name:"punctuation.section.arguments.end.bracket.round.function.member.objc"}},patterns:[{include:"#function-call-innards"}]},numbers:{begin:"(?<!\\w)(?=\\d|\\.\\d)",end:"(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",patterns:[{match:"(\\G0[xX])(?:([0-9a-fA-F](?:(?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*))?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))(?:([0-9a-fA-F](?:(?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*))?(?:((?<!')([pP])(\\+)?(\\-)?((?-mix:(?:[0-9](?:(?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)))))?(?:([lLfF](?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",captures:{"1":{name:"keyword.other.unit.hexadecimal.objc"},"2":{name:"constant.numeric.hexadecimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"3":{name:"punctuation.separator.constant.numeric.objc"},"4":{name:"constant.numeric.hexadecimal.objc"},"5":{name:"constant.numeric.hexadecimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"6":{name:"punctuation.separator.constant.numeric.objc"},"8":{name:"keyword.other.unit.exponent.hexadecimal.objc"},"9":{name:"keyword.operator.plus.exponent.hexadecimal.objc"},"10":{name:"keyword.operator.minus.exponent.hexadecimal.objc"},"11":{name:"constant.numeric.exponent.hexadecimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"12":{name:"keyword.other.unit.suffix.floating-point.objc"}}},{match:"(\\G(?=[0-9.])(?!0[xXbB]))(?:([0-9](?:(?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*))?((?:(?<=[0-9])\\.|\\.(?=[0-9])))(?:([0-9](?:(?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*))?(?:((?<!')([eE])(\\+)?(\\-)?((?-mix:(?:[0-9](?:(?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)))))?(?:([lLfF](?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",captures:{"2":{name:"constant.numeric.decimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"3":{name:"punctuation.separator.constant.numeric.objc"},"4":{name:"constant.numeric.decimal.point.objc"},"5":{name:"constant.numeric.decimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"6":{name:"punctuation.separator.constant.numeric.objc"},"8":{name:"keyword.other.unit.exponent.decimal.objc"},"9":{name:"keyword.operator.plus.exponent.decimal.objc"},"10":{name:"keyword.operator.minus.exponent.decimal.objc"},"11":{name:"constant.numeric.exponent.decimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"12":{name:"keyword.other.unit.suffix.floating-point.objc"}}},{match:"(\\G0[bB])([01](?:(?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)(?:((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",captures:{"1":{name:"keyword.other.unit.binary.objc"},"2":{name:"constant.numeric.binary.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"3":{name:"punctuation.separator.constant.numeric.objc"},"4":{name:"keyword.other.unit.suffix.integer.objc"}}},{match:"(\\G0)((?:(?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))+)(?:((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",captures:{"1":{name:"keyword.other.unit.octal.objc"},"2":{name:"constant.numeric.octal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"3":{name:"punctuation.separator.constant.numeric.objc"},"4":{name:"keyword.other.unit.suffix.integer.objc"}}},{match:"(\\G0[xX])([0-9a-fA-F](?:(?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)(?:((?<!')([pP])(\\+)?(\\-)?((?-mix:(?:[0-9](?:(?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)))))?(?:((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",captures:{"1":{name:"keyword.other.unit.hexadecimal.objc"},"2":{name:"constant.numeric.hexadecimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"3":{name:"punctuation.separator.constant.numeric.objc"},"5":{name:"keyword.other.unit.exponent.hexadecimal.objc"},"6":{name:"keyword.operator.plus.exponent.hexadecimal.objc"},"7":{name:"keyword.operator.minus.exponent.hexadecimal.objc"},"8":{name:"constant.numeric.exponent.hexadecimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"9":{name:"keyword.other.unit.suffix.integer.objc"}}},{match:"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:(?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)(?:((?<!')([eE])(\\+)?(\\-)?((?-mix:(?:[0-9](?:(?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)))))?(?:((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",captures:{"2":{name:"constant.numeric.decimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"3":{name:"punctuation.separator.constant.numeric.objc"},"5":{name:"keyword.other.unit.exponent.decimal.objc"},"6":{name:"keyword.operator.plus.exponent.decimal.objc"},"7":{name:"keyword.operator.minus.exponent.decimal.objc"},"8":{name:"constant.numeric.exponent.decimal.objc",patterns:[{match:"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.objc"}]},"9":{name:"keyword.other.unit.suffix.integer.objc"}}},{match:"(?:(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))+",name:"invalid.illegal.constant.numeric.objc"}]}}},comment:{patterns:[{begin:"/\\*",captures:{"0":{name:"punctuation.definition.comment.objc"}},end:"\\*/",name:"comment.block.objc"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.objc"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{"0":{name:"punctuation.definition.comment.objc"}},end:"\\n",name:"comment.line.double-slash.objc",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.objc"}]}]}]},disabled:{begin:"^\\s*#\\s*if(n?def)?\\b.*$",comment:"eat nested preprocessor if(def)s",end:"^\\s*#\\s*endif\\b.*$",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},implementation_innards:{patterns:[{include:"#preprocessor-rule-enabled-implementation"},{include:"#preprocessor-rule-disabled-implementation"},{include:"#preprocessor-rule-other-implementation"},{include:"#property_directive"},{include:"#method_super"},{include:"$base"}]},interface_innards:{patterns:[{include:"#preprocessor-rule-enabled-interface"},{include:"#preprocessor-rule-disabled-interface"},{include:"#preprocessor-rule-other-interface"},{include:"#properties"},{include:"#protocol_list"},{include:"#method"},{include:"$base"}]},method:{begin:"^(-|\\+)\\s*",end:"(?=\\{|#)|;",name:"meta.function.objc",patterns:[{begin:"(\\()",beginCaptures:{"1":{name:"punctuation.definition.type.begin.objc"}},end:"(\\))\\s*(\\w+\\b)",endCaptures:{"1":{name:"punctuation.definition.type.end.objc"},"2":{name:"entity.name.function.objc"}},name:"meta.return-type.objc",patterns:[{include:"#protocol_list"},{include:"#protocol_type_qualifier"},{include:"$base"}]},{match:"\\b\\w+(?=:)",name:"entity.name.function.name-of-parameter.objc"},{begin:"((:))\\s*(\\()",beginCaptures:{"1":{name:"entity.name.function.name-of-parameter.objc"},"2":{name:"punctuation.separator.arguments.objc"},"3":{name:"punctuation.definition.type.begin.objc"}},end:"(\\))\\s*(\\w+\\b)?",endCaptures:{"1":{name:"punctuation.definition.type.end.objc"},"2":{name:"variable.parameter.function.objc"}},name:"meta.argument-type.objc",patterns:[{include:"#protocol_list"},{include:"#protocol_type_qualifier"},{include:"$base"}]},{include:"#comment"}]},method_super:{begin:"^(?=-|\\+)",end:"(?<=\\})|(?=#)",name:"meta.function-with-body.objc",patterns:[{include:"#method"},{include:"$base"}]},"pragma-mark":{captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.pragma.objc"},"3":{name:"meta.toc-list.pragma-mark.objc"}},match:"^\\s*(#\\s*(pragma\\s+mark)\\s+(.*))",name:"meta.section.objc"},"preprocessor-rule-disabled-implementation":{begin:"^\\s*(#(if)\\s+(0)\\b).*",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.if.objc"},"3":{name:"constant.numeric.preprocessor.objc"}},end:"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{begin:"^\\s*(#\\s*(else)\\b)",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.else.objc"}},end:"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#interface_innards"}]},{begin:"",end:"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",name:"comment.block.preprocessor.if-branch.objc",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]},"preprocessor-rule-disabled-interface":{begin:"^\\s*(#(if)\\s+(0)\\b).*",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.if.objc"},"3":{name:"constant.numeric.preprocessor.objc"}},end:"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{begin:"^\\s*(#\\s*(else)\\b)",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.else.objc"}},end:"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#interface_innards"}]},{begin:"",end:"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",name:"comment.block.preprocessor.if-branch.objc",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]},"preprocessor-rule-enabled-implementation":{begin:"^\\s*(#(if)\\s+(0*1)\\b)",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.if.objc"},"3":{name:"constant.numeric.preprocessor.objc"}},end:"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{begin:"^\\s*(#\\s*(else)\\b).*",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.else.objc"}},contentName:"comment.block.preprocessor.else-branch.objc",end:"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:"",end:"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#implementation_innards"}]}]},"preprocessor-rule-enabled-interface":{begin:"^\\s*(#(if)\\s+(0*1)\\b)",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.if.objc"},"3":{name:"constant.numeric.preprocessor.objc"}},end:"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{begin:"^\\s*(#\\s*(else)\\b).*",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.else.objc"}},contentName:"comment.block.preprocessor.else-branch.objc",end:"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:"",end:"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#interface_innards"}]}]},"preprocessor-rule-other-implementation":{begin:"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.objc"}},end:"^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)",patterns:[{include:"#implementation_innards"}]},"preprocessor-rule-other-interface":{begin:"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))",captures:{"1":{name:"meta.preprocessor.objc"},"2":{name:"keyword.control.import.objc"}},end:"^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)",patterns:[{include:"#interface_innards"}]},properties:{patterns:[{begin:"((@)property)\\s*(\\()",beginCaptures:{"1":{name:"keyword.other.property.objc"},"2":{name:"punctuation.definition.keyword.objc"},"3":{name:"punctuation.section.scope.begin.objc"}},end:"(\\))",endCaptures:{"1":{name:"punctuation.section.scope.end.objc"}},name:"meta.property-with-attributes.objc",patterns:[{match:"\\b(getter|setter|readonly|readwrite|assign|retain|copy|nonatomic|atomic|strong|weak|nonnull|nullable|null_resettable|null_unspecified|class|direct)\\b",name:"keyword.other.property.attribute.objc"}]},{captures:{"1":{name:"keyword.other.property.objc"},"2":{name:"punctuation.definition.keyword.objc"}},match:"((@)property)\\b",name:"meta.property.objc"}]},property_directive:{captures:{"1":{name:"punctuation.definition.keyword.objc"}},match:"(@)(dynamic|synthesize)\\b",name:"keyword.other.property.directive.objc"},protocol_list:{begin:"(<)",beginCaptures:{"1":{name:"punctuation.section.scope.begin.objc"}},end:"(>)",endCaptures:{"1":{name:"punctuation.section.scope.end.objc"}},name:"meta.protocol-list.objc",patterns:[{match:"\\bNS(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated(ToobarItem|UserInterfaceItem)|Locking)\\b",name:"support.other.protocol.objc"}]},protocol_type_qualifier:{match:"\\b(in|out|inout|oneway|bycopy|byref|nonnull|nullable|_Nonnull|_Nullable|_Null_unspecified)\\b",name:"storage.modifier.protocol.objc"},special_variables:{patterns:[{match:"\\b_cmd\\b",name:"variable.other.selector.objc"},{match:"\\b(self|super)\\b",name:"variable.language.objc"}]},string_escaped_char:{patterns:[{match:"(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3]\\d{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",name:"constant.character.escape.objc"},{match:"\\\\.",name:"invalid.illegal.unknown-escape.objc"}]},string_placeholder:{patterns:[{match:"(?x) %\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",name:"constant.other.placeholder.objc"},{match:"(%)(?!\"\\s*(PRI|SCN))",captures:{"1":{name:"invalid.illegal.placeholder.objc"}}}]}};var objectiveC_tmLanguage = {information_for_contributors:information_for_contributors,version:version,name:name,scopeName:scopeName,patterns:patterns,repository:repository};
|
|
6
6
|
|
|
7
|
-
exports
|
|
7
|
+
exports.default = objectiveC_tmLanguage;
|
|
8
8
|
exports.information_for_contributors = information_for_contributors;
|
|
9
9
|
exports.name = name;
|
|
10
10
|
exports.patterns = patterns;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const information_for_contributors=["This file has been converted from https://github.com/atom/language-php/blob/master/grammars/php.cson","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."];const version="https://github.com/atom/language-php/commit/eb28b8aea1214dcbc732f3d9b9ed20c089c648bd";const scopeName="source.php";const patterns=[{include:"#attribute"},{include:"#comments"},{match:"(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+([a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+)(?=\\s*;)",name:"meta.namespace.php",captures:{"1":{name:"keyword.other.namespace.php"},"2":{name:"entity.name.type.namespace.php",patterns:[{match:"\\\\",name:"punctuation.separator.inheritance.php"}]}}},{begin:"(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+",beginCaptures:{"1":{name:"keyword.other.namespace.php"}},end:"(?<=})|(?=\\?>)",name:"meta.namespace.php",patterns:[{include:"#comments"},{match:"(?i)[a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+",name:"entity.name.type.namespace.php",captures:{"0":{patterns:[{match:"\\\\",name:"punctuation.separator.inheritance.php"}]}}},{begin:"{",beginCaptures:{"0":{name:"punctuation.definition.namespace.begin.bracket.curly.php"}},end:"}|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.namespace.end.bracket.curly.php"}},patterns:[{include:"$self"}]},{match:"[^\\s]+",name:"invalid.illegal.identifier.php"}]},{match:"\\s+(?=use\\b)"},{begin:"(?i)\\buse\\b",beginCaptures:{"0":{name:"keyword.other.use.php"}},end:"(?<=})|(?=;)|(?=\\?>)",name:"meta.use.php",patterns:[{match:"\\b(const|function)\\b",name:"storage.type.${1:/downcase}.php"},{begin:"{",beginCaptures:{"0":{name:"punctuation.definition.use.begin.bracket.curly.php"}},end:"}",endCaptures:{"0":{name:"punctuation.definition.use.end.bracket.curly.php"}},patterns:[{include:"#scope-resolution"},{match:"(?xi)\n\\b(as)\n\\s+(final|abstract|public|private|protected|static)\n\\s+([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)",captures:{"1":{name:"keyword.other.use-as.php"},"2":{name:"storage.modifier.php"},"3":{name:"entity.other.alias.php"}}},{match:"(?xi)\n\\b(as)\n\\s+([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)",captures:{"1":{name:"keyword.other.use-as.php"},"2":{patterns:[{match:"^(?:final|abstract|public|private|protected|static)$",name:"storage.modifier.php"},{match:".+",name:"entity.other.alias.php"}]}}},{match:"(?i)\\b(insteadof)\\s+([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)",captures:{"1":{name:"keyword.other.use-insteadof.php"},"2":{name:"support.class.php"}}},{match:";",name:"punctuation.terminator.expression.php"},{include:"#use-inner"}]},{include:"#use-inner"}]},{begin:"(?ix)\n\\b(trait)\\s+([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)",beginCaptures:{"1":{name:"storage.type.trait.php"},"2":{name:"entity.name.type.trait.php"}},end:"}|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.trait.end.bracket.curly.php"}},name:"meta.trait.php",patterns:[{include:"#comments"},{begin:"{",beginCaptures:{"0":{name:"punctuation.definition.trait.begin.bracket.curly.php"}},end:"(?=}|\\?>)",contentName:"meta.trait.body.php",patterns:[{include:"$self"}]}]},{begin:"(?ix)\n\\b(interface)\\s+([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)",beginCaptures:{"1":{name:"storage.type.interface.php"},"2":{name:"entity.name.type.interface.php"}},end:"}|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.interface.end.bracket.curly.php"}},name:"meta.interface.php",patterns:[{include:"#comments"},{include:"#interface-extends"},{begin:"{",beginCaptures:{"0":{name:"punctuation.definition.interface.begin.bracket.curly.php"}},end:"(?=}|\\?>)",contentName:"meta.interface.body.php",patterns:[{include:"#class-constant"},{include:"$self"}]}]},{begin:"(?ix)\n\\b(enum)\\s+([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)\n(?: \\s* (:) \\s* (int | string) \\b )?",beginCaptures:{"1":{name:"storage.type.enum.php"},"2":{name:"entity.name.type.enum.php"},"3":{name:"keyword.operator.return-value.php"},"4":{name:"keyword.other.type.php"}},end:"}|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.enum.end.bracket.curly.php"}},name:"meta.enum.php",patterns:[{include:"#comments"},{include:"#class-implements"},{begin:"{",beginCaptures:{"0":{name:"punctuation.definition.enum.begin.bracket.curly.php"}},end:"(?=}|\\?>)",contentName:"meta.enum.body.php",patterns:[{match:"(?i)\\b(case)\\s*([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)",captures:{"1":{name:"storage.modifier.php"},"2":{name:"constant.enum.php"}}},{include:"#class-constant"},{include:"$self"}]}]},{begin:"(?ix)\n(?:\n \\b(?:(abstract|final)\\s+)?(class)\\s+([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)\n |\\b(new)\\b\\s*(\\#\\[.*\\])?\\s*\\b(class)\\b # anonymous class\n)",beginCaptures:{"1":{name:"storage.modifier.${1:/downcase}.php"},"2":{name:"storage.type.class.php"},"3":{name:"entity.name.type.class.php"},"4":{name:"keyword.other.new.php"},"5":{patterns:[{include:"#attribute"}]},"6":{name:"storage.type.class.php"}},end:"}|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.class.end.bracket.curly.php"}},name:"meta.class.php",patterns:[{begin:"(?<=class)\\s*(\\()",beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.arguments.end.bracket.round.php"}},name:"meta.function-call.php",patterns:[{include:"#named-arguments"},{include:"$self"}]},{include:"#comments"},{include:"#class-extends"},{include:"#class-implements"},{begin:"{",beginCaptures:{"0":{name:"punctuation.definition.class.begin.bracket.curly.php"}},end:"(?=}|\\?>)",contentName:"meta.class.body.php",patterns:[{include:"#class-constant"},{include:"$self"}]}]},{include:"#match_statement"},{include:"#switch_statement"},{match:"\\s*\\b(yield\\s+from)\\b",captures:{"1":{name:"keyword.control.yield-from.php"}}},{match:"(?x)\n\\b(\n break|case|continue|declare|default|die|do|\n else(if)?|end(declare|for(each)?|if|switch|while)|exit|\n for(each)?|if|return|switch|use|while|yield\n)\\b",captures:{"1":{name:"keyword.control.${1:/downcase}.php"}}},{begin:"(?i)\\b((?:require|include)(?:_once)?)(\\s+|(?=\\())",beginCaptures:{"1":{name:"keyword.control.import.include.php"}},end:"(?=\\s|;|$|\\?>)",name:"meta.include.php",patterns:[{include:"$self"}]},{begin:"\\b(catch)\\s*(\\()",beginCaptures:{"1":{name:"keyword.control.exception.catch.php"},"2":{name:"punctuation.definition.parameters.begin.bracket.round.php"}},end:"\\)",endCaptures:{"0":{name:"punctuation.definition.parameters.end.bracket.round.php"}},name:"meta.catch.php",patterns:[{match:"(?xi)\n([a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ (?: \\s*\\|\\s* [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+)*) # union or single exception class\n\\s*\n((\\$+)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)? # Variable",captures:{"1":{patterns:[{match:"\\|",name:"punctuation.separator.delimiter.php"},{begin:"(?i)(?=[\\\\a-z_\\x{7f}-\\x{10ffff}])",end:"(?xi)\n( [a-z_\\x{7f}-\\x{10ffff}] [a-z0-9_\\x{7f}-\\x{10ffff}]* )\n(?![a-z0-9_\\x{7f}-\\x{10ffff}\\\\])",endCaptures:{"1":{name:"support.class.exception.php"}},patterns:[{include:"#namespace"}]}]},"2":{name:"variable.other.php"},"3":{name:"punctuation.definition.variable.php"}}}]},{match:"\\b(catch|try|throw|exception|finally)\\b",name:"keyword.control.exception.php"},{begin:"(?i)\\b(function)\\s*(?=&?\\s*\\()",beginCaptures:{"1":{name:"storage.type.function.php"}},end:"(?=\\s*{)",name:"meta.function.closure.php",patterns:[{include:"#comments"},{begin:"(&)?\\s*(\\()",beginCaptures:{"1":{name:"storage.modifier.reference.php"},"2":{name:"punctuation.definition.parameters.begin.bracket.round.php"}},contentName:"meta.function.parameters.php",end:"\\)",endCaptures:{"0":{name:"punctuation.definition.parameters.end.bracket.round.php"}},patterns:[{include:"#function-parameters"}]},{begin:"(?i)(use)\\s*(\\()",beginCaptures:{"1":{name:"keyword.other.function.use.php"},"2":{name:"punctuation.definition.parameters.begin.bracket.round.php"}},end:"\\)",endCaptures:{"0":{name:"punctuation.definition.parameters.end.bracket.round.php"}},name:"meta.function.closure.use.php",patterns:[{match:",",name:"punctuation.separator.delimiter.php"},{captures:{"1":{name:"variable.other.php"},"2":{name:"storage.modifier.reference.php"},"3":{name:"punctuation.definition.variable.php"}},match:"(?i)((?:(&)\\s*)?(\\$+)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)\\s*(?=,|\\))"}]},{match:"(?xi)\n(:)\\s*\n(\n (?:\\?\\s*)? [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ | # nullable type\n [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ (?: \\s*[|&]\\s* [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+)+ # union type\n)\n(?=\\s*(?:{|/[/*]|\\#|$))",captures:{"1":{name:"keyword.operator.return-value.php"},"2":{patterns:[{include:"#php-types"}]}}}]},{begin:"(?i)\\b(fn)\\s*(?=&?\\s*\\()",beginCaptures:{"1":{name:"storage.type.function.php"}},end:"=>",endCaptures:{"0":{name:"punctuation.definition.arrow.php"}},name:"meta.function.closure.php",patterns:[{begin:"(?:(&)\\s*)?(\\()",beginCaptures:{"1":{name:"storage.modifier.reference.php"},"2":{name:"punctuation.definition.parameters.begin.bracket.round.php"}},contentName:"meta.function.parameters.php",end:"\\)",endCaptures:{"0":{name:"punctuation.definition.parameters.end.bracket.round.php"}},patterns:[{include:"#function-parameters"}]},{match:"(?xi)\n(:)\\s*\n(\n (?:\\?\\s*)? [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ | # nullable type\n [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ (?: \\s*[|&]\\s* [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+)+ # union type\n)\n(?=\\s*(?:=>|/[/*]|\\#|$))",captures:{"1":{name:"keyword.operator.return-value.php"},"2":{patterns:[{include:"#php-types"}]}}}]},{begin:"(?x)\n((?:(?:final|abstract|public|private|protected)\\s+)*)\n(function)\\s+(__construct)\n\\s*(\\()",beginCaptures:{"1":{patterns:[{match:"final|abstract|public|private|protected",name:"storage.modifier.php"}]},"2":{name:"storage.type.function.php"},"3":{name:"support.function.constructor.php"},"4":{name:"punctuation.definition.parameters.begin.bracket.round.php"}},contentName:"meta.function.parameters.php",end:"(?xi)\n(\\)) \\s* ( : \\s*\n (?:\\?\\s*)? (?!\\s) [a-z0-9_\\x{7f}-\\x{10ffff}\\\\\\s\\|&]+ (?<!\\s)\n)?\n(?=\\s*(?:{|/[/*]|\\#|$|;))",endCaptures:{"1":{name:"punctuation.definition.parameters.end.bracket.round.php"},"2":{name:"invalid.illegal.return-type.php"}},name:"meta.function.php",patterns:[{include:"#comments"},{match:",",name:"punctuation.separator.delimiter.php"},{begin:"(?xi)\n((?:(?:public|private|protected|readonly)(?:\\s+|(?=\\?)))++)\n(?: (\n (?:\\?\\s*)? [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ | # nullable type\n [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ (?: \\s*[|&]\\s* [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+)+ # union type\n) \\s+ )?\n((?:(&)\\s*)?(\\$)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*) # Variable name with possible reference",beginCaptures:{"1":{patterns:[{match:"public|private|protected|readonly",name:"storage.modifier.php"}]},"2":{patterns:[{include:"#php-types"}]},"3":{name:"variable.other.php"},"4":{name:"storage.modifier.reference.php"},"5":{name:"punctuation.definition.variable.php"}},end:"(?=\\s*(?:,|\\)|/[/*]|\\#))",name:"meta.function.parameter.promoted-property.php",patterns:[{begin:"=",beginCaptures:{"0":{name:"keyword.operator.assignment.php"}},end:"(?=\\s*(?:,|\\)|/[/*]|\\#))",patterns:[{include:"#parameter-default-types"}]}]},{include:"#function-parameters"}]},{begin:"(?x)\n((?:(?:final|abstract|public|private|protected|static)\\s+)*)\n(function)\\s+\n(?i:\n (__(?:call|construct|debugInfo|destruct|get|set|isset|unset|toString|\n clone|set_state|sleep|wakeup|autoload|invoke|callStatic|serialize|unserialize))\n |(?:(&)?\\s*([a-zA-Z_\\x{7f}-\\x{10ffff}][a-zA-Z0-9_\\x{7f}-\\x{10ffff}]*))\n)\n\\s*(\\()",beginCaptures:{"1":{patterns:[{match:"final|abstract|public|private|protected|static",name:"storage.modifier.php"}]},"2":{name:"storage.type.function.php"},"3":{name:"support.function.magic.php"},"4":{name:"storage.modifier.reference.php"},"5":{name:"entity.name.function.php"},"6":{name:"punctuation.definition.parameters.begin.bracket.round.php"}},contentName:"meta.function.parameters.php",end:"(?xi)\n(\\)) (?: \\s* (:) \\s* (\n (?:\\?\\s*)? [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ | # nullable type\n [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ (?: \\s*[|&]\\s* [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+)+ # union type\n) )?\n(?=\\s*(?:{|/[/*]|\\#|$|;))",endCaptures:{"1":{name:"punctuation.definition.parameters.end.bracket.round.php"},"2":{name:"keyword.operator.return-value.php"},"3":{patterns:[{match:"\\b(static)\\b",name:"storage.type.php"},{match:"\\b(never)\\b",name:"keyword.other.type.never.php"},{include:"#php-types"}]}},name:"meta.function.php",patterns:[{include:"#function-parameters"}]},{match:"(?xi)\n((?:(?:public|private|protected|static|readonly)(?:\\s+|(?=\\?)))++) # At least one modifier\n(\n (?:\\?\\s*)? [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ | # nullable type\n [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ (?: \\s*[|&]\\s* [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+)+ # union type\n)?\n\\s+ ((\\$)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*) # Variable name",captures:{"1":{patterns:[{match:"public|private|protected|static|readonly",name:"storage.modifier.php"}]},"2":{patterns:[{include:"#php-types"}]},"3":{name:"variable.other.php"},"4":{name:"punctuation.definition.variable.php"}}},{include:"#invoke-call"},{include:"#scope-resolution"},{include:"#variables"},{include:"#strings"},{captures:{"1":{name:"support.function.construct.php"},"2":{name:"punctuation.definition.array.begin.bracket.round.php"},"3":{name:"punctuation.definition.array.end.bracket.round.php"}},match:"(array)(\\()(\\))",name:"meta.array.empty.php"},{begin:"(array)\\s*(\\()",beginCaptures:{"1":{name:"support.function.construct.php"},"2":{name:"punctuation.definition.array.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.array.end.bracket.round.php"}},name:"meta.array.php",patterns:[{include:"$self"}]},{match:"(?i)(\\()\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\s*(\\))",captures:{"1":{name:"punctuation.definition.storage-type.begin.bracket.round.php"},"2":{name:"storage.type.php"},"3":{name:"punctuation.definition.storage-type.end.bracket.round.php"}}},{match:"(?i)\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object|mixed)\\b",name:"storage.type.php"},{match:"(?i)\\b(global|abstract|const|final|private|protected|public|static)\\b",name:"storage.modifier.php"},{include:"#object"},{match:";",name:"punctuation.terminator.expression.php"},{match:":",name:"punctuation.terminator.statement.php"},{include:"#heredoc"},{include:"#numbers"},{match:"(?i)\\bclone\\b",name:"keyword.other.clone.php"},{match:"\\.\\.\\.",name:"keyword.operator.spread.php"},{match:"\\.=?",name:"keyword.operator.string.php"},{match:"=>",name:"keyword.operator.key.php"},{captures:{"1":{name:"keyword.operator.assignment.php"},"2":{name:"storage.modifier.reference.php"},"3":{name:"storage.modifier.reference.php"}},match:"(?i)(\\=)(&)|(&)(?=[$a-z_])"},{match:"@",name:"keyword.operator.error-control.php"},{match:"===|==|!==|!=|<>",name:"keyword.operator.comparison.php"},{match:"=|\\+=|\\-=|\\*\\*?=|/=|%=|&=|\\|=|\\^=|<<=|>>=|\\?\\?=",name:"keyword.operator.assignment.php"},{match:"<=>|<=|>=|<|>",name:"keyword.operator.comparison.php"},{match:"\\-\\-|\\+\\+",name:"keyword.operator.increment-decrement.php"},{match:"\\-|\\+|\\*\\*?|/|%",name:"keyword.operator.arithmetic.php"},{match:"(?i)(!|&&|\\|\\|)|\\b(and|or|xor|as)\\b",name:"keyword.operator.logical.php"},{include:"#function-call"},{match:"<<|>>|~|\\^|&|\\|",name:"keyword.operator.bitwise.php"},{begin:"(?i)\\b(instanceof)\\s+(?=[\\\\$a-z_])",beginCaptures:{"1":{name:"keyword.operator.type.php"}},end:"(?i)(?=[^\\\\$a-z0-9_\\x{7f}-\\x{10ffff}])",patterns:[{include:"#class-name"},{include:"#variable-name"}]},{include:"#instantiation"},{captures:{"1":{name:"keyword.control.goto.php"},"2":{name:"support.other.php"}},match:"(?i)(goto)\\s+([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)"},{captures:{"1":{name:"entity.name.goto-label.php"}},match:"(?i)^\\s*([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*(?<!default))\\s*:(?!:)"},{include:"#string-backtick"},{include:"#ternary_shorthand"},{include:"#null_coalescing"},{include:"#ternary_expression"},{begin:"{",beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.curly.php"}},end:"}|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.php"}},patterns:[{include:"$self"}]},{begin:"\\[",beginCaptures:{"0":{name:"punctuation.section.array.begin.php"}},end:"\\]|(?=\\?>)",endCaptures:{"0":{name:"punctuation.section.array.end.php"}},patterns:[{include:"$self"}]},{begin:"\\(",beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.php"}},patterns:[{include:"$self"}]},{include:"#constants"},{match:",",name:"punctuation.separator.delimiter.php"}];const repository={"attribute-name":{patterns:[{begin:"(?i)(?=\\\\?[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*\\\\)",end:"(?xi)\n( [a-z_\\x{7f}-\\x{10ffff}] [a-z0-9_\\x{7f}-\\x{10ffff}]* )?\n(?![a-z0-9_\\x{7f}-\\x{10ffff}\\\\])",endCaptures:{"1":{name:"support.attribute.php"}},patterns:[{include:"#namespace"}]},{match:"(?xi)\n(\\\\)?\\b(Attribute)\\b",name:"support.attribute.builtin.php",captures:{"1":{name:"punctuation.separator.inheritance.php"}}},{begin:"(?i)(?=[\\\\a-z_\\x{7f}-\\x{10ffff}])",end:"(?xi)\n( [a-z_\\x{7f}-\\x{10ffff}] [a-z0-9_\\x{7f}-\\x{10ffff}]* )?\n(?![a-z0-9_\\x{7f}-\\x{10ffff}\\\\])",endCaptures:{"1":{name:"support.attribute.php"}},patterns:[{include:"#namespace"}]}]},attribute:{begin:"\\#\\[",end:"\\]",name:"meta.attribute.php",patterns:[{match:",",name:"punctuation.separator.delimiter.php"},{begin:"([a-zA-Z0-9_\\x{7f}-\\x{10ffff}\\\\]+)\\s*(\\()",beginCaptures:{"1":{patterns:[{include:"#attribute-name"}]},"2":{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)",endCaptures:{"0":{name:"punctuation.definition.arguments.end.bracket.round.php"}},patterns:[{include:"#named-arguments"},{include:"$self"}]},{include:"#attribute-name"}]},"class-builtin":{patterns:[{match:"(?xi)\n(\\\\)?\\b\n(Attribute|(APC|Append)Iterator|Array(Access|Iterator|Object)\n|Bad(Function|Method)CallException\n|(Caching|CallbackFilter)Iterator|Collator|Collectable|Cond|Countable|CURLFile\n|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException\n|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference\n |Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)\n|(Error)?Exception|EmptyIterator\n|finfo\n|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?\n|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?\n|FANNConnection|(Filter|Filesystem)Iterator\n|Gender\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?\n|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)\n|Http((Inflate|Deflate)?Stream|Message|Request(Pool)?|Response|QueryString)\n|HRTime\\\\(PerformanceCounter|StopWatch)\n|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)\n|Imagick(Draw|Pixel(Iterator)?)?\n|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?\n|JsonSerializable\n|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))\n|Lapack|(Length|Locale|Logic)Exception|LimitIterator|Lua(Closure)?\n|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch\n |Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp\n |UpdateBatch|Write(Batch|ConcernException))?\n|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex\n|mysqli(_(driver|stmt|warning|result))?\n|MysqlndUh(Connection|PreparedStatement)\n|NoRewindIterator|Normalizer|NumberFormatter\n|OCI-(Collection|Lob)|OuterIterator|(OutOf(Bounds|Range)|Overflow)Exception\n|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool\n|QuickHash(Int(Set|StringHash)|StringIntHash)\n|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator\n|Reflection(Class|Function(Abstract)?|Method|Object|Parameter|Property|(Zend)?Extension)?\n|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)\n|SAM(Connection|Message)|SCA(_(SoapProxy|LocalProxy))?\n|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)\n |Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)\n|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP\n|Soap(Client|Fault|Header|Param|Server|Var)\n|SphinxClient|Spoofchecker\n|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(Max|Min)?Heap|Observer|ObjectStorage\n |(Priority)?Queue|Stack|Subject|Type|TempFileObject)\n|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)\n|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)\n|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable\n|UConverter|(Underflow|UnexpectedValue)Exception\n|V8Js(Exception)?|Varnish(Admin|Log|Stat)\n|Worker|Weak(Map|Ref)\n|XML(Diff\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor\n|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)\n |Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract\n |Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)\n |Response_Abstract|Router|Session|View_(Simple|Interface))\n|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)\n|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\n\\b",name:"support.class.builtin.php",captures:{"1":{name:"punctuation.separator.inheritance.php"}}}]},"class-name":{patterns:[{begin:"(?i)(?=\\\\?[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*\\\\)",end:"(?xi)\n( [a-z_\\x{7f}-\\x{10ffff}] [a-z0-9_\\x{7f}-\\x{10ffff}]* )?\n(?![a-z0-9_\\x{7f}-\\x{10ffff}\\\\])",endCaptures:{"1":{name:"support.class.php"}},patterns:[{include:"#namespace"}]},{include:"#class-builtin"},{begin:"(?i)(?=[\\\\a-z_\\x{7f}-\\x{10ffff}])",end:"(?xi)\n( [a-z_\\x{7f}-\\x{10ffff}] [a-z0-9_\\x{7f}-\\x{10ffff}]* )?\n(?![a-z0-9_\\x{7f}-\\x{10ffff}\\\\])",endCaptures:{"1":{name:"support.class.php"}},patterns:[{include:"#namespace"}]}]},"inheritance-single":{patterns:[{begin:"(?i)(?=\\\\?[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*\\\\)",end:"(?i)([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{10ffff}\\\\])",endCaptures:{"1":{name:"entity.other.inherited-class.php"}},patterns:[{include:"#namespace"}]},{include:"#class-builtin"},{include:"#namespace"},{match:"(?i)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*",name:"entity.other.inherited-class.php"}]},"class-extends":{patterns:[{begin:"(?i)(extends)\\s+",beginCaptures:{"1":{name:"storage.modifier.extends.php"}},end:"(?i)(?=[^A-Za-z0-9_\\x{7f}-\\x{10ffff}\\\\])",patterns:[{include:"#comments"},{include:"#inheritance-single"}]}]},"interface-extends":{patterns:[{begin:"(?i)(extends)\\s+",beginCaptures:{"1":{name:"storage.modifier.extends.php"}},end:"(?i)(?={)",patterns:[{include:"#comments"},{match:",",name:"punctuation.separator.classes.php"},{include:"#inheritance-single"}]}]},"class-implements":{patterns:[{begin:"(?i)(implements)\\s+",beginCaptures:{"1":{name:"storage.modifier.implements.php"}},end:"(?i)(?={)",patterns:[{include:"#comments"},{match:",",name:"punctuation.separator.classes.php"},{include:"#inheritance-single"}]}]},"class-constant":{patterns:[{match:"(?i)\\b(const)\\s*([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)",captures:{"1":{name:"storage.modifier.php"},"2":{name:"constant.other.php"}}}]},comments:{patterns:[{begin:"/\\*\\*(?=\\s)",beginCaptures:{"0":{name:"punctuation.definition.comment.php"}},end:"\\*/",endCaptures:{"0":{name:"punctuation.definition.comment.php"}},name:"comment.block.documentation.phpdoc.php",patterns:[{include:"#php_doc"}]},{begin:"/\\*",captures:{"0":{name:"punctuation.definition.comment.php"}},end:"\\*/",name:"comment.block.php"},{begin:"(^\\s+)?(?=//)",beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.php"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{"0":{name:"punctuation.definition.comment.php"}},end:"\\n|(?=\\?>)",name:"comment.line.double-slash.php"}]},{begin:"(^\\s+)?(?=#)(?!#\\[)",beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.php"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{"0":{name:"punctuation.definition.comment.php"}},end:"\\n|(?=\\?>)",name:"comment.line.number-sign.php"}]}]},constants:{patterns:[{match:"(?i)\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\b",name:"constant.language.php"},{match:"(?x)\n(\\\\)?\\b\n(DEFAULT_INCLUDE_PATH\n|EAR_(INSTALL|EXTENSION)_DIR\n|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE\n |PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)\n|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN\n |BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)\n |INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR\n |URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX\n |EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?\n |WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)\n |VERSION_(MAJOR|MINOR)|BUILD|SUITEMASK|SP_(MAJOR|MINOR)\n |PRODUCTTYPE|PLATFORM)\n |LIBDIR|LOCALSTATEDIR)\n|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\n\\b",name:"support.constant.core.php",captures:{"1":{name:"punctuation.separator.inheritance.php"}}},{match:"(?x)\n(\\\\)?\\b\n(__COMPILER_HALT_OFFSET__|AB(MON_(1|2|3|4|5|6|7|8|9|10|11|12)|DAY[1-7])\n|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS\n|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)\n|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)\n|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL\n|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)\n|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR\n|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)\n|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)\n|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)\n|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)\n|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)\n|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL\n |NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)\n|M_(1_PI|SQRT(1_2|2|3|PI)|2_(SQRT)?PI|PI(_(2|4))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)\n|MON_(1|2|3|4|5|6|7|8|9|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)\n|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)\n|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN\n|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR\n|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)\n|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP\n|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)\n|YES(EXPR|STR))\n\\b",name:"support.constant.std.php",captures:{"1":{name:"punctuation.separator.inheritance.php"}}},{match:"(?x)\n(\\\\)?\\b\n(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)\n|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE\n |OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)\n |ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE\n |NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE\n |UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT\n |PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)\n |ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(NMTOKEN(S)?|NOTATION|NODE)\n |CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)\n|MHASH_(RIPEMD(128|160|256|320)|GOST|MD(2|4|5)|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)\n |CRC23(B)?|TIGER(128|160)?|WHIRLPOOL|ADLER32)\n|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))\n|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)\n |READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH\n |STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT\n |SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)\n |NO_(DEFAULT_VALUE_FLAG|DATA)|NOT_NULL_FLAG|NUM(_FLAG)?\n |CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)\n |CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)\n |TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR\n |TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)\n |TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG\n |OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)\n |DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG\n |ASSOC|ASYNC|AUTO_INCREMENT_FLAG)\n|MCRYPT_(RC(2|6)|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS\n |BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY\n |TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)\n|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR\n |SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)\n |NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS\n |FILE_SIZE_IS|FAILURE|AUTH_(REQUIRED|RESULT))\n |CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)\n |CAST_(AS_STREAM|FOR_SELECT)|(IGNORE|IS)_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB\n |OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH\n |PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))\n|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)\n|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT\n |CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY\n |FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)\n|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)\n|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)\n |MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)\n |CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)\n |INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME\n |(SIZE|SPEED)_(DOWNLOAD|UPLOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME\n |CONNECT_TIME|CONTENT_(TYPE|LENGTH_(DOWNLOAD|UPLOAD))|CERTINFO|TOTAL_TIME\n |PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)\n |OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE\n |MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE\n |SSH_(HOST_PUBLIC_KEY_MD5|(PRIVATE|PUBLIC)_KEYFILE)|AUTH_TYPES)\n |SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)\n |SSL_(CIPHER_LIST|VERIFY(HOST|PEER))\n |STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)\n |HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?\n |COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT\n |TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE\n |DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD\n |PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT\n |POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT\n |FTP(APPEND|LISTONLY|PORT|SSLAUTH)\n |FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)\n |FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)\n |AUTOREFERER)\n |PROXY_(HTTP|SOCKS(4|5))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)\n |E_((RECV|READ)_ERROR|GOT_NOTHING|MALFORMAT_USER\n |BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)\n |SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))\n |SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)\n |COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE\n |OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL\n |UNKNOWN_TELNET_OPTION|PARTIAL_FILE\n |FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)\n |CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR\n |WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)\n |FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND\n |LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)\n |VERSION_NOW\n |FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))\n |AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))\n|CURL_(HTTP_VERSION_(1_(0|1)|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)\n |IPRESOLVE_(V(4|6)|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))\n|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)\n|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)\n|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)\n|DOM(STRING_SIZE_ERR)\n|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_(MODIFICATION_ALLOWED|DATA_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE\n |INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)\n|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)\n|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT\n |SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)\n|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))\n|PCRE_VERSION|POSIX_((F|R|W|X)_OK|S_IF(REG|BLK|SOCK|CHR|IFO))\n|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)\n|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW\n |SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL\n |EMAIL|ENCODED|FULL_SPCIAL_CHARS)\n |VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)\n |FORCE_ARRAY\n |FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES\n |IPV(4|6)|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED\n |ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))\n|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)\n|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)\n|FORCE_(DEFLATE|GZIP)\n|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)\n |COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\n\\b",name:"support.constant.ext.php",captures:{"1":{name:"punctuation.separator.inheritance.php"}}},{match:"(?x)\n(\\\\)?\\b\n(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK\n |BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC\n |SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT\n |CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?\n |CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))\n |INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)\n |OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)\n |DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC\n |PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE\n |END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE\n |FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)\n |ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\n\\b",name:"support.constant.parser-token.php",captures:{"1":{name:"punctuation.separator.inheritance.php"}}},{match:"(?i)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*",name:"constant.other.php"}]},"function-parameters":{patterns:[{include:"#attribute"},{include:"#comments"},{match:",",name:"punctuation.separator.delimiter.php"},{match:"(?xi)\n(?: (\n (?:\\?\\s*)? [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ | # nullable type\n [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ (?: \\s*[|&]\\s* [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+)+ # union type\n) \\s+ )?\n((?:(&)\\s*)?(\\.\\.\\.)(\\$)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*) # Variable name with possible reference\n(?=\\s*(?:,|\\)|/[/*]|\\#|$)) # A closing parentheses (end of argument list) or a comma or a comment",captures:{"1":{patterns:[{include:"#php-types"}]},"2":{name:"variable.other.php"},"3":{name:"storage.modifier.reference.php"},"4":{name:"keyword.operator.variadic.php"},"5":{name:"punctuation.definition.variable.php"}},name:"meta.function.parameter.variadic.php"},{begin:"(?xi)\n(\n (?:\\?\\s*)? [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ | # nullable type\n [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+ (?: \\s*[|&]\\s* [a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+)+ # union type\n)\n\\s+ ((?:(&)\\s*)?(\\$)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*) # Variable name with possible reference",beginCaptures:{"1":{patterns:[{include:"#php-types"}]},"2":{name:"variable.other.php"},"3":{name:"storage.modifier.reference.php"},"4":{name:"punctuation.definition.variable.php"}},end:"(?=\\s*(?:,|\\)|/[/*]|\\#))",name:"meta.function.parameter.typehinted.php",patterns:[{begin:"=",beginCaptures:{"0":{name:"keyword.operator.assignment.php"}},end:"(?=\\s*(?:,|\\)|/[/*]|\\#))",patterns:[{include:"#parameter-default-types"}]}]},{match:"(?xi)\n((?:(&)\\s*)?(\\$)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*) # Variable name with possible reference\n(?=\\s*(?:,|\\)|/[/*]|\\#|$)) # A closing parentheses (end of argument list) or a comma or a comment",captures:{"1":{name:"variable.other.php"},"2":{name:"storage.modifier.reference.php"},"3":{name:"punctuation.definition.variable.php"}},name:"meta.function.parameter.no-default.php"},{begin:"(?xi)\n((?:(&)\\s*)?(\\$)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*) # Variable name with possible reference\n\\s*(=)\\s*",beginCaptures:{"1":{name:"variable.other.php"},"2":{name:"storage.modifier.reference.php"},"3":{name:"punctuation.definition.variable.php"},"4":{name:"keyword.operator.assignment.php"}},end:"(?=\\s*(?:,|\\)|/[/*]|\\#))",name:"meta.function.parameter.default.php",patterns:[{include:"#parameter-default-types"}]}]},"named-arguments":{match:"(?i)(?<=^|\\(|,)\\s*([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)\\s*(:)(?!:)",captures:{"1":{name:"entity.name.variable.parameter.php"},"2":{name:"punctuation.separator.colon.php"}}},"function-call":{patterns:[{begin:"(?x)\n(\n \\\\?(?<![a-zA-Z0-9_\\x{7f}-\\x{10ffff}]) # Optional root namespace\n [a-zA-Z_\\x{7f}-\\x{10ffff}][a-zA-Z0-9_\\x{7f}-\\x{10ffff}]* # First namespace\n (?:\\\\[a-zA-Z_\\x{7f}-\\x{10ffff}][a-zA-Z0-9_\\x{7f}-\\x{10ffff}]*)+ # Additional namespaces\n)\\s*(\\()",beginCaptures:{"1":{patterns:[{include:"#namespace"},{match:"(?i)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*",name:"entity.name.function.php"}]},"2":{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.arguments.end.bracket.round.php"}},name:"meta.function-call.php",patterns:[{include:"#named-arguments"},{include:"$self"}]},{begin:"(\\\\)?(?<![a-zA-Z0-9_\\x{7f}-\\x{10ffff}])([a-zA-Z_\\x{7f}-\\x{10ffff}][a-zA-Z0-9_\\x{7f}-\\x{10ffff}]*)\\s*(\\()",beginCaptures:{"1":{patterns:[{include:"#namespace"}]},"2":{patterns:[{include:"#support"},{match:"(?i)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*",name:"entity.name.function.php"}]},"3":{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.arguments.end.bracket.round.php"}},name:"meta.function-call.php",patterns:[{include:"#named-arguments"},{include:"$self"}]},{match:"(?i)\\b(print|echo)\\b",name:"support.function.construct.output.php"}]},heredoc:{patterns:[{begin:"(?i)(?=<<<\\s*(\"?)([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)(\\1)\\s*$)",end:"(?!\\G)",name:"string.unquoted.heredoc.php",patterns:[{include:"#heredoc_interior"}]},{begin:"(?=<<<\\s*'([a-zA-Z_]+[a-zA-Z0-9_]*)'\\s*$)",end:"(?!\\G)",name:"string.unquoted.nowdoc.php",patterns:[{include:"#nowdoc_interior"}]}]},heredoc_interior:{patterns:[{begin:"(<<<)\\s*(\"?)(HTML)(\\2)(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"3":{name:"keyword.operator.heredoc.php"},"5":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.html",end:"^\\s*(\\3)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.html",patterns:[{include:"#interpolation"},{include:"text.html.basic"}]},{begin:"(<<<)\\s*(\"?)(XML)(\\2)(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"3":{name:"keyword.operator.heredoc.php"},"5":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.xml",end:"^\\s*(\\3)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.xml",patterns:[{include:"#interpolation"},{include:"text.xml"}]},{begin:"(<<<)\\s*(\"?)([DS]QL)(\\2)(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"3":{name:"keyword.operator.heredoc.php"},"5":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.sql",end:"^\\s*(\\3)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.sql",patterns:[{include:"#interpolation"},{include:"source.sql"}]},{begin:"(<<<)\\s*(\"?)(JAVASCRIPT|JS)(\\2)(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"3":{name:"keyword.operator.heredoc.php"},"5":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.js",end:"^\\s*(\\3)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.js",patterns:[{include:"#interpolation"},{include:"source.js"}]},{begin:"(<<<)\\s*(\"?)(JSON)(\\2)(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"3":{name:"keyword.operator.heredoc.php"},"5":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.json",end:"^\\s*(\\3)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.json",patterns:[{include:"#interpolation"},{include:"source.json"}]},{begin:"(<<<)\\s*(\"?)(CSS)(\\2)(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"3":{name:"keyword.operator.heredoc.php"},"5":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.css",end:"^\\s*(\\3)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.css",patterns:[{include:"#interpolation"},{include:"source.css"}]},{begin:"(<<<)\\s*(\"?)(REGEXP?)(\\2)(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"3":{name:"keyword.operator.heredoc.php"},"5":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"string.regexp.heredoc.php",end:"^\\s*(\\3)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.heredoc.php"}},patterns:[{include:"#interpolation"},{match:"(\\\\){1,2}[.$^\\[\\]{}]",name:"constant.character.escape.regex.php"},{captures:{"1":{name:"punctuation.definition.arbitrary-repitition.php"},"3":{name:"punctuation.definition.arbitrary-repitition.php"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repitition.php"},{begin:"\\[(?:\\^?\\])?",captures:{"0":{name:"punctuation.definition.character-class.php"}},end:"\\]",name:"string.regexp.character-class.php",patterns:[{match:"\\\\[\\\\'\\[\\]]",name:"constant.character.escape.php"}]},{match:"[$^+*]",name:"keyword.operator.regexp.php"},{begin:"(?i)(?<=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{10ffff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)",beginCaptures:{"1":{name:"punctuation.definition.comment.php"}},end:"$",endCaptures:{"0":{name:"punctuation.definition.comment.php"}},name:"comment.line.number-sign.php"}]},{begin:"(<<<)\\s*(\"?)(BLADE)(\\2)(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"3":{name:"keyword.operator.heredoc.php"},"5":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.html.php.blade",end:"^\\s*(\\3)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.php.blade",patterns:[{include:"#interpolation"}]},{begin:"(?i)(<<<)\\s*(\"?)([a-z_\\x{7f}-\\x{10ffff}]+[a-z0-9_\\x{7f}-\\x{10ffff}]*)(\\2)(\\s*)",beginCaptures:{"1":{name:"punctuation.definition.string.php"},"3":{name:"keyword.operator.heredoc.php"},"5":{name:"invalid.illegal.trailing-whitespace.php"}},end:"^\\s*(\\3)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"1":{name:"keyword.operator.heredoc.php"}},patterns:[{include:"#interpolation"}]}]},nowdoc_interior:{patterns:[{begin:"(<<<)\\s*'(HTML)'(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"2":{name:"keyword.operator.nowdoc.php"},"3":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.html",end:"^\\s*(\\2)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.html",patterns:[{include:"text.html.basic"}]},{begin:"(<<<)\\s*'(XML)'(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"2":{name:"keyword.operator.nowdoc.php"},"3":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.xml",end:"^\\s*(\\2)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.xml",patterns:[{include:"text.xml"}]},{begin:"(<<<)\\s*'([DS]QL)'(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"2":{name:"keyword.operator.nowdoc.php"},"3":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.sql",end:"^\\s*(\\2)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.sql",patterns:[{include:"source.sql"}]},{begin:"(<<<)\\s*'(JAVASCRIPT|JS)'(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"2":{name:"keyword.operator.nowdoc.php"},"3":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.js",end:"^\\s*(\\2)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.js",patterns:[{include:"source.js"}]},{begin:"(<<<)\\s*'(JSON)'(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"2":{name:"keyword.operator.nowdoc.php"},"3":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.json",end:"^\\s*(\\2)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.json",patterns:[{include:"source.json"}]},{begin:"(<<<)\\s*'(CSS)'(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"2":{name:"keyword.operator.nowdoc.php"},"3":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.css",end:"^\\s*(\\2)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.css",patterns:[{include:"source.css"}]},{begin:"(<<<)\\s*'(REGEXP?)'(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"2":{name:"keyword.operator.nowdoc.php"},"3":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"string.regexp.nowdoc.php",end:"^\\s*(\\2)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.nowdoc.php"}},patterns:[{match:"(\\\\){1,2}[.$^\\[\\]{}]",name:"constant.character.escape.regex.php"},{captures:{"1":{name:"punctuation.definition.arbitrary-repitition.php"},"3":{name:"punctuation.definition.arbitrary-repitition.php"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repitition.php"},{begin:"\\[(?:\\^?\\])?",captures:{"0":{name:"punctuation.definition.character-class.php"}},end:"\\]",name:"string.regexp.character-class.php",patterns:[{match:"\\\\[\\\\'\\[\\]]",name:"constant.character.escape.php"}]},{match:"[$^+*]",name:"keyword.operator.regexp.php"},{begin:"(?i)(?<=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{10ffff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)",beginCaptures:{"1":{name:"punctuation.definition.comment.php"}},end:"$",endCaptures:{"0":{name:"punctuation.definition.comment.php"}},name:"comment.line.number-sign.php"}]},{begin:"(<<<)\\s*'(BLADE)'(\\s*)$",beginCaptures:{"0":{name:"punctuation.section.embedded.begin.php"},"1":{name:"punctuation.definition.string.php"},"2":{name:"keyword.operator.nowdoc.php"},"3":{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.html.php.blade",end:"^\\s*(\\2)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"0":{name:"punctuation.section.embedded.end.php"},"1":{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.php.blade"},{begin:"(?i)(<<<)\\s*'([a-z_\\x{7f}-\\x{10ffff}]+[a-z0-9_\\x{7f}-\\x{10ffff}]*)'(\\s*)",beginCaptures:{"1":{name:"punctuation.definition.string.php"},"2":{name:"keyword.operator.nowdoc.php"},"3":{name:"invalid.illegal.trailing-whitespace.php"}},end:"^\\s*(\\2)(?![A-Za-z0-9_\\x{7f}-\\x{10ffff}])",endCaptures:{"1":{name:"keyword.operator.nowdoc.php"}}}]},instantiation:{begin:"(?i)(new)\\s+(?!class\\b)",beginCaptures:{"1":{name:"keyword.other.new.php"}},end:"(?i)(?=[^a-z0-9_\\x{7f}-\\x{10ffff}\\\\])",patterns:[{match:"(?i)(parent|static|self)(?![a-z0-9_\\x{7f}-\\x{10ffff}])",name:"storage.type.php"},{include:"#class-name"},{include:"#variable-name"}]},interpolation:{patterns:[{match:"\\\\[0-7]{1,3}",name:"constant.character.escape.octal.php"},{match:"\\\\x[0-9A-Fa-f]{1,2}",name:"constant.character.escape.hex.php"},{match:"\\\\u{[0-9A-Fa-f]+}",name:"constant.character.escape.unicode.php"},{match:"\\\\[nrtvef$\\\\]",name:"constant.character.escape.php"},{begin:"{(?=\\$.*?})",beginCaptures:{"0":{name:"punctuation.definition.variable.php"}},end:"}",endCaptures:{"0":{name:"punctuation.definition.variable.php"}},patterns:[{include:"$self"}]},{include:"#variable-name"}]},interpolation_double_quoted:{patterns:[{match:"\\\\\"",name:"constant.character.escape.php"},{include:"#interpolation"}]},"invoke-call":{captures:{"1":{name:"variable.other.php"},"2":{name:"punctuation.definition.variable.php"}},match:"(?i)((\\$+)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)(?=\\s*\\()",name:"meta.function-call.invoke.php"},namespace:{begin:"(?i)(?:(namespace)|[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)?(\\\\)",beginCaptures:{"1":{name:"variable.language.namespace.php"},"2":{name:"punctuation.separator.inheritance.php"}},end:"(?i)(?![a-z0-9_\\x{7f}-\\x{10ffff}]*\\\\)",name:"support.other.namespace.php",patterns:[{match:"\\\\",name:"punctuation.separator.inheritance.php"}]},numbers:{patterns:[{match:"0[xX][0-9a-fA-F]+(?:_[0-9a-fA-F]+)*",name:"constant.numeric.hex.php"},{match:"0[bB][01]+(?:_[01]+)*",name:"constant.numeric.binary.php"},{match:"0[oO][0-7]+(?:_[0-7]+)*",name:"constant.numeric.octal.php"},{match:"0(?:_?[0-7]+)+",name:"constant.numeric.octal.php"},{match:"(?x)\n(?:\n (?:[0-9]+(?:_[0-9]+)*)?(\\.)[0-9]+(?:_[0-9]+)*(?:[eE][+-]?[0-9]+(?:_[0-9]+)*)?| # .3\n [0-9]+(?:_[0-9]+)*(\\.)(?:[0-9]+(?:_[0-9]+)*)?(?:[eE][+-]?[0-9]+(?:_[0-9]+)*)?| # 3.\n [0-9]+(?:_[0-9]+)*[eE][+-]?[0-9]+(?:_[0-9]+)* # 2e-3\n)",name:"constant.numeric.decimal.php",captures:{"1":{name:"punctuation.separator.decimal.period.php"},"2":{name:"punctuation.separator.decimal.period.php"}}},{match:"0|[1-9](?:_?[0-9]+)*",name:"constant.numeric.decimal.php"}]},object:{patterns:[{begin:"(\\??->)\\s*(\\$?{)",beginCaptures:{"1":{name:"keyword.operator.class.php"},"2":{name:"punctuation.definition.variable.php"}},end:"}",endCaptures:{"0":{name:"punctuation.definition.variable.php"}},patterns:[{include:"$self"}]},{begin:"(?i)(\\??->)\\s*([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)\\s*(\\()",beginCaptures:{"1":{name:"keyword.operator.class.php"},"2":{name:"entity.name.function.php"},"3":{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.arguments.end.bracket.round.php"}},name:"meta.method-call.php",patterns:[{include:"#named-arguments"},{include:"$self"}]},{captures:{"1":{name:"keyword.operator.class.php"},"2":{name:"variable.other.property.php"},"3":{name:"punctuation.definition.variable.php"}},match:"(?i)(\\??->)\\s*((\\$+)?[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)?"}]},"php-types":{patterns:[{match:"\\?",name:"keyword.operator.nullable-type.php"},{match:"[|&]",name:"punctuation.separator.delimiter.php"},{match:"(?i)\\b(null|int|float|bool|string|array|object|callable|iterable|false|mixed|void)\\b",name:"keyword.other.type.php"},{match:"(?i)\\b(parent|self)\\b",name:"storage.type.php"},{include:"#class-name"}]},"parameter-default-types":{patterns:[{include:"#strings"},{include:"#numbers"},{include:"#string-backtick"},{include:"#variables"},{match:"=>",name:"keyword.operator.key.php"},{match:"=",name:"keyword.operator.assignment.php"},{match:"&(?=\\s*\\$)",name:"storage.modifier.reference.php"},{begin:"(array)\\s*(\\()",beginCaptures:{"1":{name:"support.function.construct.php"},"2":{name:"punctuation.definition.array.begin.bracket.round.php"}},end:"\\)",endCaptures:{"0":{name:"punctuation.definition.array.end.bracket.round.php"}},name:"meta.array.php",patterns:[{include:"#parameter-default-types"}]},{begin:"\\[",beginCaptures:{"0":{name:"punctuation.section.array.begin.php"}},end:"\\]|(?=\\?>)",endCaptures:{"0":{name:"punctuation.section.array.end.php"}},patterns:[{include:"$self"}]},{include:"#instantiation"},{begin:"(?xi)\n(?=[a-z0-9_\\x{7f}-\\x{10ffff}\\\\]+\n (::)\\s*([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)?\n)",end:"(?i)(::)\\s*([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)?",endCaptures:{"1":{name:"keyword.operator.class.php"},"2":{name:"constant.other.class.php"}},patterns:[{include:"#class-name"}]},{include:"#constants"}]},php_doc:{patterns:[{match:"^(?!\\s*\\*).*?(?:(?=\\*\\/)|$\\n?)",name:"invalid.illegal.missing-asterisk.phpdoc.php"},{captures:{"1":{name:"keyword.other.phpdoc.php"},"3":{name:"storage.modifier.php"},"4":{name:"invalid.illegal.wrong-access-type.phpdoc.php"}},match:"^\\s*\\*\\s*(@access)\\s+((public|private|protected)|(.+))\\s*$"},{captures:{"1":{name:"keyword.other.phpdoc.php"},"2":{name:"markup.underline.link.php"}},match:"(@xlink)\\s+(.+)\\s*$"},{begin:"(@(?:global|param|property(-(read|write))?|return|throws|var))\\s+(?=[?A-Za-z_\\x{7f}-\\x{10ffff}\\\\]|\\()",beginCaptures:{"1":{name:"keyword.other.phpdoc.php"}},end:"(?=\\s|\\*/)",contentName:"meta.other.type.phpdoc.php",patterns:[{include:"#php_doc_types_array_multiple"},{include:"#php_doc_types_array_single"},{include:"#php_doc_types"}]},{match:"(?x)\n@\n(\n api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|\n license|link|method|property(-(read|write))?|package|param|return|see|since|source|\n static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore\n)\\b",name:"keyword.other.phpdoc.php"},{captures:{"1":{name:"keyword.other.phpdoc.php"}},match:"{(@(link|inherit[Dd]oc)).+?}",name:"meta.tag.inline.phpdoc.php"}]},php_doc_types:{match:"(?i)\\??[a-z_\\x{7f}-\\x{10ffff}\\\\][a-z0-9_\\x{7f}-\\x{10ffff}\\\\]*([|&]\\??[a-z_\\x{7f}-\\x{10ffff}\\\\][a-z0-9_\\x{7f}-\\x{10ffff}\\\\]*)*",captures:{"0":{patterns:[{match:"\\?",name:"keyword.operator.nullable-type.php"},{match:"(?x)\\b\n(string|integer|int|boolean|bool|float|double|object|mixed\n|array|resource|void|null|callback|false|true|self|static)\\b",name:"keyword.other.type.php"},{include:"#class-name"},{match:"[|&]",name:"punctuation.separator.delimiter.php"}]}}},php_doc_types_array_multiple:{begin:"\\(",beginCaptures:{"0":{name:"punctuation.definition.type.begin.bracket.round.phpdoc.php"}},end:"(\\))(\\[\\])|(?=\\*/)",endCaptures:{"1":{name:"punctuation.definition.type.end.bracket.round.phpdoc.php"},"2":{name:"keyword.other.array.phpdoc.php"}},patterns:[{include:"#php_doc_types_array_multiple"},{include:"#php_doc_types_array_single"},{include:"#php_doc_types"},{match:"[|&]",name:"punctuation.separator.delimiter.php"}]},php_doc_types_array_single:{match:"(?i)([a-z_\\x{7f}-\\x{10ffff}\\\\][a-z0-9_\\x{7f}-\\x{10ffff}\\\\]*)(\\[\\])",captures:{"1":{patterns:[{include:"#php_doc_types"}]},"2":{name:"keyword.other.array.phpdoc.php"}}},"regex-double-quoted":{begin:"\"/(?=(\\\\.|[^\"/])++/[imsxeADSUXu]*\")",beginCaptures:{"0":{name:"punctuation.definition.string.begin.php"}},end:"(/)([imsxeADSUXu]*)(\")",endCaptures:{"0":{name:"punctuation.definition.string.end.php"}},name:"string.regexp.double-quoted.php",patterns:[{match:"(\\\\){1,2}[.$^\\[\\]{}]",name:"constant.character.escape.regex.php"},{include:"#interpolation_double_quoted"},{captures:{"1":{name:"punctuation.definition.arbitrary-repetition.php"},"3":{name:"punctuation.definition.arbitrary-repetition.php"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repetition.php"},{begin:"\\[(?:\\^?\\])?",captures:{"0":{name:"punctuation.definition.character-class.php"}},end:"\\]",name:"string.regexp.character-class.php",patterns:[{include:"#interpolation_double_quoted"}]},{match:"[$^+*]",name:"keyword.operator.regexp.php"}]},"regex-single-quoted":{begin:"'/(?=(\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)|[^'/])++/[imsxeADSUXu]*')",beginCaptures:{"0":{name:"punctuation.definition.string.begin.php"}},end:"(/)([imsxeADSUXu]*)(')",endCaptures:{"0":{name:"punctuation.definition.string.end.php"}},name:"string.regexp.single-quoted.php",patterns:[{include:"#single_quote_regex_escape"},{captures:{"1":{name:"punctuation.definition.arbitrary-repetition.php"},"3":{name:"punctuation.definition.arbitrary-repetition.php"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repetition.php"},{begin:"\\[(?:\\^?\\])?",captures:{"0":{name:"punctuation.definition.character-class.php"}},end:"\\]",name:"string.regexp.character-class.php"},{match:"[$^+*]",name:"keyword.operator.regexp.php"}]},"scope-resolution":{patterns:[{match:"([A-Za-z_\\x{7f}-\\x{10ffff}\\\\][A-Za-z0-9_\\x{7f}-\\x{10ffff}\\\\]*)(?=\\s*::)",captures:{"1":{patterns:[{match:"\\b(self|static|parent)\\b",name:"storage.type.php"},{include:"#class-name"},{include:"#variable-name"}]}}},{begin:"(?i)(::)\\s*([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)\\s*(\\()",beginCaptures:{"1":{name:"keyword.operator.class.php"},"2":{name:"entity.name.function.php"},"3":{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.arguments.end.bracket.round.php"}},name:"meta.method-call.static.php",patterns:[{include:"#named-arguments"},{include:"$self"}]},{match:"(?i)(::)\\s*(class)\\b",captures:{"1":{name:"keyword.operator.class.php"},"2":{name:"keyword.other.class.php"}}},{match:"(?xi)\n(::)\\s*\n(?:\n ((\\$+)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*) # Variable\n |\n ([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*) # Constant\n)?",captures:{"1":{name:"keyword.operator.class.php"},"2":{name:"variable.other.class.php"},"3":{name:"punctuation.definition.variable.php"},"4":{name:"constant.other.class.php"}}}]},single_quote_regex_escape:{match:"\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)",name:"constant.character.escape.php"},"sql-string-double-quoted":{begin:"\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\b)",beginCaptures:{"0":{name:"punctuation.definition.string.begin.php"}},contentName:"source.sql.embedded.php",end:"\"",endCaptures:{"0":{name:"punctuation.definition.string.end.php"}},name:"string.quoted.double.sql.php",patterns:[{match:"(#)(\\\\\"|[^\"])*(?=\"|$)",name:"comment.line.number-sign.sql",captures:{"1":{name:"punctuation.definition.comment.sql"}}},{match:"(--)(\\\\\"|[^\"])*(?=\"|$)",name:"comment.line.double-dash.sql",captures:{"1":{name:"punctuation.definition.comment.sql"}}},{match:"\\\\[\\\\\"`']",name:"constant.character.escape.php"},{match:"'(?=((\\\\')|[^'\"])*(\"|$))",name:"string.quoted.single.unclosed.sql"},{match:"`(?=((\\\\`)|[^`\"])*(\"|$))",name:"string.quoted.other.backtick.unclosed.sql"},{begin:"'",end:"'",name:"string.quoted.single.sql",patterns:[{include:"#interpolation_double_quoted"}]},{begin:"`",end:"`",name:"string.quoted.other.backtick.sql",patterns:[{include:"#interpolation_double_quoted"}]},{include:"#interpolation_double_quoted"},{include:"source.sql"}]},"sql-string-single-quoted":{begin:"'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\b)",beginCaptures:{"0":{name:"punctuation.definition.string.begin.php"}},contentName:"source.sql.embedded.php",end:"'",endCaptures:{"0":{name:"punctuation.definition.string.end.php"}},name:"string.quoted.single.sql.php",patterns:[{match:"(#)(\\\\'|[^'])*(?='|$)",name:"comment.line.number-sign.sql",captures:{"1":{name:"punctuation.definition.comment.sql"}}},{match:"(--)(\\\\'|[^'])*(?='|$)",name:"comment.line.double-dash.sql",captures:{"1":{name:"punctuation.definition.comment.sql"}}},{match:"\\\\[\\\\'`\"]",name:"constant.character.escape.php"},{match:"`(?=((\\\\`)|[^`'])*('|$))",name:"string.quoted.other.backtick.unclosed.sql"},{match:"\"(?=((\\\\\")|[^\"'])*('|$))",name:"string.quoted.double.unclosed.sql"},{include:"source.sql"}]},"string-backtick":{begin:"`",beginCaptures:{"0":{name:"punctuation.definition.string.begin.php"}},end:"`",endCaptures:{"0":{name:"punctuation.definition.string.end.php"}},name:"string.interpolated.php",patterns:[{match:"\\\\`",name:"constant.character.escape.php"},{include:"#interpolation"}]},"string-double-quoted":{begin:"\"",beginCaptures:{"0":{name:"punctuation.definition.string.begin.php"}},end:"\"",endCaptures:{"0":{name:"punctuation.definition.string.end.php"}},name:"string.quoted.double.php",patterns:[{include:"#interpolation_double_quoted"}]},"string-single-quoted":{begin:"'",beginCaptures:{"0":{name:"punctuation.definition.string.begin.php"}},end:"'",endCaptures:{"0":{name:"punctuation.definition.string.end.php"}},name:"string.quoted.single.php",patterns:[{match:"\\\\[\\\\']",name:"constant.character.escape.php"}]},strings:{patterns:[{include:"#regex-double-quoted"},{include:"#sql-string-double-quoted"},{include:"#string-double-quoted"},{include:"#regex-single-quoted"},{include:"#sql-string-single-quoted"},{include:"#string-single-quoted"}]},support:{patterns:[{match:"(?xi)\n\\b\napc_(\n store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|\n exists|fetch|load_constants|add|bin_(dump|load)(file)?\n)\\b",name:"support.function.apc.php"},{match:"(?xi)\\b\n(\n shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|\n pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|\n array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|\n (diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|\n pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|\n reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?)\n)\\b",name:"support.function.array.php"},{match:"(?xi)\\b\n(\n show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|\n time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|\n php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser\n)\\b",name:"support.function.basic_functions.php"},{match:"(?i)\\bbc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul)\\b",name:"support.function.bcmath.php"},{match:"(?i)\\bblenc_encrypt\\b",name:"support.function.blenc.php"},{match:"(?i)\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\b",name:"support.function.bz2.php"},{match:"(?xi)\\b\n(\n (French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|\n jdto(unix|jewish)|easter_(date|days)|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek)\n)\\b",name:"support.function.calendar.php"},{match:"(?xi)\\b\n(\n class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|\n get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits))\n)\\b",name:"support.function.classobj.php"},{match:"(?xi)\\b\n(\n com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|\n variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|\n pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul)\n)\\b",name:"support.function.com.php"},{match:"(?i)\\b(isset|unset|eval|empty|list)\\b",name:"support.function.construct.php"},{match:"(?i)\\b(print|echo)\\b",name:"support.function.construct.output.php"},{match:"(?i)\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\b",name:"support.function.ctype.php"},{match:"(?xi)\\b\ncurl_(\n share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|\n errno|error|exec|version|file_create|reset|getinfo|\n multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec)\n)\\b",name:"support.function.curl.php"},{match:"(?xi)\\b\n(\n strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|\n timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|\n date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_(get|set)|timezone_(get|set)|time_set|\n isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_(get|set)|date_set|\n parse(_from_format)?|format|add|get_last_errors|modify))?|\n localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime\n)\\b",name:"support.function.datetime.php"},{match:"(?i)\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\b",name:"support.function.dba.php"},{match:"(?i)\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\b",name:"support.function.dbx.php"},{match:"(?i)\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\b",name:"support.function.dir.php"},{match:"(?xi)\\b\neio_(\n sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|\n seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|\n event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|\n read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy\n)\\b",name:"support.function.eio.php"},{match:"(?xi)\\b\nenchant_(\n dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|\n broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error)\n)\\b",name:"support.function.enchant.php"},{match:"(?i)\\b(split(i)?|sql_regcase|ereg(i)?(_replace)?)\\b",name:"support.function.ereg.php"},{match:"(?i)\\b((restore|set)_(error_handler|exception_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))\\b",name:"support.function.errorfunc.php"},{match:"(?i)\\b(shell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec)\\b",name:"support.function.exec.php"},{match:"(?i)\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\b",name:"support.function.exif.php"},{match:"(?xi)\\b\nfann_(\n (duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|(input|output)(_train_data)?)|\n set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|\n cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|\n output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|\n (max|min)_(cand|out)_epochs)|\n callback|training_algorithm|train_(error|stop)_function|(input|output)_scaling_params|error_log|\n quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|\n activation_(function|steepness)(_(hidden|layer|output))?|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))|\n save(_train)?|num_(input|output)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|\n create_((sparse|shortcut|standard)(_array)?|train(_from_callback)?|from_file)|\n test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|\n print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|\n get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|\n network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|\n cascade_(num_(candidates|candidate_groups)|(candidate|output)_(change_fraction|limit|stagnation_epochs)|\n weight_multiplier|activation_(functions|steepnesses)(_count)?|(max|min)_(cand|out)_epochs)|\n total_(connections|neurons)|training_algorithm|train_(error|stop)_function|err(no|str)|\n quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))\n)\\b",name:"support.function.fann.php"},{match:"(?xi)\\b\n(\n symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|\n is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|\n dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|\n fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|\n f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|\n rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename\n)\\b",name:"support.function.file.php"},{match:"(?i)\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\b",name:"support.function.fileinfo.php"},{match:"(?i)\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\b",name:"support.function.filter.php"},{match:"(?i)\\bfastcgi_finish_request\\b",name:"support.function.fpm.php"},{match:"(?i)\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\b",name:"support.function.funchand.php"},{match:"(?i)\\b((n)?gettext|textdomain|d((n)?gettext|c(n)?gettext)|bind(textdomain|_textdomain_codeset))\\b",name:"support.function.gettext.php"},{match:"(?xi)\\b\ngmp_(\n scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|\n intval|init|invert|import|or|div(exact)?|div_(q|qr|r)|jacobi|popcount|pow(m)?|perfect_square|\n prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul\n)\\b",name:"support.function.gmp.php"},{match:"(?i)\\bhash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?\\b",name:"support.function.hash.php"},{match:"(?xi)\\b\n(\n http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|\n negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|\n inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|\n parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|\n get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|\n ob_(etag|deflate|inflate)handler\n)\\b",name:"support.function.http.php"},{match:"(?i)\\b(iconv(_(str(pos|len|rpos)|substr|(get|set)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\b",name:"support.function.iconv.php"},{match:"(?i)\\biis_((start|stop)_(service|server)|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\b",name:"support.function.iisfunc.php"},{match:"(?xi)\\b\n(\n iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|\n image(s[xy]|scale|(char|string)(up)?|set(style|thickness|tile|interpolation|pixel|brush)|savealpha|\n convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|\n color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|\n crop(auto)?|create(truecolor|from(string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|xpm|xbm))?|\n types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|\n _type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|\n palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|\n filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|\n antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd(2)?|gammacorrect|\n grab(screen|window)|xbm)\n)\\b",name:"support.function.image.php"},{match:"(?xi)\\b\n(\n sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_(get|set)_process_title|\n ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|\n php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|\n assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|\n get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|\n magic_quotes_(gpc|runtime)|required_files|resources)|\n get(env|lastmod|rusage|my(inode|[gup]id))|\n memory_get_(peak_)?usage|main|magic_quotes_runtime\n)\\b",name:"support.function.info.php"},{match:"(?xi)\\b\nibase_(\n set_event_handler|service_(attach|detach)|server_info|num_(fields|params)|name_result|connect|\n commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|\n execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|\n add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|\n blob_(cancel|close|create|import|info|open|echo|add|get)\n)\\b",name:"support.function.interbase.php"},{match:"(?xi)\\b\n(\n normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|\n numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|\n get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|\n collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|\n get_(strength|sort_key|error_(code|message)|locale|attribute))|\n transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|\n intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|\n datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|\n get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|\n locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|\n get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|\n resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|\n grapheme_(str(i?str|r?i?pos|len)|substr|extract)|\n msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale))\n)\\b",name:"support.function.intl.php"},{match:"(?i)\\bjson_(decode|encode|last_error(_msg)?)\\b",name:"support.function.json.php"},{match:"(?xi)\\b\nldap_(\n start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|\n connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|\n dn2ufn|delete|unbind|parse_(reference|result)|escape|errno|err2str|error|explode_dn|bind|\n free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|\n mod_(add|del|replace)\n)\\b",name:"support.function.ldap.php"},{match:"(?i)\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\b",name:"support.function.libxml.php"},{match:"(?i)\\b(ezmlm_hash|mail)\\b",name:"support.function.mail.php"},{match:"(?xi)\\b\n(\n (a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|\n pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1(p|0))?|atan2|abs|round|rand|rad2deg|getrandmax|\n mt_(srand|rand|getrandmax)|max|min|bindec|base_convert\n)\\b",name:"support.function.math.php"},{match:"(?xi)\\b\nmb_(\n str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|\n substitute_character|substr(_count)?|split|send_mail|http_(input|output)|check_encoding|\n convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|\n detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|\n ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|\n list_encodings|language|regex_(set_options|encoding)|get_info\n)\\b",name:"support.function.mbstring.php"},{match:"(?xi)\\b\n(\n mcrypt_(\n cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|\n enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|\n get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|\n get_(cipher_name|(block|iv|key)_size)|\n module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|\n get_(supported_key_sizes|algo_(block|key)_size)))|\n mdecrypt_generic\n)\\b",name:"support.function.mcrypt.php"},{match:"(?i)\\bmemcache_debug\\b",name:"support.function.memcache.php"},{match:"(?i)\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\b",name:"support.function.mhash.php"},{match:"(?i)\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_(decode|encode))\\b",name:"support.function.mongo.php"},{match:"(?xi)\\b\nmysql_(\n stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|\n thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|\n errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|\n free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|\n get_(client|host|proto|server)_info\n)\\b",name:"support.function.mysql.php"},{match:"(?xi)\\b\nmysqli_(\n ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|\n stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|\n attr_(get|set)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|\n select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|\n client_encoding|close|thread_safe|init|options|(enable|disable)_(reads_from_master|rpl_parse)|\n dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|\n embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|\n fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|\n release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|\n get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|\n master_query|bind_(param|result)|begin_transaction\n)\\b",name:"support.function.mysqli.php"},{match:"(?i)\\bmysqlnd_memcache_(set|get_config)\\b",name:"support.function.mysqlnd-memcache.php"},{match:"(?i)\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\b",name:"support.function.mysqlnd-ms.php"},{match:"(?i)\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\b",name:"support.function.mysqlnd-qc.php"},{match:"(?i)\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\b",name:"support.function.mysqlnd-uh.php"},{match:"(?xi)\\b\n(\n syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|\n headers_(list|sent)|header(_(register_callback|remove))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|\n openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|\n get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(name|number)|mxrr)\n)\\b",name:"support.function.network.php"},{match:"(?i)\\bnsapi_(virtual|response_headers|request_headers)\\b",name:"support.function.nsapi.php"},{match:"(?xi)\\b\n(\n oci(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|\n column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|\n closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|\n free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(on|off)|rowcount|rollback|\n result|bindbyname)|\n oci_(statement_type|set_(client_(info|identifier)|prefetch|edition|action|module_name)|server_version|\n num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|\n internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|\n field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|\n free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)\n)\\b",name:"support.function.oci8.php"},{match:"(?i)\\bopcache_(compile_file|invalidate|reset|get_(status|configuration))\\b",name:"support.function.opcache.php"},{match:"(?xi)\\b\nopenssl_(\n sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|\n cipher_iv_length|open|dh_compute_key|digest|decrypt|public_(decrypt|encrypt)|encrypt|error_string|\n pkcs12_(export(_to_file)?|read)|pkcs7_(sign|decrypt|encrypt|verify)|verify|free_key|random_pseudo_bytes|\n pkey_(new|export(_to_file)?|free|get_(details|public|private))|private_(decrypt|encrypt)|pbkdf2|\n get_((cipher|md)_methods|cert_locations|(public|private)key)|\n x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read)\n)\\b",name:"support.function.openssl.php"},{match:"(?xi)\\b\n(\n output_(add_rewrite_var|reset_rewrite_vars)|flush|\n ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|\n get_(status|contents|clean|flush|length|level))\n)\\b",name:"support.function.output.php"},{match:"(?i)\\bpassword_(hash|needs_rehash|verify|get_info)\\b",name:"support.function.password.php"},{match:"(?xi)\\b\npcntl_(\n strerror|signal(_dispatch)?|sig(timedwait|procmask|waitinfo)|setpriority|errno|exec|fork|\n w(stopsig|termsig|if(stopped|signaled|exited))|wait(pid)?|alarm|getpriority|get_last_error\n)\\b",name:"support.function.pcntl.php"},{match:"(?xi)\\b\npg_(\n socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|\n num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|\n client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|\n unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|\n escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|\n field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|\n fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|\n lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|\n)\\b",name:"support.function.pgsql.php"},{match:"(?i)\\b(virtual|getallheaders|apache_((get|set)env|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\b",name:"support.function.php_apache.php"},{match:"(?i)\\bdom_import_simplexml\\b",name:"support.function.php_dom.php"},{match:"(?xi)\\b\nftp_(\n ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|\n delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir\n)\\b",name:"support.function.php_ftp.php"},{match:"(?xi)\\b\nimap_(\n (create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|\n num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|\n 8bit|unsubscribe|undelete|utf7_(decode|encode)|utf8|uid|ping|errors|expunge|qprint|gc|\n fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(scan|subscribed)|last_error|\n rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|\n msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64\n)\\b",name:"support.function.php_imap.php"},{match:"(?xi)\\b\nmssql_(\n select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|\n field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|\n rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind\n)\\b",name:"support.function.php_mssql.php"},{match:"(?xi)\\b\nodbc_(\n statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|\n cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|\n prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|\n fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode\n)\\b",name:"support.function.php_odbc.php"},{match:"(?i)\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\b",name:"support.function.php_pcre.php"},{match:"(?i)\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\b",name:"support.function.php_spl.php"},{match:"(?i)\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\b",name:"support.function.php_zip.php"},{match:"(?xi)\\b\nposix_(\n strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|\n get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|\n get_last_error|mknod|mkfifo\n)\\b",name:"support.function.posix.php"},{match:"(?i)\\bset(thread|proc)title\\b",name:"support.function.proctitle.php"},{match:"(?xi)\\b\npspell_(\n store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|\n config_(save_repl|create|ignore|(data|dict)_dir|personal|runtogether|repl|mode)|add_to_(session|personal)\n)\\b",name:"support.function.pspell.php"},{match:"(?i)\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\b",name:"support.function.readline.php"},{match:"(?i)\\brecode(_(string|file))?\\b",name:"support.function.recode.php"},{match:"(?i)\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\b",name:"support.function.rrd.php"},{match:"(?xi)\\b\n(\n shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|\n msg_((get|remove|set|stat)_queue|send|queue_exists|receive)\n)\\b",name:"support.function.sem.php"},{match:"(?xi)\\b\nsession_(\n status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|\n is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|\n regenerate_id|get_cookie_params|module_name\n)\\b",name:"support.function.session.php"},{match:"(?i)\\bshmop_(size|close|open|delete|write|read)\\b",name:"support.function.shmop.php"},{match:"(?i)\\bsimplexml_(import_dom|load_(string|file))\\b",name:"support.function.simplexml.php"},{match:"(?xi)\\b\n(\n snmp(walk(oid)?|realwalk|get(next)?|set)|\n snmp_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|\n get_(valueretrieval|quick_print))|\n snmp[23]_(set|walk|real_walk|get(next)?)\n)\\b",name:"support.function.snmp.php"},{match:"(?i)\\b(is_soap_fault|use_soap_error_handler)\\b",name:"support.function.soap.php"},{match:"(?xi)\\b\nsocket_(\n shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|\n create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|\n read|get(peer|sock)name|get_option\n)\\b",name:"support.function.sockets.php"},{match:"(?xi)\\b\nsqlite_(\n single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|\n create_(aggregate|function)|open|unbuffered_query|udf_(decode|encode)_binary|popen|prev|\n escape_string|error_string|exec|valid|key|query|field_name|factory|\n fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|\n last_(insert_rowid|error)|array_query|rewind|busy_timeout\n)\\b",name:"support.function.sqlite.php"},{match:"(?xi)\\b\nsqlsrv_(\n send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|\n client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|\n free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction\n)\\b",name:"support.function.sqlsrv.php"},{match:"(?xi)\\b\nstats_(\n harmonic_mean|covariance|standard_deviation|skew|\n cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|\n logistic|laplace|gamma|binomial|beta)|\n stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|\n dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|\n weibull|logistic|laplace|gamma|beta)|\n den_uniform|variance|kurtosis|absolute_deviation|\n rand_(setall|phrase_to_seeds|ranf|get_seeds|\n gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|\n i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta))\n)\\b",name:"support.function.stats.php"},{match:"(?xi)\\b\n(\n set_socket_blocking|\n stream_(socket_(shutdown|sendto|server|client|pair|enable_crypto|accept|recvfrom|get_name)|\n set_(chunk_size|timeout|(read|write)_buffer|blocking)|select|notification_callback|supports_lock|\n context_(set_(option|default|params)|create|get_(options|default|params))|copy_to_stream|is_local|\n encoding|filter_(append|prepend|register|remove)|wrapper_((un)?register|restore)|\n resolve_include_path|register_wrapper|get_(contents|transports|filters|wrappers|line|meta_data)|\n bucket_(new|prepend|append|make_writeable)\n )\n)\\b",name:"support.function.streamsfuncs.php"},{match:"(?xi)\\b\n(\n money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|\n str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|\n str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|\n strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|\n html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|\n chop|chunk_split|chr|convert_(cyr_string|uu(decode|encode))|count_chars|crypt|crc32|trim|implode|ord|\n uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_(decode|encode)|\n quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table\n)\\b",name:"support.function.string.php"},{match:"(?xi)\\b\nsybase_(\n set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|\n unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|\n affected_rows|result|get_last_message|min_(client|error|message|server)_severity\n)\\b",name:"support.function.sybase.php"},{match:"(?i)\\b(taint|is_tainted|untaint)\\b",name:"support.function.taint.php"},{match:"(?xi)\\b\n(\n tidy_((get|set)opt|set_encoding|save_config|config_count|clean_repair|is_(xhtml|xml)|diagnose|\n (access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|\n get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|\n ob_tidyhandler\n)\\b",name:"support.function.tidy.php"},{match:"(?i)\\btoken_(name|get_all)\\b",name:"support.function.tokenizer.php"},{match:"(?xi)\\b\ntrader_(\n stoch(f|r|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|\n ht_(sine|trend(line|mode)|dc(period|phase)|phasor)|natr|cci|cos(h)?|correl|\n cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|\n hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|\n counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|\n identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|\n upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|\n piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|\n ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|\n gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|\n belthold|breakaway)|\n ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|\n plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|\n linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|ad|add|adx(r)?|apo|avgprice|\n aroon(osc)?|rsi|roc|rocp|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|\n minmax(index)?|mid(point|price)|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?\n)\\b",name:"support.function.trader.php"},{match:"(?i)\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\b",name:"support.function.uopz.php"},{match:"(?i)\\b(http_build_query|(raw)?url(decode|encode)|parse_url|get_(headers|meta_tags)|base64_(decode|encode))\\b",name:"support.function.url.php"},{match:"(?xi)\\b\n(\n strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|\n is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|\n unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type)\n)\\b",name:"support.function.var.php"},{match:"(?i)\\bwddx_(serialize_(value|vars)|deserialize|packet_(start|end)|add_vars)\\b",name:"support.function.wddx.php"},{match:"(?i)\\bxhprof_(sample_)?(disable|enable)\\b",name:"support.function.xhprof.php"},{match:"(?xi)\n\\b\n(\n utf8_(decode|encode)|\n xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|\n (character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|\n parse(_into_struct)?|parser_((get|set)_option|create(_ns)?|free)|error_string|\n get_(current_((column|line)_number|byte_index)|error_code))\n)\\b",name:"support.function.xml.php"},{match:"(?xi)\\b\nxmlrpc_(\n server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|\n is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|(get|set)_type\n)\\b",name:"support.function.xmlrpc.php"},{match:"(?xi)\\b\nxmlwriter_(\n (end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|\n (start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|\n full_end_element|flush|\n)\\b",name:"support.function.xmlwriter.php"},{match:"(?xi)\\b\n(\n zlib_(decode|encode|get_coding_type)|readgzfile|\n gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|\n write|rewind|read|getc|getss?)\n)\\b",name:"support.function.zlib.php"},{match:"(?i)\\bis_int(eger)?\\b",name:"support.function.alias.php"}]},switch_statement:{patterns:[{match:"\\s+(?=switch\\b)"},{begin:"\\bswitch\\b(?!\\s*\\(.*\\)\\s*:)",beginCaptures:{"0":{name:"keyword.control.switch.php"}},end:"}|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.section.switch-block.end.bracket.curly.php"}},name:"meta.switch-statement.php",patterns:[{begin:"\\(",beginCaptures:{"0":{name:"punctuation.definition.switch-expression.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.switch-expression.end.bracket.round.php"}},patterns:[{include:"$self"}]},{begin:"{",beginCaptures:{"0":{name:"punctuation.definition.section.switch-block.begin.bracket.curly.php"}},end:"(?=}|\\?>)",patterns:[{include:"$self"}]}]}]},match_statement:{patterns:[{match:"\\s+(?=match\\b)"},{begin:"\\bmatch\\b",beginCaptures:{"0":{name:"keyword.control.match.php"}},end:"}|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.section.match-block.end.bracket.curly.php"}},name:"meta.match-statement.php",patterns:[{begin:"\\(",beginCaptures:{"0":{name:"punctuation.definition.match-expression.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{"0":{name:"punctuation.definition.match-expression.end.bracket.round.php"}},patterns:[{include:"$self"}]},{begin:"{",beginCaptures:{"0":{name:"punctuation.definition.section.match-block.begin.bracket.curly.php"}},end:"(?=}|\\?>)",patterns:[{match:"=>",name:"keyword.definition.arrow.php"},{include:"$self"}]}]}]},"use-inner":{patterns:[{include:"#comments"},{begin:"(?i)\\b(as)\\s+",beginCaptures:{"1":{name:"keyword.other.use-as.php"}},end:"(?i)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*",endCaptures:{"0":{name:"entity.other.alias.php"}}},{include:"#class-name"},{match:",",name:"punctuation.separator.delimiter.php"}]},var_basic:{patterns:[{match:"(?i)(\\$+)[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*",name:"variable.other.php",captures:{"1":{name:"punctuation.definition.variable.php"}}}]},var_global:{captures:{"1":{name:"punctuation.definition.variable.php"}},match:"(\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg(v|c))\\b",name:"variable.other.global.php"},var_global_safer:{captures:{"1":{name:"punctuation.definition.variable.php"}},match:"(\\$)((GLOBALS|_(ENV|SERVER|SESSION)))",name:"variable.other.global.safer.php"},var_language:{match:"(\\$)this\\b",name:"variable.language.this.php",captures:{"1":{name:"punctuation.definition.variable.php"}}},"variable-name":{patterns:[{include:"#var_global"},{include:"#var_global_safer"},{captures:{"1":{name:"variable.other.php"},"2":{name:"punctuation.definition.variable.php"},"4":{name:"keyword.operator.class.php"},"5":{name:"variable.other.property.php"},"6":{name:"punctuation.section.array.begin.php"},"7":{name:"constant.numeric.index.php"},"8":{name:"variable.other.index.php"},"9":{name:"punctuation.definition.variable.php"},"10":{name:"string.unquoted.index.php"},"11":{name:"punctuation.section.array.end.php"}},match:"(?xi)\n((\\$)(?<name>[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*))\\s*\n(?:\n (\\??->)\\s*(\\g<name>)\n |\n (\\[)(?:(\\d+)|((\\$)\\g<name>)|([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*))(\\])\n)?"},{captures:{"1":{name:"variable.other.php"},"2":{name:"punctuation.definition.variable.php"},"4":{name:"punctuation.definition.variable.php"}},match:"(?i)((\\${)(?<name>[a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)(}))"}]},variables:{patterns:[{include:"#var_language"},{include:"#var_global"},{include:"#var_global_safer"},{include:"#var_basic"},{begin:"\\${(?=.*?})",beginCaptures:{"0":{name:"punctuation.definition.variable.php"}},end:"}",endCaptures:{"0":{name:"punctuation.definition.variable.php"}},patterns:[{include:"$self"}]}]},ternary_shorthand:{match:"\\?:",name:"keyword.operator.ternary.php"},ternary_expression:{begin:"\\?",beginCaptures:{"0":{name:"keyword.operator.ternary.php"}},end:"(?<!:):(?!:)",endCaptures:{"0":{name:"keyword.operator.ternary.php"}},patterns:[{match:"(?i)^\\s*([a-z_\\x{7f}-\\x{10ffff}][a-z0-9_\\x{7f}-\\x{10ffff}]*)\\s*(?=:(?!:))",captures:{"1":{patterns:[{include:"$self"}]}}},{include:"$self"}]},null_coalescing:{match:"\\?\\?",name:"keyword.operator.null-coalescing.php"}};var php_tmLanguage = {information_for_contributors:information_for_contributors,version:version,scopeName:scopeName,patterns:patterns,repository:repository};
|
|
6
6
|
|
|
7
|
-
exports
|
|
7
|
+
exports.default = php_tmLanguage;
|
|
8
8
|
exports.information_for_contributors = information_for_contributors;
|
|
9
9
|
exports.patterns = patterns;
|
|
10
10
|
exports.repository = repository;
|