mxd 3 роки тому
батько
коміт
955bd6b808

+ 4 - 0
src/components/magic-editor.vue

@@ -22,6 +22,7 @@ import { defineTheme } from '../scripts/theme.js'
 import bus from '../scripts/bus.js'
 import EditorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker"
 import JsonWorker from "monaco-editor/esm/vs/language/json/json.worker?worker"
+import HtmlWorker from "monaco-editor/esm/vs/language/html/html.worker?worker"
 import { getCurrentInstance, nextTick, onMounted, onUnmounted, provide, reactive, ref } from 'vue'
 import { initializeMagicScript } from '../scripts/editor/magic-script.js'
 import JavaClass from '../scripts/editor/java-class.js'
@@ -40,6 +41,9 @@ self.MonacoEnvironment = {
 		if (label === 'json') {
 			return new JsonWorker()
 		}
+		if (label === 'html') {
+			return new HtmlWorker()
+		}
 		return new EditorWorker()
 	}
 }

+ 3 - 15
src/plugins/monaco-exclude-languages.js

@@ -1,33 +1,21 @@
-const excludes = ['typescript', 'css', 'html']
 export function MonacoExcludeLanguages(esbuild) {
 	if(esbuild){
 		return {
 			name: 'esbuild-plugin-monaco-exclude-languages',
 			setup(build){
-				build.onLoad({ filter:  /basic-languages[/\\]monaco\.contribution\.js/ }, async () => {
+				build.onLoad({ filter:  /language\/typescript/ }, async () => {
 					return {
-						contents: `import '../editor/editor.api.js';`,
+						contents: ``,
 						loader: 'ts'
 					}
 				})
-				excludes.forEach(id => {
-					build.onLoad({ filter:  new RegExp(`language/${id}`) }, async () => {
-						return {
-							contents: ``,
-							loader: 'ts'
-						}
-					})
-				})
 			}
 		}
 	}
 	return {
 		name: 'rollup-plugin-monaco-exclude-languages',
 		load(path){
-			if(/basic-languages[/\\]monaco\.contribution\.js/.test(path)){
-				return `import '../editor/editor.api.js';`
-			}
-			if(excludes.some(id => path.indexOf(`/monaco-editor/esm/vs/language/${id}/`) > 0)){
+			if(path.indexOf(`/monaco-editor/esm/vs/language/typescript/`) > 0){
 				return ``
 			}
 		}