@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,35 +1,26 @@
|
|
|
1
|
+
import { toConsumableArray as _toConsumableArray, typeof as _typeof } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
1
2
|
import expand, { resolveConfig, extract } from 'emmet';
|
|
2
3
|
import { cssData, htmlData } from './data.js';
|
|
3
4
|
import { syntaxes } from './configCompat.js';
|
|
4
5
|
|
|
5
|
-
/* ====================================================================================================
|
|
6
|
-
* These codes forked and modified from `microsoft/vscode-emmet-helper`
|
|
7
|
-
* under the terms of the MIT license.
|
|
8
|
-
* Make sure to check the original project if any issue exists.
|
|
9
|
-
* - project: https://github.com/microsoft/vscode-emmet-helper
|
|
10
|
-
* - codes: https://github.com/microsoft/vscode-emmet-helper/blob/e64481648451f0189216794979ce2ace82ee8148/src/emmetHelper.ts
|
|
11
|
-
* ==================================================================================================== */
|
|
12
|
-
/* istanbul ignore file */
|
|
13
|
-
/* tslint:disable */
|
|
14
|
-
/* eslint-disable */
|
|
15
6
|
// /* workaround for webpack issue: https://github.com/webpack/webpack/issues/5756
|
|
16
7
|
// @emmetio/extract-abbreviation has a cjs that uses a default export
|
|
17
8
|
// */
|
|
18
9
|
// const extract = typeof _extractAbbreviation === 'function' ? _extractAbbreviation : _extractAbbreviation.default;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
10
|
+
var snippetKeyCache = new Map();
|
|
11
|
+
var markupSnippetKeys;
|
|
12
|
+
var stylesheetCustomSnippetsKeyCache = new Map();
|
|
13
|
+
var htmlAbbreviationStartRegex = /^[a-z,A-Z,!,(,[,#,\.\{]/;
|
|
23
14
|
// take off { for jsx because it interferes with the language
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
15
|
+
var jsxAbbreviationStartRegex = /^[a-z,A-Z,!,(,[,#,\.]/;
|
|
16
|
+
var cssAbbreviationRegex = /^-?[a-z,A-Z,!,@,#]/;
|
|
17
|
+
var htmlAbbreviationRegex = /[a-z,A-Z\.]/;
|
|
18
|
+
var commonlyUsedTags = [].concat(_toConsumableArray(htmlData.tags), ['lorem']);
|
|
19
|
+
var bemFilterSuffix = 'bem';
|
|
20
|
+
var filterDelimitor = '|';
|
|
21
|
+
var trimFilterSuffix = 't';
|
|
22
|
+
var commentFilterSuffix = 'c';
|
|
23
|
+
var maxFilters = 3;
|
|
33
24
|
/**
|
|
34
25
|
* Returns all applicable emmet expansions for abbreviation at given position in a CompletionList
|
|
35
26
|
*/
|
|
@@ -38,42 +29,40 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
38
29
|
if (emmetConfig.showExpandedAbbreviation === 'never' || !getEmmetMode(syntax, emmetConfig.excludeLanguages)) {
|
|
39
30
|
return;
|
|
40
31
|
}
|
|
41
|
-
|
|
32
|
+
var isStyleSheetRes = isStyleSheet(syntax);
|
|
42
33
|
// Fetch markupSnippets so that we can provide possible abbreviation completions
|
|
43
34
|
// For example, when text at position is `a`, completions should return `a:blank`, `a:link`, `acr` etc.
|
|
44
35
|
if (!isStyleSheetRes) {
|
|
45
36
|
if (!snippetKeyCache.has(syntax)) {
|
|
46
|
-
|
|
37
|
+
var registry = (_a = customSnippetsRegistry[syntax]) !== null && _a !== void 0 ? _a : getDefaultSnippets(syntax);
|
|
47
38
|
snippetKeyCache.set(syntax, Object.keys(registry));
|
|
48
39
|
}
|
|
49
40
|
markupSnippetKeys = (_b = snippetKeyCache.get(syntax)) !== null && _b !== void 0 ? _b : [];
|
|
50
41
|
}
|
|
51
|
-
|
|
42
|
+
var extractOptions = {
|
|
52
43
|
lookAhead: !isStyleSheetRes,
|
|
53
44
|
type: isStyleSheetRes ? 'stylesheet' : 'markup'
|
|
54
45
|
};
|
|
55
|
-
|
|
46
|
+
var extractedValue = extractAbbreviation(_monaco, model, position, extractOptions);
|
|
56
47
|
if (!extractedValue) {
|
|
57
48
|
return;
|
|
58
49
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const currentLineTillPosition = getCurrentLine(model, position).substr(0, position.column - 1);
|
|
65
|
-
const currentWord = getCurrentWord(currentLineTillPosition);
|
|
50
|
+
var abbreviationRange = extractedValue.abbreviationRange,
|
|
51
|
+
abbreviation = extractedValue.abbreviation,
|
|
52
|
+
filter = extractedValue.filter;
|
|
53
|
+
var currentLineTillPosition = getCurrentLine(model, position).substr(0, position.column - 1);
|
|
54
|
+
var currentWord = getCurrentWord(currentLineTillPosition);
|
|
66
55
|
// Don't attempt to expand open tags
|
|
67
|
-
if (currentWord === abbreviation && currentLineTillPosition.endsWith(
|
|
56
|
+
if (currentWord === abbreviation && currentLineTillPosition.endsWith("<".concat(abbreviation)) && syntaxes.markup.includes(syntax)) {
|
|
68
57
|
return;
|
|
69
58
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
59
|
+
var expandOptions = getExpandOptions(syntax, emmetConfig, filter);
|
|
60
|
+
var expandedText = "";
|
|
61
|
+
var expandedAbbr;
|
|
62
|
+
var completionItems = [];
|
|
74
63
|
// Create completion item after expanding given abbreviation
|
|
75
64
|
// if abbreviation is valid and expanded value is not noise
|
|
76
|
-
|
|
65
|
+
var createExpandedAbbr = function createExpandedAbbr(syntax, abbr) {
|
|
77
66
|
if (!isAbbreviationValid(syntax, abbreviation)) {
|
|
78
67
|
return;
|
|
79
68
|
}
|
|
@@ -101,7 +90,9 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
101
90
|
if (isStyleSheet(syntax)) {
|
|
102
91
|
createExpandedAbbr(syntax, abbreviation);
|
|
103
92
|
// When abbr is longer than usual emmet snippets and matches better with existing css property, then no emmet
|
|
104
|
-
if (abbreviation.length > 4 && cssData.properties.find(
|
|
93
|
+
if (abbreviation.length > 4 && cssData.properties.find(function (x) {
|
|
94
|
+
return x.startsWith(abbreviation);
|
|
95
|
+
})) {
|
|
105
96
|
return {
|
|
106
97
|
suggestions: [],
|
|
107
98
|
incomplete: true
|
|
@@ -114,13 +105,17 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
114
105
|
expandedAbbr.label = removeTabStops(expandedText);
|
|
115
106
|
expandedAbbr.filterText = abbreviation;
|
|
116
107
|
// Custom snippets should show up in completions if abbreviation is a prefix
|
|
117
|
-
|
|
108
|
+
var stylesheetCustomSnippetsKeys = stylesheetCustomSnippetsKeyCache.has(syntax) ? stylesheetCustomSnippetsKeyCache.get(syntax) : stylesheetCustomSnippetsKeyCache.get('css');
|
|
118
109
|
completionItems = makeSnippetSuggestion(_monaco, stylesheetCustomSnippetsKeys !== null && stylesheetCustomSnippetsKeys !== void 0 ? stylesheetCustomSnippetsKeys : [], abbreviation, abbreviation, abbreviationRange, expandOptions, 'Emmet Custom Snippet', false);
|
|
119
|
-
if (!completionItems.find(
|
|
110
|
+
if (!completionItems.find(function (x) {
|
|
111
|
+
return x.insertText === (expandedAbbr === null || expandedAbbr === void 0 ? void 0 : expandedAbbr.insertText);
|
|
112
|
+
})) {
|
|
120
113
|
// Fix for https://github.com/Microsoft/vscode/issues/28933#issuecomment-309236902
|
|
121
114
|
// When user types in propertyname, emmet uses it to match with snippet names, resulting in width -> widows or font-family -> font: family
|
|
122
115
|
// Filter out those cases here.
|
|
123
|
-
|
|
116
|
+
var abbrRegex = new RegExp('.*' + abbreviation.split('').map(function (x) {
|
|
117
|
+
return x === '$' || x === '+' ? '\\' + x : x;
|
|
118
|
+
}).join('.*') + '.*', 'i');
|
|
124
119
|
if (/\d/.test(abbreviation) || abbrRegex.test(expandedAbbr.label)) {
|
|
125
120
|
completionItems.push(expandedAbbr);
|
|
126
121
|
}
|
|
@@ -128,21 +123,23 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
128
123
|
}
|
|
129
124
|
} else {
|
|
130
125
|
createExpandedAbbr(syntax, abbreviation);
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
var tagToFindMoreSuggestionsFor = abbreviation;
|
|
127
|
+
var newTagMatches = /(>|\+)([\w:-]+)$/.exec(abbreviation);
|
|
133
128
|
if (newTagMatches && newTagMatches.length === 3) {
|
|
134
129
|
tagToFindMoreSuggestionsFor = newTagMatches[2];
|
|
135
130
|
}
|
|
136
131
|
if (syntax !== 'xml') {
|
|
137
|
-
|
|
132
|
+
var commonlyUsedTagSuggestions = makeSnippetSuggestion(_monaco, commonlyUsedTags, tagToFindMoreSuggestionsFor, abbreviation, abbreviationRange, expandOptions, 'Emmet Abbreviation');
|
|
138
133
|
completionItems = completionItems.concat(commonlyUsedTagSuggestions);
|
|
139
134
|
}
|
|
140
135
|
if (emmetConfig.showAbbreviationSuggestions === true) {
|
|
141
|
-
|
|
136
|
+
var abbreviationSuggestions = makeSnippetSuggestion(_monaco, markupSnippetKeys.filter(function (x) {
|
|
137
|
+
return !commonlyUsedTags.includes(x);
|
|
138
|
+
}), tagToFindMoreSuggestionsFor, abbreviation, abbreviationRange, expandOptions, 'Emmet Abbreviation');
|
|
142
139
|
// Workaround for the main expanded abbr not appearing before the snippet suggestions
|
|
143
140
|
if (expandedAbbr && abbreviationSuggestions.length > 0 && tagToFindMoreSuggestionsFor !== abbreviation) {
|
|
144
141
|
expandedAbbr.sortText = '0' + expandedAbbr.label;
|
|
145
|
-
abbreviationSuggestions.forEach(item
|
|
142
|
+
abbreviationSuggestions.forEach(function (item) {
|
|
146
143
|
// Workaround for snippet suggestions items getting filtered out as the complete abbr does not start with snippetKey
|
|
147
144
|
item.filterText = abbreviation;
|
|
148
145
|
// Workaround for the main expanded abbr not appearing before the snippet suggestions
|
|
@@ -152,12 +149,16 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
152
149
|
completionItems = completionItems.concat(abbreviationSuggestions);
|
|
153
150
|
}
|
|
154
151
|
// https://github.com/microsoft/vscode/issues/66680
|
|
155
|
-
if (syntax === 'html' && completionItems.length >= 2 && abbreviation.includes(":") && (expandedAbbr === null || expandedAbbr === void 0 ? void 0 : expandedAbbr.insertText) ===
|
|
156
|
-
completionItems = completionItems.filter(
|
|
152
|
+
if (syntax === 'html' && completionItems.length >= 2 && abbreviation.includes(":") && (expandedAbbr === null || expandedAbbr === void 0 ? void 0 : expandedAbbr.insertText) === "<".concat(abbreviation, ">${0}</").concat(abbreviation, ">")) {
|
|
153
|
+
completionItems = completionItems.filter(function (item) {
|
|
154
|
+
return item.label !== abbreviation;
|
|
155
|
+
});
|
|
157
156
|
}
|
|
158
157
|
}
|
|
159
158
|
if (emmetConfig.showSuggestionsAsSnippets === true) {
|
|
160
|
-
completionItems.forEach(
|
|
159
|
+
completionItems.forEach(function (x) {
|
|
160
|
+
return x.kind = _monaco.languages.CompletionItemKind.Snippet;
|
|
161
|
+
});
|
|
161
162
|
}
|
|
162
163
|
return completionItems.length ? {
|
|
163
164
|
suggestions: completionItems,
|
|
@@ -167,24 +168,25 @@ function doComplete(_monaco, model, position, syntax, emmetConfig) {
|
|
|
167
168
|
/**
|
|
168
169
|
* Create & return snippets for snippet keys that start with given prefix
|
|
169
170
|
*/
|
|
170
|
-
function makeSnippetSuggestion(_monaco, snippetKeys, prefix, abbreviation, abbreviationRange, expandOptions, snippetDetail
|
|
171
|
+
function makeSnippetSuggestion(_monaco, snippetKeys, prefix, abbreviation, abbreviationRange, expandOptions, snippetDetail) {
|
|
172
|
+
var skipFullMatch = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : true;
|
|
171
173
|
if (!prefix || !snippetKeys) {
|
|
172
174
|
return [];
|
|
173
175
|
}
|
|
174
|
-
|
|
175
|
-
snippetKeys.forEach(snippetKey
|
|
176
|
+
var snippetCompletions = [];
|
|
177
|
+
snippetKeys.forEach(function (snippetKey) {
|
|
176
178
|
if (!snippetKey.startsWith(prefix.toLowerCase()) || skipFullMatch && snippetKey === prefix.toLowerCase()) {
|
|
177
179
|
return;
|
|
178
180
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
+
var currentAbbr = abbreviation + snippetKey.substr(prefix.length);
|
|
182
|
+
var expandedAbbr;
|
|
181
183
|
try {
|
|
182
184
|
expandedAbbr = expand(currentAbbr, expandOptions);
|
|
183
185
|
} catch (e) {}
|
|
184
186
|
if (!expandedAbbr) {
|
|
185
187
|
return;
|
|
186
188
|
}
|
|
187
|
-
|
|
189
|
+
var item = {
|
|
188
190
|
kind: _monaco.languages.CompletionItemKind.Property,
|
|
189
191
|
label: prefix + snippetKey.substr(prefix.length),
|
|
190
192
|
documentation: replaceTabStopsWithCursors(expandedAbbr),
|
|
@@ -199,7 +201,7 @@ function makeSnippetSuggestion(_monaco, snippetKeys, prefix, abbreviation, abbre
|
|
|
199
201
|
}
|
|
200
202
|
function getCurrentWord(currentLineTillPosition) {
|
|
201
203
|
if (currentLineTillPosition) {
|
|
202
|
-
|
|
204
|
+
var matches = /[\w,:,-,\.]*$/.exec(currentLineTillPosition);
|
|
203
205
|
if (matches) {
|
|
204
206
|
return matches[0];
|
|
205
207
|
}
|
|
@@ -218,12 +220,12 @@ function addFinalTabStop(text) {
|
|
|
218
220
|
if (!text || !text.trim()) {
|
|
219
221
|
return text;
|
|
220
222
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
223
|
+
var maxTabStop = -1;
|
|
224
|
+
var maxTabStopRanges = [];
|
|
225
|
+
var foundLastStop = false;
|
|
226
|
+
var replaceWithLastStop = false;
|
|
227
|
+
var i = 0;
|
|
228
|
+
var n = text.length;
|
|
227
229
|
try {
|
|
228
230
|
while (i < n && !foundLastStop) {
|
|
229
231
|
// Look for ${
|
|
@@ -231,8 +233,8 @@ function addFinalTabStop(text) {
|
|
|
231
233
|
continue;
|
|
232
234
|
}
|
|
233
235
|
// Find tabstop
|
|
234
|
-
|
|
235
|
-
|
|
236
|
+
var numberStart = -1;
|
|
237
|
+
var numberEnd = -1;
|
|
236
238
|
while (i < n && /\d/.test(text[i])) {
|
|
237
239
|
numberStart = numberStart < 0 ? i : numberStart;
|
|
238
240
|
numberEnd = i + 1;
|
|
@@ -243,12 +245,12 @@ function addFinalTabStop(text) {
|
|
|
243
245
|
continue;
|
|
244
246
|
}
|
|
245
247
|
// If ${0} was found, then break
|
|
246
|
-
|
|
248
|
+
var currentTabStop = text.substring(numberStart, numberEnd);
|
|
247
249
|
foundLastStop = currentTabStop === '0';
|
|
248
250
|
if (foundLastStop) {
|
|
249
251
|
break;
|
|
250
252
|
}
|
|
251
|
-
|
|
253
|
+
var foundPlaceholder = false;
|
|
252
254
|
if (text[i++] == ':') {
|
|
253
255
|
// TODO: Nested placeholders may break here
|
|
254
256
|
while (i < n) {
|
|
@@ -263,35 +265,37 @@ function addFinalTabStop(text) {
|
|
|
263
265
|
if (Number(currentTabStop) > Number(maxTabStop)) {
|
|
264
266
|
maxTabStop = Number(currentTabStop);
|
|
265
267
|
maxTabStopRanges = [{
|
|
266
|
-
numberStart,
|
|
267
|
-
numberEnd
|
|
268
|
+
numberStart: numberStart,
|
|
269
|
+
numberEnd: numberEnd
|
|
268
270
|
}];
|
|
269
271
|
replaceWithLastStop = !foundPlaceholder;
|
|
270
272
|
} else if (Number(currentTabStop) === maxTabStop) {
|
|
271
273
|
maxTabStopRanges.push({
|
|
272
|
-
numberStart,
|
|
273
|
-
numberEnd
|
|
274
|
+
numberStart: numberStart,
|
|
275
|
+
numberEnd: numberEnd
|
|
274
276
|
});
|
|
275
277
|
}
|
|
276
278
|
}
|
|
277
279
|
} catch (e) {}
|
|
278
280
|
if (replaceWithLastStop && !foundLastStop) {
|
|
279
|
-
for (
|
|
280
|
-
|
|
281
|
-
|
|
281
|
+
for (var _i = 0; _i < maxTabStopRanges.length; _i++) {
|
|
282
|
+
var rangeStart = maxTabStopRanges[_i].numberStart;
|
|
283
|
+
var rangeEnd = maxTabStopRanges[_i].numberEnd;
|
|
282
284
|
text = text.substr(0, rangeStart) + '0' + text.substr(rangeEnd);
|
|
283
285
|
}
|
|
284
286
|
}
|
|
285
287
|
return text;
|
|
286
288
|
}
|
|
287
289
|
function getCurrentLine(model, position) {
|
|
288
|
-
|
|
290
|
+
var currentLine = model.getLineContent(position.lineNumber);
|
|
289
291
|
return currentLine;
|
|
290
292
|
}
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
293
|
+
var customSnippetsRegistry = {};
|
|
294
|
+
var variablesFromFile = {};
|
|
295
|
+
var profilesFromFile = {};
|
|
296
|
+
var emmetSnippetField = function emmetSnippetField(index, placeholder) {
|
|
297
|
+
return "${".concat(index).concat(placeholder ? ':' + placeholder : '', "}");
|
|
298
|
+
};
|
|
295
299
|
/** Returns whether or not syntax is a supported stylesheet syntax, like CSS */
|
|
296
300
|
function isStyleSheet(syntax) {
|
|
297
301
|
return syntaxes.stylesheet.includes(syntax);
|
|
@@ -306,26 +310,26 @@ function getDefaultSyntax(syntax) {
|
|
|
306
310
|
}
|
|
307
311
|
/** Returns the default snippets that Emmet suggests */
|
|
308
312
|
function getDefaultSnippets(syntax) {
|
|
309
|
-
|
|
310
|
-
|
|
313
|
+
var syntaxType = getSyntaxType(syntax);
|
|
314
|
+
var emptyUserConfig = {
|
|
311
315
|
type: syntaxType,
|
|
312
|
-
syntax
|
|
316
|
+
syntax: syntax
|
|
313
317
|
};
|
|
314
|
-
|
|
318
|
+
var resolvedConfig = resolveConfig(emptyUserConfig);
|
|
315
319
|
// https://github.com/microsoft/vscode/issues/97632
|
|
316
320
|
// don't return markup (HTML) snippets for XML
|
|
317
321
|
return syntax === 'xml' ? {} : resolvedConfig.snippets;
|
|
318
322
|
}
|
|
319
323
|
function getFilters(text, pos) {
|
|
320
|
-
|
|
321
|
-
for (
|
|
322
|
-
if (text.endsWith(
|
|
324
|
+
var filter;
|
|
325
|
+
for (var i = 0; i < maxFilters; i++) {
|
|
326
|
+
if (text.endsWith("".concat(filterDelimitor).concat(bemFilterSuffix), pos)) {
|
|
323
327
|
pos -= bemFilterSuffix.length + 1;
|
|
324
328
|
filter = filter ? bemFilterSuffix + ',' + filter : bemFilterSuffix;
|
|
325
|
-
} else if (text.endsWith(
|
|
329
|
+
} else if (text.endsWith("".concat(filterDelimitor).concat(commentFilterSuffix), pos)) {
|
|
326
330
|
pos -= commentFilterSuffix.length + 1;
|
|
327
331
|
filter = filter ? commentFilterSuffix + ',' + filter : commentFilterSuffix;
|
|
328
|
-
} else if (text.endsWith(
|
|
332
|
+
} else if (text.endsWith("".concat(filterDelimitor).concat(trimFilterSuffix), pos)) {
|
|
329
333
|
pos -= trimFilterSuffix.length + 1;
|
|
330
334
|
filter = filter ? trimFilterSuffix + ',' + filter : trimFilterSuffix;
|
|
331
335
|
} else {
|
|
@@ -341,22 +345,21 @@ function getFilters(text, pos) {
|
|
|
341
345
|
* Extracts abbreviation from the given position in the given document
|
|
342
346
|
*/
|
|
343
347
|
function extractAbbreviation(_monaco, model, position, options) {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
pos,
|
|
348
|
-
filter
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
const result = extract(currentLine, pos, options);
|
|
348
|
+
var currentLine = model.getLineContent(position.lineNumber);
|
|
349
|
+
var currentLineTillPosition = currentLine.substr(0, position.column - 1);
|
|
350
|
+
var _getFilters = getFilters(currentLineTillPosition, position.column - 1),
|
|
351
|
+
pos = _getFilters.pos,
|
|
352
|
+
filter = _getFilters.filter;
|
|
353
|
+
var lengthOccupiedByFilter = filter ? filter.length + 1 : 0;
|
|
354
|
+
var result = extract(currentLine, pos, options);
|
|
352
355
|
if (!result) {
|
|
353
356
|
return;
|
|
354
357
|
}
|
|
355
|
-
|
|
358
|
+
var rangeToReplace = new _monaco.Range(position.lineNumber, result.location + 1, position.lineNumber, result.location + result.abbreviation.length + lengthOccupiedByFilter + 1);
|
|
356
359
|
return {
|
|
357
360
|
abbreviationRange: rangeToReplace,
|
|
358
361
|
abbreviation: result.abbreviation,
|
|
359
|
-
filter
|
|
362
|
+
filter: filter
|
|
360
363
|
};
|
|
361
364
|
}
|
|
362
365
|
/**
|
|
@@ -372,7 +375,7 @@ function isAbbreviationValid(syntax, abbreviation) {
|
|
|
372
375
|
if (isStyleSheet(syntax)) {
|
|
373
376
|
if (abbreviation.includes('#')) {
|
|
374
377
|
if (abbreviation.startsWith('#')) {
|
|
375
|
-
|
|
378
|
+
var hexColorRegex = /^#[\d,a-f,A-F]{1,6}$/;
|
|
376
379
|
return hexColorRegex.test(abbreviation);
|
|
377
380
|
} else if (commonlyUsedTags.includes(abbreviation.substring(0, abbreviation.indexOf('#')))) {
|
|
378
381
|
return false;
|
|
@@ -398,16 +401,18 @@ function isExpandedTextNoise(syntax, abbreviation, expandedText, options) {
|
|
|
398
401
|
// Unresolved css abbreviations get expanded to a blank property value
|
|
399
402
|
// Eg: abc -> abc: ; or abc:d -> abc: d; which is noise if it gets suggested for every word typed
|
|
400
403
|
if (isStyleSheet(syntax) && options) {
|
|
401
|
-
|
|
402
|
-
|
|
404
|
+
var between = (_a = options['stylesheet.between']) !== null && _a !== void 0 ? _a : ': ';
|
|
405
|
+
var after = (_b = options['stylesheet.after']) !== null && _b !== void 0 ? _b : ';';
|
|
403
406
|
// Remove overlapping between `abbreviation` and `between`, if any
|
|
404
|
-
|
|
407
|
+
var endPrefixIndex = abbreviation.indexOf(between[0], Math.max(abbreviation.length - between.length, 0));
|
|
405
408
|
endPrefixIndex = endPrefixIndex >= 0 ? endPrefixIndex : abbreviation.length;
|
|
406
|
-
|
|
407
|
-
return expandedText ===
|
|
409
|
+
var abbr = abbreviation.substring(0, endPrefixIndex);
|
|
410
|
+
return expandedText === "".concat(abbr).concat(between, "${0}").concat(after) || expandedText.replace(/\s/g, '') === abbreviation.replace(/\s/g, '') + after;
|
|
408
411
|
}
|
|
409
412
|
// we don't want common html tags suggested for xml
|
|
410
|
-
if (syntax === 'xml' && commonlyUsedTags.some(
|
|
413
|
+
if (syntax === 'xml' && commonlyUsedTags.some(function (tag) {
|
|
414
|
+
return tag.startsWith(abbreviation.toLowerCase());
|
|
415
|
+
})) {
|
|
411
416
|
return true;
|
|
412
417
|
}
|
|
413
418
|
if (commonlyUsedTags.includes(abbreviation.toLowerCase()) || markupSnippetKeys.includes(abbreviation)) {
|
|
@@ -425,7 +430,7 @@ function isExpandedTextNoise(syntax, abbreviation, expandedText, options) {
|
|
|
425
430
|
if (abbreviation === '.') {
|
|
426
431
|
return false;
|
|
427
432
|
}
|
|
428
|
-
|
|
433
|
+
var dotMatches = /^([a-z,A-Z,\d]*)\.$/.exec(abbreviation);
|
|
429
434
|
if (dotMatches) {
|
|
430
435
|
// Valid html tags such as `div.`
|
|
431
436
|
if (dotMatches[1] && htmlData.tags.includes(dotMatches[1])) {
|
|
@@ -441,7 +446,7 @@ function isExpandedTextNoise(syntax, abbreviation, expandedText, options) {
|
|
|
441
446
|
}
|
|
442
447
|
// Unresolved html abbreviations get expanded as if it were a tag
|
|
443
448
|
// Eg: abc -> <abc></abc> which is noise if it gets suggested for every word typed
|
|
444
|
-
return expandedText.toLowerCase() ===
|
|
449
|
+
return expandedText.toLowerCase() === "<".concat(abbreviation.toLowerCase(), ">${1}</").concat(abbreviation.toLowerCase(), ">");
|
|
445
450
|
}
|
|
446
451
|
/**
|
|
447
452
|
* Returns options to be used by emmet
|
|
@@ -450,20 +455,26 @@ function getExpandOptions(syntax, emmetConfig, filter) {
|
|
|
450
455
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
451
456
|
emmetConfig = emmetConfig !== null && emmetConfig !== void 0 ? emmetConfig : {};
|
|
452
457
|
emmetConfig['preferences'] = (_a = emmetConfig['preferences']) !== null && _a !== void 0 ? _a : {};
|
|
453
|
-
|
|
454
|
-
|
|
458
|
+
var preferences = emmetConfig['preferences'];
|
|
459
|
+
var stylesheetSyntax = isStyleSheet(syntax) ? syntax : 'css';
|
|
455
460
|
// Fetch Profile
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
+
var profile = getProfile(syntax, (_b = emmetConfig['syntaxProfiles']) !== null && _b !== void 0 ? _b : {});
|
|
462
|
+
var filtersFromProfile = profile && profile['filters'] ? profile['filters'].split(',') : [];
|
|
463
|
+
var trimmedFilters = filtersFromProfile.map(function (filterFromProfile) {
|
|
464
|
+
return filterFromProfile.trim();
|
|
465
|
+
});
|
|
466
|
+
var bemEnabled = filter && filter.split(',').some(function (x) {
|
|
467
|
+
return x.trim() === 'bem';
|
|
468
|
+
}) || trimmedFilters.includes('bem');
|
|
469
|
+
var commentEnabled = filter && filter.split(',').some(function (x) {
|
|
470
|
+
return x.trim() === 'c';
|
|
471
|
+
}) || trimmedFilters.includes('c');
|
|
461
472
|
// Fetch formatters
|
|
462
|
-
|
|
463
|
-
|
|
473
|
+
var formatters = getFormatters(syntax, emmetConfig['preferences']);
|
|
474
|
+
var unitAliases = (formatters === null || formatters === void 0 ? void 0 : formatters.stylesheet) && formatters.stylesheet['unitAliases'] || {};
|
|
464
475
|
// These options are the default values provided by vscode for
|
|
465
476
|
// extension preferences
|
|
466
|
-
|
|
477
|
+
var defaultVSCodeOptions = {
|
|
467
478
|
// inlineElements: string[],
|
|
468
479
|
// 'output.indent': string,
|
|
469
480
|
// 'output.baseIndent': string,
|
|
@@ -509,7 +520,7 @@ function getExpandOptions(syntax, emmetConfig, filter) {
|
|
|
509
520
|
'stylesheet.fuzzySearchMinScore': 0.3
|
|
510
521
|
};
|
|
511
522
|
// These options come from user prefs in the vscode repo
|
|
512
|
-
|
|
523
|
+
var userPreferenceOptions = {
|
|
513
524
|
// inlineElements: string[],
|
|
514
525
|
// 'output.indent': string,
|
|
515
526
|
// 'output.baseIndent': string,
|
|
@@ -540,8 +551,8 @@ function getExpandOptions(syntax, emmetConfig, filter) {
|
|
|
540
551
|
// 'stylesheet.keywords': string[],
|
|
541
552
|
// 'stylesheet.unitless': string[],
|
|
542
553
|
'stylesheet.shortHex': preferences['css.color.short'],
|
|
543
|
-
'stylesheet.between': preferences[
|
|
544
|
-
'stylesheet.after': preferences[
|
|
554
|
+
'stylesheet.between': preferences["".concat(stylesheetSyntax, ".valueSeparator")],
|
|
555
|
+
'stylesheet.after': preferences["".concat(stylesheetSyntax, ".propertyEnd")],
|
|
545
556
|
'stylesheet.intUnit': preferences['css.intUnit'],
|
|
546
557
|
'stylesheet.floatUnit': preferences['css.floatUnit'],
|
|
547
558
|
'stylesheet.unitAliases': unitAliases,
|
|
@@ -549,24 +560,24 @@ function getExpandOptions(syntax, emmetConfig, filter) {
|
|
|
549
560
|
// 'stylesheet.jsonDoubleQuotes': boolean,
|
|
550
561
|
'stylesheet.fuzzySearchMinScore': preferences['css.fuzzySearchMinScore']
|
|
551
562
|
};
|
|
552
|
-
|
|
553
|
-
[
|
|
563
|
+
var combinedOptions = {};
|
|
564
|
+
[].concat(_toConsumableArray(Object.keys(defaultVSCodeOptions)), _toConsumableArray(Object.keys(userPreferenceOptions))).forEach(function (key) {
|
|
554
565
|
var _a;
|
|
555
|
-
|
|
566
|
+
var castKey = key;
|
|
556
567
|
combinedOptions[castKey] = (_a = userPreferenceOptions[castKey]) !== null && _a !== void 0 ? _a : defaultVSCodeOptions[castKey];
|
|
557
568
|
});
|
|
558
|
-
|
|
569
|
+
var mergedAliases = Object.assign(Object.assign({}, defaultVSCodeOptions['stylesheet.unitAliases']), userPreferenceOptions['stylesheet.unitAliases']);
|
|
559
570
|
combinedOptions['stylesheet.unitAliases'] = mergedAliases;
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
571
|
+
var type = getSyntaxType(syntax);
|
|
572
|
+
var variables = getVariables(emmetConfig['variables']);
|
|
573
|
+
var baseSyntax = getDefaultSyntax(syntax);
|
|
574
|
+
var snippets = type === 'stylesheet' ? (_k = customSnippetsRegistry[syntax]) !== null && _k !== void 0 ? _k : customSnippetsRegistry[baseSyntax] : customSnippetsRegistry[syntax];
|
|
564
575
|
return {
|
|
565
|
-
type,
|
|
576
|
+
type: type,
|
|
566
577
|
options: combinedOptions,
|
|
567
|
-
variables,
|
|
568
|
-
snippets,
|
|
569
|
-
syntax,
|
|
578
|
+
variables: variables,
|
|
579
|
+
snippets: snippets,
|
|
580
|
+
syntax: syntax,
|
|
570
581
|
// context: null,
|
|
571
582
|
text: undefined,
|
|
572
583
|
maxRepeat: 1000
|
|
@@ -596,8 +607,8 @@ function getProfile(syntax, profilesFromSettings) {
|
|
|
596
607
|
if (!profilesFromSettings) {
|
|
597
608
|
profilesFromSettings = {};
|
|
598
609
|
}
|
|
599
|
-
|
|
600
|
-
|
|
610
|
+
var profilesConfig = Object.assign({}, profilesFromFile, profilesFromSettings);
|
|
611
|
+
var options = profilesConfig[syntax];
|
|
601
612
|
if (!options || typeof options === 'string') {
|
|
602
613
|
if (options === 'xhtml') {
|
|
603
614
|
return {
|
|
@@ -606,8 +617,8 @@ function getProfile(syntax, profilesFromSettings) {
|
|
|
606
617
|
}
|
|
607
618
|
return {};
|
|
608
619
|
}
|
|
609
|
-
|
|
610
|
-
for (
|
|
620
|
+
var newOptions = {};
|
|
621
|
+
for (var key in options) {
|
|
611
622
|
switch (key) {
|
|
612
623
|
case 'tag_case':
|
|
613
624
|
newOptions['tagCase'] = options[key] === 'lower' || options[key] === 'upper' ? options[key] : '';
|
|
@@ -655,12 +666,12 @@ function getVariables(variablesFromSettings) {
|
|
|
655
666
|
return Object.assign({}, variablesFromFile, variablesFromSettings);
|
|
656
667
|
}
|
|
657
668
|
function getFormatters(syntax, preferences) {
|
|
658
|
-
if (!preferences ||
|
|
669
|
+
if (!preferences || _typeof(preferences) !== 'object') {
|
|
659
670
|
return {};
|
|
660
671
|
}
|
|
661
672
|
if (!isStyleSheet(syntax)) {
|
|
662
|
-
|
|
663
|
-
for (
|
|
673
|
+
var commentFormatter = {};
|
|
674
|
+
for (var key in preferences) {
|
|
664
675
|
switch (key) {
|
|
665
676
|
case 'filter.commentAfter':
|
|
666
677
|
commentFormatter['after'] = preferences[key];
|
|
@@ -677,31 +688,31 @@ function getFormatters(syntax, preferences) {
|
|
|
677
688
|
comment: commentFormatter
|
|
678
689
|
};
|
|
679
690
|
}
|
|
680
|
-
|
|
691
|
+
var fuzzySearchMinScore = typeof (preferences === null || preferences === void 0 ? void 0 : preferences['css.fuzzySearchMinScore']) === 'number' ? preferences['css.fuzzySearchMinScore'] : 0.3;
|
|
681
692
|
if (fuzzySearchMinScore > 1) {
|
|
682
693
|
fuzzySearchMinScore = 1;
|
|
683
694
|
} else if (fuzzySearchMinScore < 0) {
|
|
684
695
|
fuzzySearchMinScore = 0;
|
|
685
696
|
}
|
|
686
|
-
|
|
697
|
+
var stylesheetFormatter = {
|
|
687
698
|
'fuzzySearchMinScore': fuzzySearchMinScore
|
|
688
699
|
};
|
|
689
|
-
|
|
690
|
-
switch (
|
|
700
|
+
var _loop = function _loop() {
|
|
701
|
+
switch (_key) {
|
|
691
702
|
case 'css.floatUnit':
|
|
692
|
-
stylesheetFormatter['floatUnit'] = preferences[
|
|
703
|
+
stylesheetFormatter['floatUnit'] = preferences[_key];
|
|
693
704
|
break;
|
|
694
705
|
case 'css.intUnit':
|
|
695
|
-
stylesheetFormatter['intUnit'] = preferences[
|
|
706
|
+
stylesheetFormatter['intUnit'] = preferences[_key];
|
|
696
707
|
break;
|
|
697
708
|
case 'css.unitAliases':
|
|
698
|
-
|
|
699
|
-
preferences[
|
|
709
|
+
var unitAliases = {};
|
|
710
|
+
preferences[_key].split(',').forEach(function (alias) {
|
|
700
711
|
if (!alias || !alias.trim() || !alias.includes(':')) {
|
|
701
712
|
return;
|
|
702
713
|
}
|
|
703
|
-
|
|
704
|
-
|
|
714
|
+
var aliasName = alias.substr(0, alias.indexOf(':'));
|
|
715
|
+
var aliasValue = alias.substr(aliasName.length + 1);
|
|
705
716
|
if (!aliasName.trim() || !aliasValue) {
|
|
706
717
|
return;
|
|
707
718
|
}
|
|
@@ -709,13 +720,16 @@ function getFormatters(syntax, preferences) {
|
|
|
709
720
|
});
|
|
710
721
|
stylesheetFormatter['unitAliases'] = unitAliases;
|
|
711
722
|
break;
|
|
712
|
-
case
|
|
713
|
-
stylesheetFormatter['between'] = preferences[
|
|
723
|
+
case "".concat(syntax, ".valueSeparator"):
|
|
724
|
+
stylesheetFormatter['between'] = preferences[_key];
|
|
714
725
|
break;
|
|
715
|
-
case
|
|
716
|
-
stylesheetFormatter['after'] = preferences[
|
|
726
|
+
case "".concat(syntax, ".propertyEnd"):
|
|
727
|
+
stylesheetFormatter['after'] = preferences[_key];
|
|
717
728
|
break;
|
|
718
729
|
}
|
|
730
|
+
};
|
|
731
|
+
for (var _key in preferences) {
|
|
732
|
+
_loop();
|
|
719
733
|
}
|
|
720
734
|
return {
|
|
721
735
|
stylesheet: stylesheetFormatter
|
|
@@ -730,7 +744,8 @@ function getFormatters(syntax, preferences) {
|
|
|
730
744
|
* @param language
|
|
731
745
|
* @param exlcudedLanguages Array of language ids that user has chosen to exlcude for emmet
|
|
732
746
|
*/
|
|
733
|
-
function getEmmetMode(language
|
|
747
|
+
function getEmmetMode(language) {
|
|
748
|
+
var excludedLanguages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
734
749
|
if (!language || excludedLanguages.includes(language)) {
|
|
735
750
|
return;
|
|
736
751
|
}
|