@elice/material-exercise 1.240718.0-trasncript.1 → 1.240718.0-trasncript.2
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/_virtual/_rollupPluginBabelHelpers.js +519 -0
- package/cjs/assets/empty.png.js +1 -2
- package/cjs/components/index.js +25 -0
- package/cjs/components/locales/index.js +13 -0
- package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
- package/cjs/components/material-exercise/MaterialExercise.js +111 -75
- package/cjs/components/material-exercise/MaterialExercise.styled.js +18 -14
- package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
- package/cjs/components/material-exercise/MaterialExerciseMobile.js +17 -7
- package/cjs/components/material-exercise/context/ExerciseProvider.js +68 -58
- package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +39 -30
- package/cjs/components/material-exercise/context/context.js +5 -1
- package/cjs/components/material-exercise/context/index.js +57 -0
- package/cjs/components/material-exercise/context/recoil.js +542 -293
- package/cjs/components/material-exercise/context/subjects.js +4 -4
- package/cjs/components/material-exercise/context/types.d.ts +2 -2
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +100 -78
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +12 -8
- package/cjs/components/material-exercise/exercise-code-history/index.js +7 -0
- package/cjs/components/material-exercise/exercise-code-history/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +30 -27
- package/cjs/components/material-exercise/exercise-file/index.js +7 -0
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +225 -149
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +20 -13
- package/cjs/components/material-exercise/exercise-file-editor/index.js +7 -0
- package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +49 -29
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +1 -2
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +10 -4
- package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +53 -36
- package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +7 -0
- package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-file-tabs/index.js +9 -0
- package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +353 -211
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +1 -2
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +10 -4
- package/cjs/components/material-exercise/exercise-file-tree/index.js +9 -0
- package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +18 -15
- package/cjs/components/material-exercise/exercise-file-viewer/index.js +7 -0
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +21 -12
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +12 -11
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +123 -80
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +100 -67
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +40 -22
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +144 -119
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +17 -13
- package/cjs/components/material-exercise/exercise-menu/index.js +7 -0
- package/cjs/components/material-exercise/exercise-menu/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +32 -19
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +1 -2
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +10 -4
- package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +9 -0
- package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +31 -24
- package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -6
- package/cjs/components/material-exercise/exercise-preview/index.js +7 -0
- package/cjs/components/material-exercise/exercise-preview/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +51 -35
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +14 -6
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +90 -78
- package/cjs/components/material-exercise/exercise-rightpane/index.js +7 -0
- package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +25 -12
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +18 -12
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +504 -349
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +197 -132
- package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
- package/cjs/components/material-exercise/exercise-room/helpers/index.js +7 -0
- package/cjs/components/material-exercise/exercise-room/index.js +7 -0
- package/cjs/components/material-exercise/exercise-room/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +205 -142
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +5 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +25 -16
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +118 -86
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +33 -19
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +95 -82
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +68 -52
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +136 -87
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +6 -2
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +21 -15
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +36 -23
- package/cjs/components/material-exercise/exercise-runner/index.js +7 -0
- package/cjs/components/material-exercise/exercise-runner/locales/index.js +13 -0
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +402 -248
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +12 -8
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +74 -50
- package/cjs/components/material-exercise/exercise-submit-history/index.js +7 -0
- package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +13 -0
- package/cjs/components/material-exercise/index.js +9 -0
- package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +32 -23
- package/cjs/components/shared/exercise-menu-button/index.js +7 -0
- package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +44 -38
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +26 -20
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +14 -8
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +28 -22
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +24 -9
- package/cjs/components/shared/exercise-shimmer/index.js +15 -0
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +6 -5
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +5 -1
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +13 -5
- package/cjs/components/shared/exercise-version-list/index.js +9 -0
- package/cjs/components/shared/file-icon/FileIcon.js +23 -16
- package/cjs/components/shared/file-icon/index.js +7 -0
- package/cjs/components/shared/file-tabs/FileTab.js +47 -33
- package/cjs/components/shared/file-tabs/FileTab.styled.js +23 -15
- package/cjs/components/shared/file-tabs/FileTabs.js +66 -39
- package/cjs/components/shared/file-tabs/FileTabs.styled.js +6 -2
- package/cjs/components/shared/file-tabs/index.js +7 -0
- package/cjs/components/shared/file-tabs/util.js +27 -14
- package/cjs/components/shared/file-tree/FileTree.js +20 -10
- package/cjs/components/shared/file-tree/FileTreeConfig.js +46 -40
- package/cjs/components/shared/file-tree/FileTreeList.js +43 -40
- package/cjs/components/shared/file-tree/FileTreeListItemContent.js +128 -99
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -21
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +106 -96
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +10 -6
- package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +133 -91
- package/cjs/components/shared/file-tree/FileTreeListItems.js +149 -137
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +6 -2
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +5 -1
- package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
- package/cjs/components/shared/file-tree/context/FileTreeContext.js +101 -79
- package/cjs/components/shared/file-tree/context/index.js +9 -0
- package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +59 -54
- package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +7 -0
- package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +13 -0
- package/cjs/components/shared/file-tree/index.js +7 -0
- package/cjs/components/shared/file-tree/locales/index.js +13 -0
- package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +24 -20
- package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -146
- package/cjs/components/shared/file-tree/utils/fileTreeInput.js +11 -0
- package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
- package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -6
- package/cjs/components/shared/file-tree/utils/index.js +20 -0
- package/cjs/components/shared/file-viewer/FileViewer.js +76 -46
- package/cjs/components/shared/file-viewer/FileViewerCsv.js +262 -167
- package/cjs/components/shared/file-viewer/FileViewerImage.js +16 -12
- package/cjs/components/shared/file-viewer/FileViewerIpynb.js +27 -11
- package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +65 -47
- package/cjs/components/shared/file-viewer/FileViewerText.js +23 -11
- package/cjs/components/shared/file-viewer/index.js +7 -0
- package/cjs/components/shared/file-viewer/locales/index.js +21 -0
- package/cjs/components/shared/material-modal/MaterialModal.js +20 -11
- package/cjs/components/shared/material-modal/MaterialModal.styled.js +9 -5
- package/cjs/components/shared/material-modal/index.js +7 -0
- package/cjs/components/shared/monaco-editor/MonacoEditor.js +102 -74
- package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +15 -7
- package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -34
- package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +249 -194
- package/cjs/components/shared/monaco-editor/constants/grammars/index.js +82 -28
- package/cjs/components/shared/monaco-editor/constants/index.js +13 -0
- package/cjs/components/shared/monaco-editor/constants/monaco/index.js +11 -0
- package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
- package/cjs/components/shared/monaco-editor/constants/themes/index.js +49 -17
- package/cjs/components/shared/monaco-editor/editor-hooks/index.js +17 -0
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +11 -10
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +15 -14
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +9 -8
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +34 -30
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +9 -7
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
- package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -10
- package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +3 -2
- package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -10
- package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -2
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +11 -0
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +37 -10
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +6 -5
- package/cjs/components/shared/monaco-editor/hooks/index.js +7 -0
- package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +11 -5
- package/cjs/components/shared/monaco-editor/index.js +21 -0
- package/cjs/components/shared/monaco-editor/locales/index.js +13 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +10 -12
- package/cjs/components/shared/monaco-editor/utils/emmet/index.js +9 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -6
- package/cjs/components/shared/monaco-editor/utils/grammar/index.js +67 -24
- package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -6
- package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +70 -37
- package/cjs/components/shared/monaco-editor/utils/index.js +9 -0
- package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +8 -7
- package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -4
- package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
- package/cjs/components/shared/monaco-editor/utils/prettier/index.js +27 -7
- package/cjs/components/shared/monaco-editor/utils/theme/convert.js +24 -14
- package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -3
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -56
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -68
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +120 -93
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +155 -132
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -92
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +12 -0
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -6
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +177 -158
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +11 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
- package/cjs/components/shared/no-vnc/NoVnc.js +118 -78
- package/cjs/components/shared/no-vnc/NoVncLazy.js +15 -7
- package/cjs/components/shared/no-vnc/index.js +7 -0
- package/cjs/components/shared/preview-container/PreviewContainer.js +18 -13
- package/cjs/components/shared/preview-container/index.js +9 -0
- package/cjs/components/shared/web-browser/WebBrowser.js +74 -52
- package/cjs/components/shared/web-browser/index.js +7 -0
- package/cjs/components/shared/xterm/Xterm.js +82 -57
- package/cjs/components/shared/xterm/XtermLazy.js +15 -7
- package/cjs/components/shared/xterm/index.js +7 -0
- package/cjs/components/shared/xterm/locales/index.js +13 -0
- package/cjs/constants/arduino.js +10 -10
- package/cjs/constants/color.js +1 -1
- package/cjs/constants/index.js +7 -0
- package/cjs/constants/shortcutKeyMap.js +3 -1
- package/cjs/constants/stylesheets.js +7 -5
- package/cjs/hooks/index.js +20 -0
- package/cjs/hooks/useArduino.js +282 -141
- package/cjs/hooks/useExerciseFile.js +24 -22
- package/cjs/hooks/useExericseShortcut.js +6 -4
- package/cjs/hooks/useMaterialExerciseFileUrl.js +55 -33
- package/cjs/hooks/useRunnerRoomWebSocket.js +51 -27
- package/cjs/hooks/useStdioTextConcator.js +15 -11
- package/cjs/hooks/useStdioWebSocket.js +32 -28
- package/cjs/hooks/useUsercodeEditWebSocket.js +238 -158
- package/cjs/hooks/useUsercodeHistory.js +115 -63
- package/cjs/utils/arduino.js +23 -11
- package/cjs/utils/exerciseFile.js +8 -10
- package/cjs/utils/index.js +10 -0
- package/cjs/utils/runner.js +33 -17
- package/es/_virtual/_rollupPluginBabelHelpers.js +499 -0
- package/es/assets/empty.png.js +1 -2
- package/es/components/index.js +8 -0
- package/es/components/locales/index.js +4 -0
- package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
- package/es/components/material-exercise/MaterialExercise.js +107 -75
- package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
- package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
- package/es/components/material-exercise/MaterialExerciseMobile.js +13 -7
- package/es/components/material-exercise/context/ExerciseProvider.js +63 -58
- package/es/components/material-exercise/context/ExerciseProviderNoImage.js +35 -30
- package/es/components/material-exercise/context/context.js +1 -1
- package/es/components/material-exercise/context/index.js +5 -0
- package/es/components/material-exercise/context/recoil.js +535 -290
- package/es/components/material-exercise/context/subjects.js +4 -4
- package/es/components/material-exercise/context/types.d.ts +2 -2
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +95 -78
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
- package/es/components/material-exercise/exercise-code-history/index.js +1 -0
- package/es/components/material-exercise/exercise-code-history/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-file/ExerciseFile.js +25 -27
- package/es/components/material-exercise/exercise-file/index.js +1 -0
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +221 -149
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +15 -13
- package/es/components/material-exercise/exercise-file-editor/index.js +1 -0
- package/es/components/material-exercise/exercise-file-editor/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +44 -29
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +1 -2
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
- package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +48 -36
- package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +1 -0
- package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-file-tabs/index.js +2 -0
- package/es/components/material-exercise/exercise-file-tabs/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +348 -211
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +1 -2
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
- package/es/components/material-exercise/exercise-file-tree/index.js +2 -0
- package/es/components/material-exercise/exercise-file-tree/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +14 -15
- package/es/components/material-exercise/exercise-file-viewer/index.js +1 -0
- package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +16 -12
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +12 -11
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +119 -80
- package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +96 -67
- package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +41 -23
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +143 -122
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
- package/es/components/material-exercise/exercise-menu/index.js +1 -0
- package/es/components/material-exercise/exercise-menu/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -19
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +1 -2
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +6 -4
- package/es/components/material-exercise/exercise-multilang-dropdown/index.js +2 -0
- package/es/components/material-exercise/exercise-preview/ExercisePreview.js +26 -24
- package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +14 -7
- package/es/components/material-exercise/exercise-preview/index.js +1 -0
- package/es/components/material-exercise/exercise-preview/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +47 -35
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +10 -6
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +85 -78
- package/es/components/material-exercise/exercise-rightpane/index.js +1 -0
- package/es/components/material-exercise/exercise-rightpane/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-room/ExerciseRoom.js +21 -12
- package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
- package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +498 -349
- package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +193 -133
- package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
- package/es/components/material-exercise/exercise-room/helpers/index.js +1 -0
- package/es/components/material-exercise/exercise-room/index.js +1 -0
- package/es/components/material-exercise/exercise-room/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +200 -142
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +20 -16
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +112 -85
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +30 -20
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +90 -82
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +63 -52
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +131 -87
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +17 -15
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +31 -23
- package/es/components/material-exercise/exercise-runner/index.js +1 -0
- package/es/components/material-exercise/exercise-runner/locales/index.js +4 -0
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +399 -250
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +68 -49
- package/es/components/material-exercise/exercise-submit-history/index.js +1 -0
- package/es/components/material-exercise/exercise-submit-history/locales/index.js +4 -0
- package/es/components/material-exercise/index.js +2 -0
- package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +29 -24
- package/es/components/shared/exercise-menu-button/index.js +1 -0
- package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +40 -38
- package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +22 -20
- package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +10 -8
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +24 -22
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +19 -9
- package/es/components/shared/exercise-shimmer/index.js +5 -0
- package/es/components/shared/exercise-version-list/ExerciseVersionList.js +6 -5
- package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
- package/es/components/shared/exercise-version-list/index.js +2 -0
- package/es/components/shared/file-icon/FileIcon.js +19 -16
- package/es/components/shared/file-icon/index.js +1 -0
- package/es/components/shared/file-tabs/FileTab.js +43 -33
- package/es/components/shared/file-tabs/FileTab.styled.js +19 -15
- package/es/components/shared/file-tabs/FileTabs.js +62 -40
- package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
- package/es/components/shared/file-tabs/index.js +1 -0
- package/es/components/shared/file-tabs/util.js +27 -14
- package/es/components/shared/file-tree/FileTree.js +16 -10
- package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
- package/es/components/shared/file-tree/FileTreeList.js +38 -40
- package/es/components/shared/file-tree/FileTreeListItemContent.js +124 -99
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +25 -21
- package/es/components/shared/file-tree/FileTreeListItemContentInput.js +102 -96
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
- package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +129 -91
- package/es/components/shared/file-tree/FileTreeListItems.js +149 -137
- package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
- package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
- package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
- package/es/components/shared/file-tree/context/FileTreeContext.js +97 -79
- package/es/components/shared/file-tree/context/index.js +1 -0
- package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +55 -54
- package/es/components/shared/file-tree/file-tree-toolbar/index.js +1 -0
- package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +4 -0
- package/es/components/shared/file-tree/index.js +1 -0
- package/es/components/shared/file-tree/locales/index.js +4 -0
- package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
- package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -146
- package/es/components/shared/file-tree/utils/fileTreeInput.js +11 -1
- package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
- package/es/components/shared/file-tree/utils/fileTreePath.js +5 -6
- package/es/components/shared/file-tree/utils/index.js +5 -0
- package/es/components/shared/file-viewer/FileViewer.js +69 -46
- package/es/components/shared/file-viewer/FileViewerCsv.js +257 -167
- package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
- package/es/components/shared/file-viewer/FileViewerIpynb.js +21 -11
- package/es/components/shared/file-viewer/FileViewerNonViewable.js +60 -47
- package/es/components/shared/file-viewer/FileViewerText.js +19 -11
- package/es/components/shared/file-viewer/index.js +1 -0
- package/es/components/shared/file-viewer/locales/index.js +8 -0
- package/es/components/shared/material-modal/MaterialModal.js +20 -11
- package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
- package/es/components/shared/material-modal/index.js +1 -0
- package/es/components/shared/monaco-editor/MonacoEditor.js +95 -72
- package/es/components/shared/monaco-editor/MonacoEditorLazy.js +11 -7
- package/es/components/shared/monaco-editor/MonacoEditorMobile.js +43 -32
- package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +244 -194
- package/es/components/shared/monaco-editor/constants/grammars/index.js +82 -28
- package/es/components/shared/monaco-editor/constants/index.js +2 -0
- package/es/components/shared/monaco-editor/constants/monaco/index.js +1 -0
- package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
- package/es/components/shared/monaco-editor/constants/themes/index.js +49 -17
- package/es/components/shared/monaco-editor/editor-hooks/index.js +6 -0
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +11 -10
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +15 -14
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +9 -8
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +34 -30
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +9 -7
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
- package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -10
- package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -10
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +3 -0
- package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +37 -10
- package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
- package/es/components/shared/monaco-editor/hooks/index.js +1 -0
- package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +11 -5
- package/es/components/shared/monaco-editor/index.js +6 -0
- package/es/components/shared/monaco-editor/locales/index.js +4 -0
- package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +10 -12
- package/es/components/shared/monaco-editor/utils/emmet/index.js +1 -0
- package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -6
- package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -24
- package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -6
- package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -35
- package/es/components/shared/monaco-editor/utils/index.js +2 -0
- package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
- package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -4
- package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
- package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -7
- package/es/components/shared/monaco-editor/utils/theme/convert.js +19 -13
- package/es/components/shared/monaco-editor/utils/theme/index.js +22 -3
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -56
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -68
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +120 -93
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +152 -130
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -92
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +3 -0
- 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 +1 -6
- 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 +171 -156
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +2 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
- package/es/components/shared/no-vnc/NoVnc.js +99 -71
- package/es/components/shared/no-vnc/NoVncLazy.js +11 -7
- package/es/components/shared/no-vnc/index.js +1 -0
- package/es/components/shared/preview-container/PreviewContainer.js +15 -14
- package/es/components/shared/preview-container/index.js +1 -0
- package/es/components/shared/web-browser/WebBrowser.js +69 -52
- package/es/components/shared/web-browser/index.js +1 -0
- package/es/components/shared/xterm/Xterm.js +77 -57
- package/es/components/shared/xterm/XtermLazy.js +11 -7
- package/es/components/shared/xterm/index.js +1 -0
- package/es/components/shared/xterm/locales/index.js +4 -0
- package/es/constants/arduino.js +10 -10
- package/es/constants/color.js +1 -1
- package/es/constants/index.js +1 -0
- package/es/constants/shortcutKeyMap.js +3 -1
- package/es/constants/stylesheets.js +7 -5
- package/es/hooks/index.js +7 -0
- package/es/hooks/useArduino.js +278 -141
- package/es/hooks/useExerciseFile.js +24 -22
- package/es/hooks/useExericseShortcut.js +6 -4
- package/es/hooks/useMaterialExerciseFileUrl.js +52 -34
- package/es/hooks/useRunnerRoomWebSocket.js +51 -27
- package/es/hooks/useStdioTextConcator.js +11 -11
- package/es/hooks/useStdioWebSocket.js +32 -28
- package/es/hooks/useUsercodeEditWebSocket.js +232 -157
- package/es/hooks/useUsercodeHistory.js +115 -63
- package/es/utils/arduino.js +24 -12
- package/es/utils/exerciseFile.js +8 -10
- package/es/utils/index.js +2 -0
- package/es/utils/runner.js +33 -17
- package/package.json +11 -15
|
@@ -1,37 +1,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
|
|
3
4
|
var expand = require('emmet');
|
|
4
5
|
var data = require('./data.js');
|
|
5
6
|
var configCompat = require('./configCompat.js');
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* - project: https://github.com/microsoft/vscode-emmet-helper
|
|
12
|
-
* - codes: https://github.com/microsoft/vscode-emmet-helper/blob/e64481648451f0189216794979ce2ace82ee8148/src/emmetHelper.ts
|
|
13
|
-
* ==================================================================================================== */
|
|
14
|
-
/* istanbul ignore file */
|
|
15
|
-
/* tslint:disable */
|
|
16
|
-
/* eslint-disable */
|
|
8
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
9
|
+
|
|
10
|
+
var expand__default = /*#__PURE__*/_interopDefaultCompat(expand);
|
|
11
|
+
|
|
17
12
|
// /* workaround for webpack issue: https://github.com/webpack/webpack/issues/5756
|
|
18
13
|
// @emmetio/extract-abbreviation has a cjs that uses a default export
|
|
19
14
|
// */
|
|
20
15
|
// const extract = typeof _extractAbbreviation === 'function' ? _extractAbbreviation : _extractAbbreviation.default;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
var snippetKeyCache = new Map();
|
|
17
|
+
var markupSnippetKeys;
|
|
18
|
+
var stylesheetCustomSnippetsKeyCache = new Map();
|
|
19
|
+
var htmlAbbreviationStartRegex = /^[a-z,A-Z,!,(,[,#,\.\{]/;
|
|
25
20
|
// take off { for jsx because it interferes with the language
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
21
|
+
var jsxAbbreviationStartRegex = /^[a-z,A-Z,!,(,[,#,\.]/;
|
|
22
|
+
var cssAbbreviationRegex = /^-?[a-z,A-Z,!,@,#]/;
|
|
23
|
+
var htmlAbbreviationRegex = /[a-z,A-Z\.]/;
|
|
24
|
+
var commonlyUsedTags = [].concat(_rollupPluginBabelHelpers.toConsumableArray(data.htmlData.tags), ['lorem']);
|
|
25
|
+
var bemFilterSuffix = 'bem';
|
|
26
|
+
var filterDelimitor = '|';
|
|
27
|
+
var trimFilterSuffix = 't';
|
|
28
|
+
var commentFilterSuffix = 'c';
|
|
29
|
+
var maxFilters = 3;
|
|
35
30
|
/**
|
|
36
31
|
* Returns all applicable emmet expansions for abbreviation at given position in a CompletionList
|
|
37
32
|
*/
|
|
@@ -40,47 +35,45 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
40
35
|
if (emmetConfig.showExpandedAbbreviation === 'never' || !getEmmetMode(syntax, emmetConfig.excludeLanguages)) {
|
|
41
36
|
return;
|
|
42
37
|
}
|
|
43
|
-
|
|
38
|
+
var isStyleSheetRes = isStyleSheet(syntax);
|
|
44
39
|
// Fetch markupSnippets so that we can provide possible abbreviation completions
|
|
45
40
|
// For example, when text at position is `a`, completions should return `a:blank`, `a:link`, `acr` etc.
|
|
46
41
|
if (!isStyleSheetRes) {
|
|
47
42
|
if (!snippetKeyCache.has(syntax)) {
|
|
48
|
-
|
|
43
|
+
var registry = (_a = customSnippetsRegistry[syntax]) !== null && _a !== void 0 ? _a : getDefaultSnippets(syntax);
|
|
49
44
|
snippetKeyCache.set(syntax, Object.keys(registry));
|
|
50
45
|
}
|
|
51
46
|
markupSnippetKeys = (_b = snippetKeyCache.get(syntax)) !== null && _b !== void 0 ? _b : [];
|
|
52
47
|
}
|
|
53
|
-
|
|
48
|
+
var extractOptions = {
|
|
54
49
|
lookAhead: !isStyleSheetRes,
|
|
55
50
|
type: isStyleSheetRes ? 'stylesheet' : 'markup'
|
|
56
51
|
};
|
|
57
|
-
|
|
52
|
+
var extractedValue = extractAbbreviation(_monaco, model, position, extractOptions);
|
|
58
53
|
if (!extractedValue) {
|
|
59
54
|
return;
|
|
60
55
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const currentLineTillPosition = getCurrentLine(model, position).substr(0, position.column - 1);
|
|
67
|
-
const currentWord = getCurrentWord(currentLineTillPosition);
|
|
56
|
+
var abbreviationRange = extractedValue.abbreviationRange,
|
|
57
|
+
abbreviation = extractedValue.abbreviation,
|
|
58
|
+
filter = extractedValue.filter;
|
|
59
|
+
var currentLineTillPosition = getCurrentLine(model, position).substr(0, position.column - 1);
|
|
60
|
+
var currentWord = getCurrentWord(currentLineTillPosition);
|
|
68
61
|
// Don't attempt to expand open tags
|
|
69
|
-
if (currentWord === abbreviation && currentLineTillPosition.endsWith(
|
|
62
|
+
if (currentWord === abbreviation && currentLineTillPosition.endsWith("<".concat(abbreviation)) && configCompat.syntaxes.markup.includes(syntax)) {
|
|
70
63
|
return;
|
|
71
64
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
65
|
+
var expandOptions = getExpandOptions(syntax, emmetConfig, filter);
|
|
66
|
+
var expandedText = "";
|
|
67
|
+
var expandedAbbr;
|
|
68
|
+
var completionItems = [];
|
|
76
69
|
// Create completion item after expanding given abbreviation
|
|
77
70
|
// if abbreviation is valid and expanded value is not noise
|
|
78
|
-
|
|
71
|
+
var createExpandedAbbr = function createExpandedAbbr(syntax, abbr) {
|
|
79
72
|
if (!isAbbreviationValid(syntax, abbreviation)) {
|
|
80
73
|
return;
|
|
81
74
|
}
|
|
82
75
|
try {
|
|
83
|
-
expandedText =
|
|
76
|
+
expandedText = expand__default.default(abbr, expandOptions);
|
|
84
77
|
// manually patch https://github.com/microsoft/vscode/issues/120245 for now
|
|
85
78
|
if (isStyleSheetRes && '!important'.startsWith(abbr)) {
|
|
86
79
|
expandedText = '!important';
|
|
@@ -103,7 +96,9 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
103
96
|
if (isStyleSheet(syntax)) {
|
|
104
97
|
createExpandedAbbr(syntax, abbreviation);
|
|
105
98
|
// When abbr is longer than usual emmet snippets and matches better with existing css property, then no emmet
|
|
106
|
-
if (abbreviation.length > 4 && data.cssData.properties.find(
|
|
99
|
+
if (abbreviation.length > 4 && data.cssData.properties.find(function (x) {
|
|
100
|
+
return x.startsWith(abbreviation);
|
|
101
|
+
})) {
|
|
107
102
|
return {
|
|
108
103
|
suggestions: [],
|
|
109
104
|
incomplete: true
|
|
@@ -116,13 +111,17 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
116
111
|
expandedAbbr.label = removeTabStops(expandedText);
|
|
117
112
|
expandedAbbr.filterText = abbreviation;
|
|
118
113
|
// Custom snippets should show up in completions if abbreviation is a prefix
|
|
119
|
-
|
|
114
|
+
var stylesheetCustomSnippetsKeys = stylesheetCustomSnippetsKeyCache.has(syntax) ? stylesheetCustomSnippetsKeyCache.get(syntax) : stylesheetCustomSnippetsKeyCache.get('css');
|
|
120
115
|
completionItems = makeSnippetSuggestion(_monaco, stylesheetCustomSnippetsKeys !== null && stylesheetCustomSnippetsKeys !== void 0 ? stylesheetCustomSnippetsKeys : [], abbreviation, abbreviation, abbreviationRange, expandOptions, 'Emmet Custom Snippet', false);
|
|
121
|
-
if (!completionItems.find(
|
|
116
|
+
if (!completionItems.find(function (x) {
|
|
117
|
+
return x.insertText === (expandedAbbr === null || expandedAbbr === void 0 ? void 0 : expandedAbbr.insertText);
|
|
118
|
+
})) {
|
|
122
119
|
// Fix for https://github.com/Microsoft/vscode/issues/28933#issuecomment-309236902
|
|
123
120
|
// When user types in propertyname, emmet uses it to match with snippet names, resulting in width -> widows or font-family -> font: family
|
|
124
121
|
// Filter out those cases here.
|
|
125
|
-
|
|
122
|
+
var abbrRegex = new RegExp('.*' + abbreviation.split('').map(function (x) {
|
|
123
|
+
return x === '$' || x === '+' ? '\\' + x : x;
|
|
124
|
+
}).join('.*') + '.*', 'i');
|
|
126
125
|
if (/\d/.test(abbreviation) || abbrRegex.test(expandedAbbr.label)) {
|
|
127
126
|
completionItems.push(expandedAbbr);
|
|
128
127
|
}
|
|
@@ -130,21 +129,23 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
130
129
|
}
|
|
131
130
|
} else {
|
|
132
131
|
createExpandedAbbr(syntax, abbreviation);
|
|
133
|
-
|
|
134
|
-
|
|
132
|
+
var tagToFindMoreSuggestionsFor = abbreviation;
|
|
133
|
+
var newTagMatches = /(>|\+)([\w:-]+)$/.exec(abbreviation);
|
|
135
134
|
if (newTagMatches && newTagMatches.length === 3) {
|
|
136
135
|
tagToFindMoreSuggestionsFor = newTagMatches[2];
|
|
137
136
|
}
|
|
138
137
|
if (syntax !== 'xml') {
|
|
139
|
-
|
|
138
|
+
var commonlyUsedTagSuggestions = makeSnippetSuggestion(_monaco, commonlyUsedTags, tagToFindMoreSuggestionsFor, abbreviation, abbreviationRange, expandOptions, 'Emmet Abbreviation');
|
|
140
139
|
completionItems = completionItems.concat(commonlyUsedTagSuggestions);
|
|
141
140
|
}
|
|
142
141
|
if (emmetConfig.showAbbreviationSuggestions === true) {
|
|
143
|
-
|
|
142
|
+
var abbreviationSuggestions = makeSnippetSuggestion(_monaco, markupSnippetKeys.filter(function (x) {
|
|
143
|
+
return !commonlyUsedTags.includes(x);
|
|
144
|
+
}), tagToFindMoreSuggestionsFor, abbreviation, abbreviationRange, expandOptions, 'Emmet Abbreviation');
|
|
144
145
|
// Workaround for the main expanded abbr not appearing before the snippet suggestions
|
|
145
146
|
if (expandedAbbr && abbreviationSuggestions.length > 0 && tagToFindMoreSuggestionsFor !== abbreviation) {
|
|
146
147
|
expandedAbbr.sortText = '0' + expandedAbbr.label;
|
|
147
|
-
abbreviationSuggestions.forEach(item
|
|
148
|
+
abbreviationSuggestions.forEach(function (item) {
|
|
148
149
|
// Workaround for snippet suggestions items getting filtered out as the complete abbr does not start with snippetKey
|
|
149
150
|
item.filterText = abbreviation;
|
|
150
151
|
// Workaround for the main expanded abbr not appearing before the snippet suggestions
|
|
@@ -154,12 +155,16 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
154
155
|
completionItems = completionItems.concat(abbreviationSuggestions);
|
|
155
156
|
}
|
|
156
157
|
// https://github.com/microsoft/vscode/issues/66680
|
|
157
|
-
if (syntax === 'html' && completionItems.length >= 2 && abbreviation.includes(":") && (expandedAbbr === null || expandedAbbr === void 0 ? void 0 : expandedAbbr.insertText) ===
|
|
158
|
-
completionItems = completionItems.filter(
|
|
158
|
+
if (syntax === 'html' && completionItems.length >= 2 && abbreviation.includes(":") && (expandedAbbr === null || expandedAbbr === void 0 ? void 0 : expandedAbbr.insertText) === "<".concat(abbreviation, ">${0}</").concat(abbreviation, ">")) {
|
|
159
|
+
completionItems = completionItems.filter(function (item) {
|
|
160
|
+
return item.label !== abbreviation;
|
|
161
|
+
});
|
|
159
162
|
}
|
|
160
163
|
}
|
|
161
164
|
if (emmetConfig.showSuggestionsAsSnippets === true) {
|
|
162
|
-
completionItems.forEach(
|
|
165
|
+
completionItems.forEach(function (x) {
|
|
166
|
+
return x.kind = _monaco.languages.CompletionItemKind.Snippet;
|
|
167
|
+
});
|
|
163
168
|
}
|
|
164
169
|
return completionItems.length ? {
|
|
165
170
|
suggestions: completionItems,
|
|
@@ -169,24 +174,25 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
169
174
|
/**
|
|
170
175
|
* Create & return snippets for snippet keys that start with given prefix
|
|
171
176
|
*/
|
|
172
|
-
function makeSnippetSuggestion(_monaco, snippetKeys, prefix, abbreviation, abbreviationRange, expandOptions, snippetDetail
|
|
177
|
+
function makeSnippetSuggestion(_monaco, snippetKeys, prefix, abbreviation, abbreviationRange, expandOptions, snippetDetail) {
|
|
178
|
+
var skipFullMatch = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : true;
|
|
173
179
|
if (!prefix || !snippetKeys) {
|
|
174
180
|
return [];
|
|
175
181
|
}
|
|
176
|
-
|
|
177
|
-
snippetKeys.forEach(snippetKey
|
|
182
|
+
var snippetCompletions = [];
|
|
183
|
+
snippetKeys.forEach(function (snippetKey) {
|
|
178
184
|
if (!snippetKey.startsWith(prefix.toLowerCase()) || skipFullMatch && snippetKey === prefix.toLowerCase()) {
|
|
179
185
|
return;
|
|
180
186
|
}
|
|
181
|
-
|
|
182
|
-
|
|
187
|
+
var currentAbbr = abbreviation + snippetKey.substr(prefix.length);
|
|
188
|
+
var expandedAbbr;
|
|
183
189
|
try {
|
|
184
|
-
expandedAbbr =
|
|
190
|
+
expandedAbbr = expand__default.default(currentAbbr, expandOptions);
|
|
185
191
|
} catch (e) {}
|
|
186
192
|
if (!expandedAbbr) {
|
|
187
193
|
return;
|
|
188
194
|
}
|
|
189
|
-
|
|
195
|
+
var item = {
|
|
190
196
|
kind: _monaco.languages.CompletionItemKind.Property,
|
|
191
197
|
label: prefix + snippetKey.substr(prefix.length),
|
|
192
198
|
documentation: replaceTabStopsWithCursors(expandedAbbr),
|
|
@@ -201,7 +207,7 @@ function makeSnippetSuggestion(_monaco, snippetKeys, prefix, abbreviation, abbre
|
|
|
201
207
|
}
|
|
202
208
|
function getCurrentWord(currentLineTillPosition) {
|
|
203
209
|
if (currentLineTillPosition) {
|
|
204
|
-
|
|
210
|
+
var matches = /[\w,:,-,\.]*$/.exec(currentLineTillPosition);
|
|
205
211
|
if (matches) {
|
|
206
212
|
return matches[0];
|
|
207
213
|
}
|
|
@@ -220,12 +226,12 @@ function addFinalTabStop(text) {
|
|
|
220
226
|
if (!text || !text.trim()) {
|
|
221
227
|
return text;
|
|
222
228
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
+
var maxTabStop = -1;
|
|
230
|
+
var maxTabStopRanges = [];
|
|
231
|
+
var foundLastStop = false;
|
|
232
|
+
var replaceWithLastStop = false;
|
|
233
|
+
var i = 0;
|
|
234
|
+
var n = text.length;
|
|
229
235
|
try {
|
|
230
236
|
while (i < n && !foundLastStop) {
|
|
231
237
|
// Look for ${
|
|
@@ -233,8 +239,8 @@ function addFinalTabStop(text) {
|
|
|
233
239
|
continue;
|
|
234
240
|
}
|
|
235
241
|
// Find tabstop
|
|
236
|
-
|
|
237
|
-
|
|
242
|
+
var numberStart = -1;
|
|
243
|
+
var numberEnd = -1;
|
|
238
244
|
while (i < n && /\d/.test(text[i])) {
|
|
239
245
|
numberStart = numberStart < 0 ? i : numberStart;
|
|
240
246
|
numberEnd = i + 1;
|
|
@@ -245,12 +251,12 @@ function addFinalTabStop(text) {
|
|
|
245
251
|
continue;
|
|
246
252
|
}
|
|
247
253
|
// If ${0} was found, then break
|
|
248
|
-
|
|
254
|
+
var currentTabStop = text.substring(numberStart, numberEnd);
|
|
249
255
|
foundLastStop = currentTabStop === '0';
|
|
250
256
|
if (foundLastStop) {
|
|
251
257
|
break;
|
|
252
258
|
}
|
|
253
|
-
|
|
259
|
+
var foundPlaceholder = false;
|
|
254
260
|
if (text[i++] == ':') {
|
|
255
261
|
// TODO: Nested placeholders may break here
|
|
256
262
|
while (i < n) {
|
|
@@ -265,35 +271,37 @@ function addFinalTabStop(text) {
|
|
|
265
271
|
if (Number(currentTabStop) > Number(maxTabStop)) {
|
|
266
272
|
maxTabStop = Number(currentTabStop);
|
|
267
273
|
maxTabStopRanges = [{
|
|
268
|
-
numberStart,
|
|
269
|
-
numberEnd
|
|
274
|
+
numberStart: numberStart,
|
|
275
|
+
numberEnd: numberEnd
|
|
270
276
|
}];
|
|
271
277
|
replaceWithLastStop = !foundPlaceholder;
|
|
272
278
|
} else if (Number(currentTabStop) === maxTabStop) {
|
|
273
279
|
maxTabStopRanges.push({
|
|
274
|
-
numberStart,
|
|
275
|
-
numberEnd
|
|
280
|
+
numberStart: numberStart,
|
|
281
|
+
numberEnd: numberEnd
|
|
276
282
|
});
|
|
277
283
|
}
|
|
278
284
|
}
|
|
279
285
|
} catch (e) {}
|
|
280
286
|
if (replaceWithLastStop && !foundLastStop) {
|
|
281
|
-
for (
|
|
282
|
-
|
|
283
|
-
|
|
287
|
+
for (var _i = 0; _i < maxTabStopRanges.length; _i++) {
|
|
288
|
+
var rangeStart = maxTabStopRanges[_i].numberStart;
|
|
289
|
+
var rangeEnd = maxTabStopRanges[_i].numberEnd;
|
|
284
290
|
text = text.substr(0, rangeStart) + '0' + text.substr(rangeEnd);
|
|
285
291
|
}
|
|
286
292
|
}
|
|
287
293
|
return text;
|
|
288
294
|
}
|
|
289
295
|
function getCurrentLine(model, position) {
|
|
290
|
-
|
|
296
|
+
var currentLine = model.getLineContent(position.lineNumber);
|
|
291
297
|
return currentLine;
|
|
292
298
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
299
|
+
var customSnippetsRegistry = {};
|
|
300
|
+
var variablesFromFile = {};
|
|
301
|
+
var profilesFromFile = {};
|
|
302
|
+
var emmetSnippetField = function emmetSnippetField(index, placeholder) {
|
|
303
|
+
return "${".concat(index).concat(placeholder ? ':' + placeholder : '', "}");
|
|
304
|
+
};
|
|
297
305
|
/** Returns whether or not syntax is a supported stylesheet syntax, like CSS */
|
|
298
306
|
function isStyleSheet(syntax) {
|
|
299
307
|
return configCompat.syntaxes.stylesheet.includes(syntax);
|
|
@@ -308,26 +316,26 @@ function getDefaultSyntax(syntax) {
|
|
|
308
316
|
}
|
|
309
317
|
/** Returns the default snippets that Emmet suggests */
|
|
310
318
|
function getDefaultSnippets(syntax) {
|
|
311
|
-
|
|
312
|
-
|
|
319
|
+
var syntaxType = getSyntaxType(syntax);
|
|
320
|
+
var emptyUserConfig = {
|
|
313
321
|
type: syntaxType,
|
|
314
|
-
syntax
|
|
322
|
+
syntax: syntax
|
|
315
323
|
};
|
|
316
|
-
|
|
324
|
+
var resolvedConfig = expand.resolveConfig(emptyUserConfig);
|
|
317
325
|
// https://github.com/microsoft/vscode/issues/97632
|
|
318
326
|
// don't return markup (HTML) snippets for XML
|
|
319
327
|
return syntax === 'xml' ? {} : resolvedConfig.snippets;
|
|
320
328
|
}
|
|
321
329
|
function getFilters(text, pos) {
|
|
322
|
-
|
|
323
|
-
for (
|
|
324
|
-
if (text.endsWith(
|
|
330
|
+
var filter;
|
|
331
|
+
for (var i = 0; i < maxFilters; i++) {
|
|
332
|
+
if (text.endsWith("".concat(filterDelimitor).concat(bemFilterSuffix), pos)) {
|
|
325
333
|
pos -= bemFilterSuffix.length + 1;
|
|
326
334
|
filter = filter ? bemFilterSuffix + ',' + filter : bemFilterSuffix;
|
|
327
|
-
} else if (text.endsWith(
|
|
335
|
+
} else if (text.endsWith("".concat(filterDelimitor).concat(commentFilterSuffix), pos)) {
|
|
328
336
|
pos -= commentFilterSuffix.length + 1;
|
|
329
337
|
filter = filter ? commentFilterSuffix + ',' + filter : commentFilterSuffix;
|
|
330
|
-
} else if (text.endsWith(
|
|
338
|
+
} else if (text.endsWith("".concat(filterDelimitor).concat(trimFilterSuffix), pos)) {
|
|
331
339
|
pos -= trimFilterSuffix.length + 1;
|
|
332
340
|
filter = filter ? trimFilterSuffix + ',' + filter : trimFilterSuffix;
|
|
333
341
|
} else {
|
|
@@ -343,22 +351,21 @@ function getFilters(text, pos) {
|
|
|
343
351
|
* Extracts abbreviation from the given position in the given document
|
|
344
352
|
*/
|
|
345
353
|
function extractAbbreviation(_monaco, model, position, options) {
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
pos,
|
|
350
|
-
filter
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
const result = expand.extract(currentLine, pos, options);
|
|
354
|
+
var currentLine = model.getLineContent(position.lineNumber);
|
|
355
|
+
var currentLineTillPosition = currentLine.substr(0, position.column - 1);
|
|
356
|
+
var _getFilters = getFilters(currentLineTillPosition, position.column - 1),
|
|
357
|
+
pos = _getFilters.pos,
|
|
358
|
+
filter = _getFilters.filter;
|
|
359
|
+
var lengthOccupiedByFilter = filter ? filter.length + 1 : 0;
|
|
360
|
+
var result = expand.extract(currentLine, pos, options);
|
|
354
361
|
if (!result) {
|
|
355
362
|
return;
|
|
356
363
|
}
|
|
357
|
-
|
|
364
|
+
var rangeToReplace = new _monaco.Range(position.lineNumber, result.location + 1, position.lineNumber, result.location + result.abbreviation.length + lengthOccupiedByFilter + 1);
|
|
358
365
|
return {
|
|
359
366
|
abbreviationRange: rangeToReplace,
|
|
360
367
|
abbreviation: result.abbreviation,
|
|
361
|
-
filter
|
|
368
|
+
filter: filter
|
|
362
369
|
};
|
|
363
370
|
}
|
|
364
371
|
/**
|
|
@@ -374,7 +381,7 @@ function isAbbreviationValid(syntax, abbreviation) {
|
|
|
374
381
|
if (isStyleSheet(syntax)) {
|
|
375
382
|
if (abbreviation.includes('#')) {
|
|
376
383
|
if (abbreviation.startsWith('#')) {
|
|
377
|
-
|
|
384
|
+
var hexColorRegex = /^#[\d,a-f,A-F]{1,6}$/;
|
|
378
385
|
return hexColorRegex.test(abbreviation);
|
|
379
386
|
} else if (commonlyUsedTags.includes(abbreviation.substring(0, abbreviation.indexOf('#')))) {
|
|
380
387
|
return false;
|
|
@@ -400,16 +407,18 @@ function isExpandedTextNoise(syntax, abbreviation, expandedText, options) {
|
|
|
400
407
|
// Unresolved css abbreviations get expanded to a blank property value
|
|
401
408
|
// Eg: abc -> abc: ; or abc:d -> abc: d; which is noise if it gets suggested for every word typed
|
|
402
409
|
if (isStyleSheet(syntax) && options) {
|
|
403
|
-
|
|
404
|
-
|
|
410
|
+
var between = (_a = options['stylesheet.between']) !== null && _a !== void 0 ? _a : ': ';
|
|
411
|
+
var after = (_b = options['stylesheet.after']) !== null && _b !== void 0 ? _b : ';';
|
|
405
412
|
// Remove overlapping between `abbreviation` and `between`, if any
|
|
406
|
-
|
|
413
|
+
var endPrefixIndex = abbreviation.indexOf(between[0], Math.max(abbreviation.length - between.length, 0));
|
|
407
414
|
endPrefixIndex = endPrefixIndex >= 0 ? endPrefixIndex : abbreviation.length;
|
|
408
|
-
|
|
409
|
-
return expandedText ===
|
|
415
|
+
var abbr = abbreviation.substring(0, endPrefixIndex);
|
|
416
|
+
return expandedText === "".concat(abbr).concat(between, "${0}").concat(after) || expandedText.replace(/\s/g, '') === abbreviation.replace(/\s/g, '') + after;
|
|
410
417
|
}
|
|
411
418
|
// we don't want common html tags suggested for xml
|
|
412
|
-
if (syntax === 'xml' && commonlyUsedTags.some(
|
|
419
|
+
if (syntax === 'xml' && commonlyUsedTags.some(function (tag) {
|
|
420
|
+
return tag.startsWith(abbreviation.toLowerCase());
|
|
421
|
+
})) {
|
|
413
422
|
return true;
|
|
414
423
|
}
|
|
415
424
|
if (commonlyUsedTags.includes(abbreviation.toLowerCase()) || markupSnippetKeys.includes(abbreviation)) {
|
|
@@ -427,7 +436,7 @@ function isExpandedTextNoise(syntax, abbreviation, expandedText, options) {
|
|
|
427
436
|
if (abbreviation === '.') {
|
|
428
437
|
return false;
|
|
429
438
|
}
|
|
430
|
-
|
|
439
|
+
var dotMatches = /^([a-z,A-Z,\d]*)\.$/.exec(abbreviation);
|
|
431
440
|
if (dotMatches) {
|
|
432
441
|
// Valid html tags such as `div.`
|
|
433
442
|
if (dotMatches[1] && data.htmlData.tags.includes(dotMatches[1])) {
|
|
@@ -443,7 +452,7 @@ function isExpandedTextNoise(syntax, abbreviation, expandedText, options) {
|
|
|
443
452
|
}
|
|
444
453
|
// Unresolved html abbreviations get expanded as if it were a tag
|
|
445
454
|
// Eg: abc -> <abc></abc> which is noise if it gets suggested for every word typed
|
|
446
|
-
return expandedText.toLowerCase() ===
|
|
455
|
+
return expandedText.toLowerCase() === "<".concat(abbreviation.toLowerCase(), ">${1}</").concat(abbreviation.toLowerCase(), ">");
|
|
447
456
|
}
|
|
448
457
|
/**
|
|
449
458
|
* Returns options to be used by emmet
|
|
@@ -452,20 +461,26 @@ function getExpandOptions(syntax, emmetConfig, filter) {
|
|
|
452
461
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
453
462
|
emmetConfig = emmetConfig !== null && emmetConfig !== void 0 ? emmetConfig : {};
|
|
454
463
|
emmetConfig['preferences'] = (_a = emmetConfig['preferences']) !== null && _a !== void 0 ? _a : {};
|
|
455
|
-
|
|
456
|
-
|
|
464
|
+
var preferences = emmetConfig['preferences'];
|
|
465
|
+
var stylesheetSyntax = isStyleSheet(syntax) ? syntax : 'css';
|
|
457
466
|
// Fetch Profile
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
467
|
+
var profile = getProfile(syntax, (_b = emmetConfig['syntaxProfiles']) !== null && _b !== void 0 ? _b : {});
|
|
468
|
+
var filtersFromProfile = profile && profile['filters'] ? profile['filters'].split(',') : [];
|
|
469
|
+
var trimmedFilters = filtersFromProfile.map(function (filterFromProfile) {
|
|
470
|
+
return filterFromProfile.trim();
|
|
471
|
+
});
|
|
472
|
+
var bemEnabled = filter && filter.split(',').some(function (x) {
|
|
473
|
+
return x.trim() === 'bem';
|
|
474
|
+
}) || trimmedFilters.includes('bem');
|
|
475
|
+
var commentEnabled = filter && filter.split(',').some(function (x) {
|
|
476
|
+
return x.trim() === 'c';
|
|
477
|
+
}) || trimmedFilters.includes('c');
|
|
463
478
|
// Fetch formatters
|
|
464
|
-
|
|
465
|
-
|
|
479
|
+
var formatters = getFormatters(syntax, emmetConfig['preferences']);
|
|
480
|
+
var unitAliases = (formatters === null || formatters === void 0 ? void 0 : formatters.stylesheet) && formatters.stylesheet['unitAliases'] || {};
|
|
466
481
|
// These options are the default values provided by vscode for
|
|
467
482
|
// extension preferences
|
|
468
|
-
|
|
483
|
+
var defaultVSCodeOptions = {
|
|
469
484
|
// inlineElements: string[],
|
|
470
485
|
// 'output.indent': string,
|
|
471
486
|
// 'output.baseIndent': string,
|
|
@@ -511,7 +526,7 @@ function getExpandOptions(syntax, emmetConfig, filter) {
|
|
|
511
526
|
'stylesheet.fuzzySearchMinScore': 0.3
|
|
512
527
|
};
|
|
513
528
|
// These options come from user prefs in the vscode repo
|
|
514
|
-
|
|
529
|
+
var userPreferenceOptions = {
|
|
515
530
|
// inlineElements: string[],
|
|
516
531
|
// 'output.indent': string,
|
|
517
532
|
// 'output.baseIndent': string,
|
|
@@ -542,8 +557,8 @@ function getExpandOptions(syntax, emmetConfig, filter) {
|
|
|
542
557
|
// 'stylesheet.keywords': string[],
|
|
543
558
|
// 'stylesheet.unitless': string[],
|
|
544
559
|
'stylesheet.shortHex': preferences['css.color.short'],
|
|
545
|
-
'stylesheet.between': preferences[
|
|
546
|
-
'stylesheet.after': preferences[
|
|
560
|
+
'stylesheet.between': preferences["".concat(stylesheetSyntax, ".valueSeparator")],
|
|
561
|
+
'stylesheet.after': preferences["".concat(stylesheetSyntax, ".propertyEnd")],
|
|
547
562
|
'stylesheet.intUnit': preferences['css.intUnit'],
|
|
548
563
|
'stylesheet.floatUnit': preferences['css.floatUnit'],
|
|
549
564
|
'stylesheet.unitAliases': unitAliases,
|
|
@@ -551,24 +566,24 @@ function getExpandOptions(syntax, emmetConfig, filter) {
|
|
|
551
566
|
// 'stylesheet.jsonDoubleQuotes': boolean,
|
|
552
567
|
'stylesheet.fuzzySearchMinScore': preferences['css.fuzzySearchMinScore']
|
|
553
568
|
};
|
|
554
|
-
|
|
555
|
-
[
|
|
569
|
+
var combinedOptions = {};
|
|
570
|
+
[].concat(_rollupPluginBabelHelpers.toConsumableArray(Object.keys(defaultVSCodeOptions)), _rollupPluginBabelHelpers.toConsumableArray(Object.keys(userPreferenceOptions))).forEach(function (key) {
|
|
556
571
|
var _a;
|
|
557
|
-
|
|
572
|
+
var castKey = key;
|
|
558
573
|
combinedOptions[castKey] = (_a = userPreferenceOptions[castKey]) !== null && _a !== void 0 ? _a : defaultVSCodeOptions[castKey];
|
|
559
574
|
});
|
|
560
|
-
|
|
575
|
+
var mergedAliases = Object.assign(Object.assign({}, defaultVSCodeOptions['stylesheet.unitAliases']), userPreferenceOptions['stylesheet.unitAliases']);
|
|
561
576
|
combinedOptions['stylesheet.unitAliases'] = mergedAliases;
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
577
|
+
var type = getSyntaxType(syntax);
|
|
578
|
+
var variables = getVariables(emmetConfig['variables']);
|
|
579
|
+
var baseSyntax = getDefaultSyntax(syntax);
|
|
580
|
+
var snippets = type === 'stylesheet' ? (_k = customSnippetsRegistry[syntax]) !== null && _k !== void 0 ? _k : customSnippetsRegistry[baseSyntax] : customSnippetsRegistry[syntax];
|
|
566
581
|
return {
|
|
567
|
-
type,
|
|
582
|
+
type: type,
|
|
568
583
|
options: combinedOptions,
|
|
569
|
-
variables,
|
|
570
|
-
snippets,
|
|
571
|
-
syntax,
|
|
584
|
+
variables: variables,
|
|
585
|
+
snippets: snippets,
|
|
586
|
+
syntax: syntax,
|
|
572
587
|
// context: null,
|
|
573
588
|
text: undefined,
|
|
574
589
|
maxRepeat: 1000
|
|
@@ -598,8 +613,8 @@ function getProfile(syntax, profilesFromSettings) {
|
|
|
598
613
|
if (!profilesFromSettings) {
|
|
599
614
|
profilesFromSettings = {};
|
|
600
615
|
}
|
|
601
|
-
|
|
602
|
-
|
|
616
|
+
var profilesConfig = Object.assign({}, profilesFromFile, profilesFromSettings);
|
|
617
|
+
var options = profilesConfig[syntax];
|
|
603
618
|
if (!options || typeof options === 'string') {
|
|
604
619
|
if (options === 'xhtml') {
|
|
605
620
|
return {
|
|
@@ -608,8 +623,8 @@ function getProfile(syntax, profilesFromSettings) {
|
|
|
608
623
|
}
|
|
609
624
|
return {};
|
|
610
625
|
}
|
|
611
|
-
|
|
612
|
-
for (
|
|
626
|
+
var newOptions = {};
|
|
627
|
+
for (var key in options) {
|
|
613
628
|
switch (key) {
|
|
614
629
|
case 'tag_case':
|
|
615
630
|
newOptions['tagCase'] = options[key] === 'lower' || options[key] === 'upper' ? options[key] : '';
|
|
@@ -657,12 +672,12 @@ function getVariables(variablesFromSettings) {
|
|
|
657
672
|
return Object.assign({}, variablesFromFile, variablesFromSettings);
|
|
658
673
|
}
|
|
659
674
|
function getFormatters(syntax, preferences) {
|
|
660
|
-
if (!preferences || typeof
|
|
675
|
+
if (!preferences || _rollupPluginBabelHelpers.typeof(preferences) !== 'object') {
|
|
661
676
|
return {};
|
|
662
677
|
}
|
|
663
678
|
if (!isStyleSheet(syntax)) {
|
|
664
|
-
|
|
665
|
-
for (
|
|
679
|
+
var commentFormatter = {};
|
|
680
|
+
for (var key in preferences) {
|
|
666
681
|
switch (key) {
|
|
667
682
|
case 'filter.commentAfter':
|
|
668
683
|
commentFormatter['after'] = preferences[key];
|
|
@@ -679,31 +694,31 @@ function getFormatters(syntax, preferences) {
|
|
|
679
694
|
comment: commentFormatter
|
|
680
695
|
};
|
|
681
696
|
}
|
|
682
|
-
|
|
697
|
+
var fuzzySearchMinScore = typeof (preferences === null || preferences === void 0 ? void 0 : preferences['css.fuzzySearchMinScore']) === 'number' ? preferences['css.fuzzySearchMinScore'] : 0.3;
|
|
683
698
|
if (fuzzySearchMinScore > 1) {
|
|
684
699
|
fuzzySearchMinScore = 1;
|
|
685
700
|
} else if (fuzzySearchMinScore < 0) {
|
|
686
701
|
fuzzySearchMinScore = 0;
|
|
687
702
|
}
|
|
688
|
-
|
|
703
|
+
var stylesheetFormatter = {
|
|
689
704
|
'fuzzySearchMinScore': fuzzySearchMinScore
|
|
690
705
|
};
|
|
691
|
-
|
|
692
|
-
switch (
|
|
706
|
+
var _loop = function _loop() {
|
|
707
|
+
switch (_key) {
|
|
693
708
|
case 'css.floatUnit':
|
|
694
|
-
stylesheetFormatter['floatUnit'] = preferences[
|
|
709
|
+
stylesheetFormatter['floatUnit'] = preferences[_key];
|
|
695
710
|
break;
|
|
696
711
|
case 'css.intUnit':
|
|
697
|
-
stylesheetFormatter['intUnit'] = preferences[
|
|
712
|
+
stylesheetFormatter['intUnit'] = preferences[_key];
|
|
698
713
|
break;
|
|
699
714
|
case 'css.unitAliases':
|
|
700
|
-
|
|
701
|
-
preferences[
|
|
715
|
+
var unitAliases = {};
|
|
716
|
+
preferences[_key].split(',').forEach(function (alias) {
|
|
702
717
|
if (!alias || !alias.trim() || !alias.includes(':')) {
|
|
703
718
|
return;
|
|
704
719
|
}
|
|
705
|
-
|
|
706
|
-
|
|
720
|
+
var aliasName = alias.substr(0, alias.indexOf(':'));
|
|
721
|
+
var aliasValue = alias.substr(aliasName.length + 1);
|
|
707
722
|
if (!aliasName.trim() || !aliasValue) {
|
|
708
723
|
return;
|
|
709
724
|
}
|
|
@@ -711,13 +726,16 @@ function getFormatters(syntax, preferences) {
|
|
|
711
726
|
});
|
|
712
727
|
stylesheetFormatter['unitAliases'] = unitAliases;
|
|
713
728
|
break;
|
|
714
|
-
case
|
|
715
|
-
stylesheetFormatter['between'] = preferences[
|
|
729
|
+
case "".concat(syntax, ".valueSeparator"):
|
|
730
|
+
stylesheetFormatter['between'] = preferences[_key];
|
|
716
731
|
break;
|
|
717
|
-
case
|
|
718
|
-
stylesheetFormatter['after'] = preferences[
|
|
732
|
+
case "".concat(syntax, ".propertyEnd"):
|
|
733
|
+
stylesheetFormatter['after'] = preferences[_key];
|
|
719
734
|
break;
|
|
720
735
|
}
|
|
736
|
+
};
|
|
737
|
+
for (var _key in preferences) {
|
|
738
|
+
_loop();
|
|
721
739
|
}
|
|
722
740
|
return {
|
|
723
741
|
stylesheet: stylesheetFormatter
|
|
@@ -732,7 +750,8 @@ function getFormatters(syntax, preferences) {
|
|
|
732
750
|
* @param language
|
|
733
751
|
* @param exlcudedLanguages Array of language ids that user has chosen to exlcude for emmet
|
|
734
752
|
*/
|
|
735
|
-
function getEmmetMode(language
|
|
753
|
+
function getEmmetMode(language) {
|
|
754
|
+
var excludedLanguages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
736
755
|
if (!language || excludedLanguages.includes(language)) {
|
|
737
756
|
return;
|
|
738
757
|
}
|