@elice/material-exercise 1.220830.0 → 1.220919.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/material-exercise/MaterialExercise.styled.js +1 -1
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +9 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +5 -1
- package/cjs/components/shared/monaco-editor/MonacoEditor.js +9 -9
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +3 -3
- package/cjs/components/shared/monaco-editor/editor-languages/css/index.d.ts +4 -0
- package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +12 -0
- package/cjs/components/shared/monaco-editor/editor-languages/html/index.d.ts +4 -0
- package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +10 -0
- package/cjs/components/shared/monaco-editor/editor-languages/index.js +2 -2
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.d.ts +4 -0
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/emmet.d.ts +13 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +31 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/index.d.ts +1 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.d.ts +5 -0
- package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +26 -0
- package/cjs/components/shared/monaco-editor/utils/grammar/index.js +2 -2
- package/cjs/components/shared/monaco-editor/utils/prettier/index.js +6 -2
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.d.ts +15 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +15 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.d.ts +6 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +22 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.d.ts +96 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +900 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.d.ts +2 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.d.ts +12 -0
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +42 -0
- package/cjs/components/shared/web-browser/WebBrowser.js +16 -11
- package/cjs/components/shared/xterm/Xterm.js +10 -3
- package/es/components/material-exercise/MaterialExercise.styled.js +1 -1
- package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +10 -2
- package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +5 -1
- package/es/components/shared/monaco-editor/MonacoEditor.js +11 -11
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +3 -3
- package/es/components/shared/monaco-editor/editor-languages/css/index.d.ts +4 -0
- package/es/components/shared/monaco-editor/editor-languages/css/index.js +12 -1
- package/es/components/shared/monaco-editor/editor-languages/html/index.d.ts +4 -0
- package/es/components/shared/monaco-editor/editor-languages/html/index.js +10 -1
- package/es/components/shared/monaco-editor/editor-languages/index.js +2 -2
- package/es/components/shared/monaco-editor/editor-languages/typescript/index.d.ts +4 -0
- package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -1
- package/es/components/shared/monaco-editor/utils/emmet/emmet.d.ts +13 -0
- package/es/components/shared/monaco-editor/utils/emmet/emmet.js +25 -0
- package/es/components/shared/monaco-editor/utils/emmet/index.d.ts +1 -0
- package/es/components/shared/monaco-editor/utils/emmet/registerProvider.d.ts +5 -0
- package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +22 -0
- package/es/components/shared/monaco-editor/utils/grammar/index.js +2 -2
- package/es/components/shared/monaco-editor/utils/prettier/index.js +6 -2
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.d.ts +15 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +11 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.d.ts +6 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +17 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.d.ts +96 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +883 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.d.ts +2 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.d.ts +12 -0
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +36 -0
- package/es/components/shared/web-browser/WebBrowser.js +16 -11
- package/es/components/shared/xterm/Xterm.js +10 -3
- package/package.json +7 -6
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/OnDisposed.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursor.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursor.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorManager.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorManager.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorWidget.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorWidget.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelection.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelection.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelectionManager.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelectionManager.js +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/index.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/styles.d.ts +0 -0
- /package/cjs/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/styles.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/OnDisposed.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursor.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursor.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorManager.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorManager.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorWidget.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteCursorWidget.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelection.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelection.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelectionManager.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/RemoteSelectionManager.js +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/index.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/styles.d.ts +0 -0
- /package/es/components/shared/monaco-editor/{utils/remoteMarker → vendors/monaco-collab-ext}/styles.js +0 -0
|
@@ -28,7 +28,7 @@ const EXERCISE_HORIZONTAL_RATIO = {
|
|
|
28
28
|
|
|
29
29
|
const StyledExerciseContainer = styled__default["default"].div.withConfig({
|
|
30
30
|
componentId: "sc-9joi7g-0"
|
|
31
|
-
})(["flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;
|
|
31
|
+
})(["flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;"]);
|
|
32
32
|
/**
|
|
33
33
|
* Wrapper contains:
|
|
34
34
|
* - FileTree
|
|
@@ -4,10 +4,11 @@ var React = require('react');
|
|
|
4
4
|
var reactIntl = require('react-intl');
|
|
5
5
|
var blocks = require('@elice/blocks');
|
|
6
6
|
var icons = require('@elice/icons');
|
|
7
|
+
var types = require('@elice/types');
|
|
7
8
|
var recoil = require('recoil');
|
|
8
9
|
var ExerciseMenuButton = require('../../shared/exercise-menu-button/ExerciseMenuButton.js');
|
|
9
10
|
var recoil$1 = require('../context/recoil.js');
|
|
10
|
-
require('../context/context.js');
|
|
11
|
+
var context = require('../context/context.js');
|
|
11
12
|
require('../context/recoilTypes.js');
|
|
12
13
|
var subjects = require('../context/subjects.js');
|
|
13
14
|
require('../context/ExerciseProvider.js');
|
|
@@ -21,12 +22,18 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
21
22
|
|
|
22
23
|
const ExerciseMenuDropdown = () => {
|
|
23
24
|
const intl = reactIntl.useIntl();
|
|
25
|
+
const {
|
|
26
|
+
materialExerciseId
|
|
27
|
+
} = React__default["default"].useContext(context.ExerciseContext);
|
|
24
28
|
const user = recoil.useRecoilValue(recoil$1.exerciseUserState);
|
|
29
|
+
const exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
|
|
30
|
+
const lecture = recoil.useRecoilValue(recoil$1.exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise.lectureId));
|
|
25
31
|
const activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
|
|
26
32
|
const setRightpaneActiveState = recoil.useSetRecoilState(recoil$1.exerciseRightpaneActiveState);
|
|
27
33
|
const [isSubmitHistoryModalOpen, setIsSubmitHistoryModalOpen] = React__default["default"].useState(false);
|
|
28
34
|
const [isCodeHistoryModalOpen, setIsCodeHistoryModalOpen] = React__default["default"].useState(false);
|
|
29
35
|
const [isExerciseRoomModalOpen, setIsExerciseRoomModalOpen] = React__default["default"].useState(false);
|
|
36
|
+
const isLectureTestInProgress = typeof (lecture === null || lecture === void 0 ? void 0 : lecture.testAdmissionStatus) !== 'undefined' && lecture.testAdmissionStatus === types.enums.TestAdmissionStatus.InProgress;
|
|
30
37
|
/**
|
|
31
38
|
*
|
|
32
39
|
*/
|
|
@@ -103,6 +110,7 @@ const ExerciseMenuDropdown = () => {
|
|
|
103
110
|
label: intl.formatMessage({
|
|
104
111
|
id: 'exerciseMenu.dropdown.item.room'
|
|
105
112
|
}),
|
|
113
|
+
disabled: isLectureTestInProgress,
|
|
106
114
|
onClick: () => setIsExerciseRoomModalOpen(true)
|
|
107
115
|
}],
|
|
108
116
|
size: "xsmall",
|
|
@@ -484,10 +484,14 @@ const ExerciseRunner = ({
|
|
|
484
484
|
|
|
485
485
|
|
|
486
486
|
const renderXterm = () => {
|
|
487
|
+
// show system message when...
|
|
488
|
+
const showSystemMessage = // - run type is grade
|
|
489
|
+
runnerRunTypeState === types.enums.ExerciseRunType.Grade || // - not an arduino exercise
|
|
490
|
+
!isArduinoExercise;
|
|
487
491
|
return React__default["default"].createElement(XtermLazy, {
|
|
488
492
|
isRunning: wsRunnerRoom.isRunning,
|
|
489
493
|
fontSize: editorPreferenceFontSize,
|
|
490
|
-
suppressSystemMessage:
|
|
494
|
+
suppressSystemMessage: !showSystemMessage,
|
|
491
495
|
onInputRequest: handleXtermInputRequest,
|
|
492
496
|
onTtyResizeRequest: wsStdio.sendTtyResize,
|
|
493
497
|
locale: locale,
|
|
@@ -5,7 +5,7 @@ var designTokens = require('@elice/design-tokens');
|
|
|
5
5
|
var monaco = require('monaco-editor/esm/vs/editor/editor.api');
|
|
6
6
|
var styled = require('styled-components');
|
|
7
7
|
var index$1 = require('./utils/grammar/index.js');
|
|
8
|
-
var styles = require('./
|
|
8
|
+
var styles = require('./vendors/monaco-collab-ext/styles.js');
|
|
9
9
|
var preferences = require('./constants/monaco/preferences.js');
|
|
10
10
|
var useMonacoEventChange = require('./editor-hooks/useMonacoEventChange.js');
|
|
11
11
|
var useMonacoEventCursor = require('./editor-hooks/useMonacoEventCursor.js');
|
|
@@ -41,6 +41,12 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
41
41
|
var monaco__namespace = /*#__PURE__*/_interopNamespace(monaco);
|
|
42
42
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
43
43
|
|
|
44
|
+
//
|
|
45
|
+
//
|
|
46
|
+
// pre-init monaco editor
|
|
47
|
+
|
|
48
|
+
index();
|
|
49
|
+
index$1().catch(console.warn); //
|
|
44
50
|
//
|
|
45
51
|
//
|
|
46
52
|
|
|
@@ -49,10 +55,7 @@ const StyledMonacoEditorWrapper = styled__default["default"].div.withConfig({
|
|
|
49
55
|
})(["width:100%;height:100%;"]);
|
|
50
56
|
const StyledMonacoEditor = styled__default["default"].div.withConfig({
|
|
51
57
|
componentId: "sc-1j3uyex-1"
|
|
52
|
-
})(["width:100%;height:100%;background-color:", ";", ""], designTokens.base.color.navy9, styles.cssRemoteMarker);
|
|
53
|
-
//
|
|
54
|
-
//
|
|
55
|
-
|
|
58
|
+
})(["width:100%;height:100%;background-color:", ";", ""], designTokens.base.color.navy9, styles.cssRemoteMarker);
|
|
56
59
|
/**
|
|
57
60
|
*
|
|
58
61
|
*/
|
|
@@ -301,11 +304,8 @@ const MonacoEditor = React.forwardRef(({
|
|
|
301
304
|
try {
|
|
302
305
|
if (!editorElRef.current) {
|
|
303
306
|
return;
|
|
304
|
-
} //
|
|
305
|
-
|
|
307
|
+
} // create monaco editor instance and render it.
|
|
306
308
|
|
|
307
|
-
index();
|
|
308
|
-
index$1().catch(console.warn); // create monaco editor instance and render it.
|
|
309
309
|
|
|
310
310
|
editor.current = monaco__namespace.editor.create(editorElRef.current, Object.assign(Object.assign({}, editorOptions), {
|
|
311
311
|
value: defaultValue,
|
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var reactUse = require('react-use');
|
|
7
|
-
var RemoteCursorManager = require('../
|
|
8
|
-
var RemoteSelectionManager = require('../
|
|
9
|
-
require('../
|
|
7
|
+
var RemoteCursorManager = require('../vendors/monaco-collab-ext/RemoteCursorManager.js');
|
|
8
|
+
var RemoteSelectionManager = require('../vendors/monaco-collab-ext/RemoteSelectionManager.js');
|
|
9
|
+
require('../vendors/monaco-collab-ext/styles.js');
|
|
10
10
|
|
|
11
11
|
/** Available colors for marker. */
|
|
12
12
|
|
|
@@ -6,4 +6,8 @@ export declare function setDocumentFormattingEditProvider(): void;
|
|
|
6
6
|
* Set CSS options.
|
|
7
7
|
*/
|
|
8
8
|
export declare function setOptions(): void;
|
|
9
|
+
/**
|
|
10
|
+
* Enable emmet feature.
|
|
11
|
+
*/
|
|
12
|
+
export declare function setEnableFeatrueEmmet(): void;
|
|
9
13
|
export default function (): void;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var monaco = require('monaco-editor/esm/vs/editor/editor.api');
|
|
6
|
+
var emmet = require('../../utils/emmet/emmet.js');
|
|
6
7
|
var formatter = require('./formatter.js');
|
|
7
8
|
|
|
8
9
|
function _interopNamespace(e) {
|
|
@@ -31,6 +32,8 @@ var monaco__namespace = /*#__PURE__*/_interopNamespace(monaco);
|
|
|
31
32
|
|
|
32
33
|
function setDocumentFormattingEditProvider() {
|
|
33
34
|
monaco__namespace.languages.registerDocumentFormattingEditProvider('css', formatter);
|
|
35
|
+
monaco__namespace.languages.registerDocumentFormattingEditProvider('scss', formatter);
|
|
36
|
+
monaco__namespace.languages.registerDocumentFormattingEditProvider('less', formatter);
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
39
|
* Set CSS options.
|
|
@@ -40,6 +43,13 @@ function setOptions() {
|
|
|
40
43
|
monaco__namespace.languages.css.cssDefaults.setOptions({
|
|
41
44
|
validate: false
|
|
42
45
|
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Enable emmet feature.
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
function setEnableFeatrueEmmet() {
|
|
52
|
+
emmet.emmetCSS(monaco__namespace, ['css', 'scss', 'less']);
|
|
43
53
|
} //
|
|
44
54
|
//
|
|
45
55
|
//
|
|
@@ -47,8 +57,10 @@ function setOptions() {
|
|
|
47
57
|
function css () {
|
|
48
58
|
setDocumentFormattingEditProvider();
|
|
49
59
|
setOptions();
|
|
60
|
+
setEnableFeatrueEmmet();
|
|
50
61
|
}
|
|
51
62
|
|
|
52
63
|
exports["default"] = css;
|
|
53
64
|
exports.setDocumentFormattingEditProvider = setDocumentFormattingEditProvider;
|
|
65
|
+
exports.setEnableFeatrueEmmet = setEnableFeatrueEmmet;
|
|
54
66
|
exports.setOptions = setOptions;
|
|
@@ -6,4 +6,8 @@ export declare function setDocumentFormattingEditProvider(): void;
|
|
|
6
6
|
* Set HTML options.
|
|
7
7
|
*/
|
|
8
8
|
export declare function setOptions(): void;
|
|
9
|
+
/**
|
|
10
|
+
* Enable emmet feature.
|
|
11
|
+
*/
|
|
12
|
+
export declare function setEnableFeatrueEmmet(): void;
|
|
9
13
|
export default function (): void;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var monaco = require('monaco-editor/esm/vs/editor/editor.api');
|
|
6
|
+
var emmet = require('../../utils/emmet/emmet.js');
|
|
6
7
|
var formatter = require('./formatter.js');
|
|
7
8
|
|
|
8
9
|
function _interopNamespace(e) {
|
|
@@ -38,6 +39,13 @@ function setDocumentFormattingEditProvider() {
|
|
|
38
39
|
|
|
39
40
|
function setOptions() {
|
|
40
41
|
monaco__namespace.languages.html.htmlDefaults.setOptions({});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Enable emmet feature.
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
function setEnableFeatrueEmmet() {
|
|
48
|
+
emmet.emmetHTML(monaco__namespace, ['html', 'handlebars', 'php']);
|
|
41
49
|
} //
|
|
42
50
|
//
|
|
43
51
|
//
|
|
@@ -45,8 +53,10 @@ function setOptions() {
|
|
|
45
53
|
function html () {
|
|
46
54
|
setDocumentFormattingEditProvider();
|
|
47
55
|
setOptions();
|
|
56
|
+
setEnableFeatrueEmmet();
|
|
48
57
|
}
|
|
49
58
|
|
|
50
59
|
exports["default"] = html;
|
|
51
60
|
exports.setDocumentFormattingEditProvider = setDocumentFormattingEditProvider;
|
|
61
|
+
exports.setEnableFeatrueEmmet = setEnableFeatrueEmmet;
|
|
52
62
|
exports.setOptions = setOptions;
|
|
@@ -4,10 +4,10 @@ var index = require('./css/index.js');
|
|
|
4
4
|
var index$1 = require('./html/index.js');
|
|
5
5
|
var index$2 = require('./typescript/index.js');
|
|
6
6
|
|
|
7
|
-
function
|
|
7
|
+
function initMonacoLanguages () {
|
|
8
8
|
index["default"]();
|
|
9
9
|
index$1["default"]();
|
|
10
10
|
index$2["default"]();
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
module.exports =
|
|
13
|
+
module.exports = initMonacoLanguages;
|
|
@@ -22,4 +22,8 @@ export declare function setExernalLibs(): void;
|
|
|
22
22
|
* Enables intelliSense for all files without needing an `addExtraLib` call.
|
|
23
23
|
*/
|
|
24
24
|
export declare function setEagerModelSync(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Enable emmet for JavaScript and TypeScript.
|
|
27
|
+
*/
|
|
28
|
+
export declare function setEnableFeatrueEmmet(): void;
|
|
25
29
|
export default function (): void;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var monaco = require('monaco-editor/esm/vs/editor/editor.api');
|
|
6
|
+
var emmet = require('../../utils/emmet/emmet.js');
|
|
6
7
|
var express = require('./dts/express.js');
|
|
7
8
|
var propTypes = require('./dts/propTypes.js');
|
|
8
9
|
var react = require('./dts/react.js');
|
|
@@ -103,6 +104,13 @@ function setExernalLibs() {
|
|
|
103
104
|
function setEagerModelSync() {
|
|
104
105
|
monaco__namespace.languages.typescript.javascriptDefaults.setEagerModelSync(true);
|
|
105
106
|
monaco__namespace.languages.typescript.typescriptDefaults.setEagerModelSync(true);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Enable emmet for JavaScript and TypeScript.
|
|
110
|
+
*/
|
|
111
|
+
|
|
112
|
+
function setEnableFeatrueEmmet() {
|
|
113
|
+
emmet.emmetJSX(monaco__namespace, ['javascript', 'javascriptreact', 'typescript', 'typescriptreact']);
|
|
106
114
|
} //
|
|
107
115
|
//
|
|
108
116
|
//
|
|
@@ -113,6 +121,7 @@ function typescript () {
|
|
|
113
121
|
setDiagnosticsOptions();
|
|
114
122
|
setExernalLibs();
|
|
115
123
|
setEagerModelSync();
|
|
124
|
+
setEnableFeatrueEmmet();
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
exports["default"] = typescript;
|
|
@@ -120,4 +129,5 @@ exports.setCompilerOptions = setCompilerOptions;
|
|
|
120
129
|
exports.setDiagnosticsOptions = setDiagnosticsOptions;
|
|
121
130
|
exports.setDocumentFormattingEditProvider = setDocumentFormattingEditProvider;
|
|
122
131
|
exports.setEagerModelSync = setEagerModelSync;
|
|
132
|
+
exports.setEnableFeatrueEmmet = setEnableFeatrueEmmet;
|
|
123
133
|
exports.setExernalLibs = setExernalLibs;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type * as Monaco from 'monaco-editor';
|
|
2
|
+
/**
|
|
3
|
+
* Enable emmet feature for HTML.
|
|
4
|
+
*/
|
|
5
|
+
export declare function emmetHTML(monaco: typeof Monaco, languages: string[]): (() => void) | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Enable emmet feature for CSS.
|
|
8
|
+
*/
|
|
9
|
+
export declare function emmetCSS(monaco: typeof Monaco, languages: string[]): (() => void) | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Enable emmet feature for JSX.
|
|
12
|
+
*/
|
|
13
|
+
export declare function emmetJSX(monaco: typeof Monaco, languages: string[]): (() => void) | undefined;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var registerProvider = require('./registerProvider.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Enable emmet feature for HTML.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
function emmetHTML(monaco, languages) {
|
|
12
|
+
return registerProvider.registerProvider(monaco, languages, 'html');
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Enable emmet feature for CSS.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
function emmetCSS(monaco, languages) {
|
|
19
|
+
return registerProvider.registerProvider(monaco, languages, 'css');
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Enable emmet feature for JSX.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
function emmetJSX(monaco, languages) {
|
|
26
|
+
return registerProvider.registerProvider(monaco, languages, 'jsx');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
exports.emmetCSS = emmetCSS;
|
|
30
|
+
exports.emmetHTML = emmetHTML;
|
|
31
|
+
exports.emmetJSX = emmetJSX;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './emmet';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var emmetHelper = require('../../vendors/vscode-emmet-helper/emmetHelper.js');
|
|
6
|
+
var utils = require('../../vendors/vscode-emmet-helper/utils.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Register completion provider of emmet.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
function registerProvider(monaco, languages, syntax) {
|
|
13
|
+
if (!monaco) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const providers = languages.map(language => monaco.languages.registerCompletionItemProvider(language, {
|
|
18
|
+
triggerCharacters: utils.LANGUAGE_MODES[utils.MAPPED_MODES[language] || language],
|
|
19
|
+
provideCompletionItems: (model, position) => emmetHelper.doComplete(monaco, model, position, syntax, utils.DEFAULT_CONFIG)
|
|
20
|
+
}));
|
|
21
|
+
return () => {
|
|
22
|
+
providers.forEach(provider => provider.dispose());
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.registerProvider = registerProvider;
|
|
@@ -52,11 +52,11 @@ function createGrammarRegistry() {
|
|
|
52
52
|
*/
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
async function
|
|
55
|
+
async function initMonacoGrammars () {
|
|
56
56
|
await onigasm.initOnigasm();
|
|
57
57
|
const grammars = createGrammarMap();
|
|
58
58
|
const registry = createGrammarRegistry();
|
|
59
59
|
await textmate.wireTmGrammars(registry, grammars);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
module.exports =
|
|
62
|
+
module.exports = initMonacoGrammars;
|
|
@@ -25,8 +25,12 @@ function _interopNamespace(e) {
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
27
|
async function prettier (value, options) {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
try {
|
|
29
|
+
const prettier = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('prettier/standalone')); });
|
|
30
|
+
return prettier.format(value, Object.assign(Object.assign({}, options), config.prettierConfigSource.config));
|
|
31
|
+
} catch (_) {
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
30
34
|
}
|
|
31
35
|
|
|
32
36
|
module.exports = prettier;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface SnippetsMap {
|
|
2
|
+
[name: string]: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Parses raw snippets definitions with possibly multiple keys into a plan
|
|
6
|
+
* snippet map
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseSnippets(snippets: SnippetsMap): SnippetsMap;
|
|
9
|
+
/**
|
|
10
|
+
* List of all known syntaxes
|
|
11
|
+
*/
|
|
12
|
+
export declare const syntaxes: {
|
|
13
|
+
markup: string[];
|
|
14
|
+
stylesheet: string[];
|
|
15
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/* eslint-disable */
|
|
6
|
+
/**
|
|
7
|
+
* List of all known syntaxes
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const syntaxes = {
|
|
11
|
+
markup: ['html', 'xml', 'xsl', 'jsx', 'js', 'pug', 'slim', 'haml'],
|
|
12
|
+
stylesheet: ['css', 'sass', 'scss', 'less', 'sss', 'stylus']
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
exports.syntaxes = syntaxes;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/* eslint-disable */
|
|
6
|
+
|
|
7
|
+
/* ====================================================================================================
|
|
8
|
+
* These codes forked and modified from `microsoft/vscode-emmet-helper`
|
|
9
|
+
* under the terms of the MIT license.
|
|
10
|
+
* Make sure to check the original project if any issue exists.
|
|
11
|
+
* - project: https://github.com/microsoft/vscode-emmet-helper
|
|
12
|
+
* - codes: https://github.com/microsoft/vscode-emmet-helper/blob/e64481648451f0189216794979ce2ace82ee8148/src/data.ts
|
|
13
|
+
* ==================================================================================================== */
|
|
14
|
+
const cssData = {
|
|
15
|
+
"properties": ["additive-symbols", "align-content", "align-items", "justify-items", "justify-self", "justify-items", "align-self", "all", "alt", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "backface-visibility", "background", "background-attachment", "background-blend-mode", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-position-x", "background-position-y", "background-repeat", "background-size", "behavior", "block-size", "border", "border-block-end", "border-block-start", "border-block-end-color", "border-block-start-color", "border-block-end-style", "border-block-start-style", "border-block-end-width", "border-block-start-width", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-inline-end", "border-inline-start", "border-inline-end-color", "border-inline-start-color", "border-inline-end-style", "border-inline-start-style", "border-inline-end-width", "border-inline-start-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "caret-color", "clear", "clip", "clip-path", "clip-rule", "color", "color-interpolation-filters", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "columns", "column-span", "column-width", "contain", "content", "counter-increment", "counter-reset", "cursor", "direction", "display", "empty-cells", "enable-background", "fallback", "fill", "fill-opacity", "fill-rule", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "flood-color", "flood-opacity", "font", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-synthesis", "font-variant", "font-variant-alternates", "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-weight", "glyph-orientation-horizontal", "glyph-orientation-vertical", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-gap", "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-gap", "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns", "grid-template-rows", "height", "hyphens", "image-orientation", "image-rendering", "ime-mode", "inline-size", "isolation", "justify-content", "kerning", "left", "letter-spacing", "lighting-color", "line-break", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-block-end", "margin-block-start", "margin-bottom", "margin-inline-end", "margin-inline-start", "margin-left", "margin-right", "margin-top", "marker", "marker-end", "marker-mid", "marker-start", "mask-type", "max-block-size", "max-height", "max-inline-size", "max-width", "min-block-size", "min-height", "min-inline-size", "min-width", "mix-blend-mode", "motion", "motion-offset", "motion-path", "motion-rotation", "-moz-animation", "-moz-animation-delay", "-moz-animation-direction", "-moz-animation-duration", "-moz-animation-iteration-count", "-moz-animation-name", "-moz-animation-play-state", "-moz-animation-timing-function", "-moz-appearance", "-moz-backface-visibility", "-moz-background-clip", "-moz-background-inline-policy", "-moz-background-origin", "-moz-border-bottom-colors", "-moz-border-image", "-moz-border-left-colors", "-moz-border-right-colors", "-moz-border-top-colors", "-moz-box-align", "-moz-box-direction", "-moz-box-flex", "-moz-box-flexgroup", "-moz-box-ordinal-group", "-moz-box-orient", "-moz-box-pack", "-moz-box-sizing", "-moz-column-count", "-moz-column-gap", "-moz-column-rule", "-moz-column-rule-color", "-moz-column-rule-style", "-moz-column-rule-width", "-moz-columns", "-moz-column-width", "-moz-font-feature-settings", "-moz-hyphens", "-moz-perspective", "-moz-perspective-origin", "-moz-text-align-last", "-moz-text-decoration-color", "-moz-text-decoration-line", "-moz-text-decoration-style", "-moz-text-size-adjust", "-moz-transform", "-moz-transform-origin", "-moz-transition", "-moz-transition-delay", "-moz-transition-duration", "-moz-transition-property", "-moz-transition-timing-function", "-moz-user-focus", "-moz-user-select", "-ms-accelerator", "-ms-behavior", "-ms-block-progression", "-ms-content-zoom-chaining", "-ms-content-zooming", "-ms-content-zoom-limit", "-ms-content-zoom-limit-max", "-ms-content-zoom-limit-min", "-ms-content-zoom-snap", "-ms-content-zoom-snap-points", "-ms-content-zoom-snap-type", "-ms-filter", "-ms-flex", "-ms-flex-align", "-ms-flex-direction", "-ms-flex-flow", "-ms-flex-item-align", "-ms-flex-line-pack", "-ms-flex-order", "-ms-flex-pack", "-ms-flex-wrap", "-ms-flow-from", "-ms-flow-into", "-ms-grid-column", "-ms-grid-column-align", "-ms-grid-columns", "-ms-grid-column-span", "-ms-grid-layer", "-ms-grid-row", "-ms-grid-row-align", "-ms-grid-rows", "-ms-grid-row-span", "-ms-high-contrast-adjust", "-ms-hyphenate-limit-chars", "-ms-hyphenate-limit-lines", "-ms-hyphenate-limit-zone", "-ms-hyphens", "-ms-ime-mode", "-ms-interpolation-mode", "-ms-layout-grid", "-ms-layout-grid-char", "-ms-layout-grid-line", "-ms-layout-grid-mode", "-ms-layout-grid-type", "-ms-line-break", "-ms-overflow-style", "-ms-perspective", "-ms-perspective-origin", "-ms-perspective-origin-x", "-ms-perspective-origin-y", "-ms-progress-appearance", "-ms-scrollbar-3dlight-color", "-ms-scrollbar-arrow-color", "-ms-scrollbar-base-color", "-ms-scrollbar-darkshadow-color", "-ms-scrollbar-face-color", "-ms-scrollbar-highlight-color", "-ms-scrollbar-shadow-color", "-ms-scrollbar-track-color", "-ms-scroll-chaining", "-ms-scroll-limit", "-ms-scroll-limit-x-max", "-ms-scroll-limit-x-min", "-ms-scroll-limit-y-max", "-ms-scroll-limit-y-min", "-ms-scroll-rails", "-ms-scroll-snap-points-x", "-ms-scroll-snap-points-y", "-ms-scroll-snap-type", "-ms-scroll-snap-x", "-ms-scroll-snap-y", "-ms-scroll-translation", "-ms-text-align-last", "-ms-text-autospace", "-ms-text-combine-horizontal", "-ms-text-justify", "-ms-text-kashida-space", "-ms-text-overflow", "-ms-text-size-adjust", "-ms-text-underline-position", "-ms-touch-action", "-ms-touch-select", "-ms-transform", "-ms-transform-origin", "-ms-transform-origin-x", "-ms-transform-origin-y", "-ms-transform-origin-z", "-ms-user-select", "-ms-word-break", "-ms-word-wrap", "-ms-wrap-flow", "-ms-wrap-margin", "-ms-wrap-through", "-ms-writing-mode", "-ms-zoom", "-ms-zoom-animation", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "negative", "-o-animation", "-o-animation-delay", "-o-animation-direction", "-o-animation-duration", "-o-animation-fill-mode", "-o-animation-iteration-count", "-o-animation-name", "-o-animation-play-state", "-o-animation-timing-function", "object-fit", "object-position", "-o-border-image", "-o-object-fit", "-o-object-position", "opacity", "order", "orphans", "-o-table-baseline", "-o-tab-size", "-o-text-overflow", "-o-transform", "-o-transform-origin", "-o-transition", "-o-transition-delay", "-o-transition-duration", "-o-transition-property", "-o-transition-timing-function", "offset-block-end", "offset-block-start", "offset-inline-end", "offset-inline-start", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "pad", "padding", "padding-bottom", "padding-block-end", "padding-block-start", "padding-inline-end", "padding-inline-start", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "paint-order", "perspective", "perspective-origin", "pointer-events", "position", "prefix", "quotes", "range", "resize", "right", "ruby-align", "ruby-overhang", "ruby-position", "ruby-span", "scrollbar-3dlight-color", "scrollbar-arrow-color", "scrollbar-base-color", "scrollbar-darkshadow-color", "scrollbar-face-color", "scrollbar-highlight-color", "scrollbar-shadow-color", "scrollbar-track-color", "scroll-behavior", "scroll-snap-coordinate", "scroll-snap-destination", "scroll-snap-points-x", "scroll-snap-points-y", "scroll-snap-type", "shape-image-threshold", "shape-margin", "shape-outside", "shape-rendering", "size", "src", "stop-color", "stop-opacity", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "suffix", "system", "symbols", "table-layout", "tab-size", "text-align", "text-align-last", "text-anchor", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-indent", "text-justify", "text-orientation", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "touch-action", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "unicode-range", "user-select", "vertical-align", "visibility", "-webkit-animation", "-webkit-animation-delay", "-webkit-animation-direction", "-webkit-animation-duration", "-webkit-animation-fill-mode", "-webkit-animation-iteration-count", "-webkit-animation-name", "-webkit-animation-play-state", "-webkit-animation-timing-function", "-webkit-appearance", "-webkit-backdrop-filter", "-webkit-backface-visibility", "-webkit-background-clip", "-webkit-background-composite", "-webkit-background-origin", "-webkit-border-image", "-webkit-box-align", "-webkit-box-direction", "-webkit-box-flex", "-webkit-box-flex-group", "-webkit-box-ordinal-group", "-webkit-box-orient", "-webkit-box-pack", "-webkit-box-reflect", "-webkit-box-sizing", "-webkit-break-after", "-webkit-break-before", "-webkit-break-inside", "-webkit-column-break-after", "-webkit-column-break-before", "-webkit-column-break-inside", "-webkit-column-count", "-webkit-column-gap", "-webkit-column-rule", "-webkit-column-rule-color", "-webkit-column-rule-style", "-webkit-column-rule-width", "-webkit-columns", "-webkit-column-span", "-webkit-column-width", "-webkit-filter", "-webkit-flow-from", "-webkit-flow-into", "-webkit-font-feature-settings", "-webkit-hyphens", "-webkit-line-break", "-webkit-margin-bottom-collapse", "-webkit-margin-collapse", "-webkit-margin-start", "-webkit-margin-top-collapse", "-webkit-mask-clip", "-webkit-mask-image", "-webkit-mask-origin", "-webkit-mask-repeat", "-webkit-mask-size", "-webkit-nbsp-mode", "-webkit-overflow-scrolling", "-webkit-padding-start", "-webkit-perspective", "-webkit-perspective-origin", "-webkit-region-fragment", "-webkit-tap-highlight-color", "-webkit-text-fill-color", "-webkit-text-size-adjust", "-webkit-text-stroke", "-webkit-text-stroke-color", "-webkit-text-stroke-width", "-webkit-touch-callout", "-webkit-transform", "-webkit-transform-origin", "-webkit-transform-origin-x", "-webkit-transform-origin-y", "-webkit-transform-origin-z", "-webkit-transform-style", "-webkit-transition", "-webkit-transition-delay", "-webkit-transition-duration", "-webkit-transition-property", "-webkit-transition-timing-function", "-webkit-user-drag", "-webkit-user-modify", "-webkit-user-select", "white-space", "widows", "width", "will-change", "word-break", "word-spacing", "word-wrap", "writing-mode", "z-index", "zoom"]
|
|
16
|
+
};
|
|
17
|
+
const htmlData = {
|
|
18
|
+
"tags": ["body", "head", "html", "address", "blockquote", "dd", "div", "section", "article", "aside", "header", "footer", "nav", "menu", "dl", "dt", "fieldset", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "iframe", "noframes", "object", "ol", "p", "ul", "applet", "center", "dir", "hr", "pre", "a", "abbr", "acronym", "area", "b", "base", "basefont", "bdo", "big", "br", "button", "caption", "cite", "code", "col", "colgroup", "del", "dfn", "em", "font", "i", "img", "input", "ins", "isindex", "kbd", "label", "legend", "li", "link", "map", "meta", "noscript", "optgroup", "option", "param", "q", "s", "samp", "script", "select", "small", "span", "strike", "strong", "style", "sub", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "title", "tr", "tt", "u", "var", "canvas", "main", "figure", "plaintext", "figcaption", "hgroup", "details", "summary"]
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.cssData = cssData;
|
|
22
|
+
exports.htmlData = htmlData;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type * as Monaco from 'monaco-editor';
|
|
2
|
+
import type { ExtractOptions, MarkupAbbreviation, Options, StylesheetAbbreviation, SyntaxType, UserConfig } from 'emmet';
|
|
3
|
+
import type { SnippetsMap } from './configCompat';
|
|
4
|
+
declare type TextModel = Monaco.editor.ITextModel;
|
|
5
|
+
declare type CompletionList = Monaco.languages.CompletionList;
|
|
6
|
+
declare type Position = Monaco.IPosition;
|
|
7
|
+
declare type Range = Monaco.IRange;
|
|
8
|
+
/**
|
|
9
|
+
* Emmet configuration as derived from the Emmet related VS Code settings
|
|
10
|
+
*/
|
|
11
|
+
export interface VSCodeEmmetConfig {
|
|
12
|
+
showExpandedAbbreviation?: string;
|
|
13
|
+
showAbbreviationSuggestions?: boolean;
|
|
14
|
+
syntaxProfiles?: object;
|
|
15
|
+
variables?: object;
|
|
16
|
+
preferences?: object;
|
|
17
|
+
excludeLanguages?: string[];
|
|
18
|
+
showSuggestionsAsSnippets?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns all applicable emmet expansions for abbreviation at given position in a CompletionList
|
|
22
|
+
* @param document TextDocument in which completions are requested
|
|
23
|
+
* @param position Position in the document at which completions are requested
|
|
24
|
+
* @param syntax Emmet supported language
|
|
25
|
+
* @param emmetConfig Emmet Configurations as derived from VS Code
|
|
26
|
+
*/
|
|
27
|
+
export declare function doComplete(monaco: typeof Monaco, model: TextModel, position: Position, syntax: string, emmetConfig: VSCodeEmmetConfig): CompletionList | undefined;
|
|
28
|
+
export declare const emmetSnippetField: (index: number, placeholder: string) => string;
|
|
29
|
+
/** Returns whether or not syntax is a supported stylesheet syntax, like CSS */
|
|
30
|
+
export declare function isStyleSheet(syntax: string): boolean;
|
|
31
|
+
/** Returns the syntax type, either markup (e.g. for HTML) or stylesheet (e.g. for CSS) */
|
|
32
|
+
export declare function getSyntaxType(syntax: string): SyntaxType;
|
|
33
|
+
/** Returns the default syntax (html or css) to use for the snippets registry */
|
|
34
|
+
export declare function getDefaultSyntax(syntax: string): string;
|
|
35
|
+
/** Returns the default snippets that Emmet suggests */
|
|
36
|
+
export declare function getDefaultSnippets(syntax: string): SnippetsMap;
|
|
37
|
+
/**
|
|
38
|
+
* Extracts abbreviation from the given position in the given document
|
|
39
|
+
*/
|
|
40
|
+
export declare function extractAbbreviation(monaco: typeof Monaco, model: TextModel, position: Position, options?: Partial<ExtractOptions>): {
|
|
41
|
+
abbreviation: string;
|
|
42
|
+
abbreviationRange: Range;
|
|
43
|
+
filter: string | undefined;
|
|
44
|
+
} | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Extracts abbreviation from the given text
|
|
47
|
+
* @param text Text from which abbreviation needs to be extracted
|
|
48
|
+
* @param syntax Syntax used to extract the abbreviation from the given text
|
|
49
|
+
*/
|
|
50
|
+
export declare function extractAbbreviationFromText(text: string, syntax: string): {
|
|
51
|
+
abbreviation: string;
|
|
52
|
+
filter: string | undefined;
|
|
53
|
+
} | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Returns a boolean denoting validity of given abbreviation in the context of given syntax
|
|
56
|
+
* Not needed once https://github.com/emmetio/atom-plugin/issues/22 is fixed
|
|
57
|
+
* @param syntax string
|
|
58
|
+
* @param abbreviation string
|
|
59
|
+
*/
|
|
60
|
+
export declare function isAbbreviationValid(syntax: string, abbreviation: string): boolean;
|
|
61
|
+
declare type ExpandOptionsConfig = {
|
|
62
|
+
type: SyntaxType;
|
|
63
|
+
options: Partial<Options>;
|
|
64
|
+
variables: SnippetsMap;
|
|
65
|
+
snippets: SnippetsMap;
|
|
66
|
+
syntax: string;
|
|
67
|
+
text: string | string[] | undefined;
|
|
68
|
+
maxRepeat: number;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Returns options to be used by emmet
|
|
72
|
+
*/
|
|
73
|
+
export declare function getExpandOptions(syntax: string, emmetConfig?: VSCodeEmmetConfig, filter?: string): ExpandOptionsConfig;
|
|
74
|
+
/**
|
|
75
|
+
* Parses given abbreviation using given options and returns a tree
|
|
76
|
+
* @param abbreviation string
|
|
77
|
+
* @param options options used by the emmet module to parse given abbreviation
|
|
78
|
+
*/
|
|
79
|
+
export declare function parseAbbreviation(abbreviation: string, options: UserConfig): StylesheetAbbreviation | MarkupAbbreviation;
|
|
80
|
+
/**
|
|
81
|
+
* Expands given abbreviation using given options
|
|
82
|
+
* @param abbreviation string or parsed abbreviation
|
|
83
|
+
* @param config options used by the @emmetio/expand-abbreviation module to expand given abbreviation
|
|
84
|
+
*/
|
|
85
|
+
export declare function expandAbbreviation(abbreviation: string | MarkupAbbreviation | StylesheetAbbreviation, config: UserConfig): string;
|
|
86
|
+
/**
|
|
87
|
+
* Get the corresponding emmet mode for given vscode language mode
|
|
88
|
+
* Eg: jsx for typescriptreact/javascriptreact or pug for jade
|
|
89
|
+
* If the language is not supported by emmet or has been exlcuded via `exlcudeLanguages` setting,
|
|
90
|
+
* then nothing is returned
|
|
91
|
+
*
|
|
92
|
+
* @param language
|
|
93
|
+
* @param exlcudedLanguages Array of language ids that user has chosen to exlcude for emmet
|
|
94
|
+
*/
|
|
95
|
+
export declare function getEmmetMode(language: string, excludedLanguages?: string[]): string | undefined;
|
|
96
|
+
export {};
|