mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
fix loadExternalFeatures
This commit is contained in:
5 files changed
+15
-12
No files matched your search
+1
-1
@@ -67,7 +67,7 @@ for (const name of ['plugins', 'modules']) {
|
|||||||
fs.mkdirSync(path.resolve(process.cwd(), name));
|
fs.mkdirSync(path.resolve(process.cwd(), name));
|
||||||
}
|
}
|
||||||
// Write an empty file to make eslint happy
|
// Write an empty file to make eslint happy
|
||||||
fs.writeFileSync(path.resolve(process.cwd(), name, 'nop.ts'), 'export default {};\n');
|
fs.writeFileSync(path.resolve(process.cwd(), name, 'nop.ts'), 'export default {}; export const whenReady = () => {};\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
const modules = [
|
const modules = [
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ export async function load(features = ['markdown']) {
|
|||||||
console.log('Loaded monaco editor in', Date.now() - s, 'ms');
|
console.log('Loaded monaco editor in', Date.now() - s, 'ms');
|
||||||
loaded = [];
|
loaded = [];
|
||||||
}
|
}
|
||||||
|
Object.assign((window as any).HydroExports, { vscode: res.vscode, monaco: res.default });
|
||||||
for (const feat of features) {
|
for (const feat of features) {
|
||||||
if (loaded.includes(feat)) continue;
|
if (loaded.includes(feat)) continue;
|
||||||
if (!loaders[feat]) {
|
if (!loaders[feat]) {
|
||||||
@@ -104,7 +105,7 @@ export async function load(features = ['markdown']) {
|
|||||||
console.log('Loading monaco feature:', feat);
|
console.log('Loading monaco feature:', feat);
|
||||||
try {
|
try {
|
||||||
if (loaders[feat]) await loaders[feat]();
|
if (loaders[feat]) await loaders[feat]();
|
||||||
else await loaders.external(res.default, feat);
|
await loaders.external(res.default, feat);
|
||||||
console.log('Loaded monaco feature:', feat, 'in', Date.now() - s, 'ms');
|
console.log('Loaded monaco feature:', feat, 'in', Date.now() - s, 'ms');
|
||||||
loaded.push(feat);
|
loaded.push(feat);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -8,10 +8,12 @@ import {
|
|||||||
} from '@codingame/monaco-editor-wrapper';
|
} from '@codingame/monaco-editor-wrapper';
|
||||||
import { RegisteredMemoryFile } from '@codingame/monaco-vscode-files-service-override';
|
import { RegisteredMemoryFile } from '@codingame/monaco-vscode-files-service-override';
|
||||||
import * as monaco from 'monaco-editor';
|
import * as monaco from 'monaco-editor';
|
||||||
import { Uri } from 'vscode';
|
import * as vscode from 'vscode';
|
||||||
|
|
||||||
export default monaco;
|
export default monaco;
|
||||||
export { createEditor, registerFile, RegisteredMemoryFile };
|
export {
|
||||||
|
createEditor, registerFile, RegisteredMemoryFile, vscode,
|
||||||
|
};
|
||||||
export {
|
export {
|
||||||
getUserConfiguration, getConfiguration,
|
getUserConfiguration, getConfiguration,
|
||||||
onUserConfigurationChange, onConfigurationChanged,
|
onUserConfigurationChange, onConfigurationChanged,
|
||||||
@@ -46,7 +48,7 @@ export const init = async (workbench = false) => {
|
|||||||
workspaceProvider: {
|
workspaceProvider: {
|
||||||
trusted: true,
|
trusted: true,
|
||||||
workspace: {
|
workspace: {
|
||||||
workspaceUri: Uri.file('/'),
|
workspaceUri: vscode.Uri.file('/'),
|
||||||
},
|
},
|
||||||
async open() {
|
async open() {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export default connect((state: any) => ({
|
|||||||
const value = this.props.value || '';
|
const value = this.props.value || '';
|
||||||
const { language } = this.props;
|
const { language } = this.props;
|
||||||
const { monaco, createEditor } = await load([language]);
|
const { monaco, createEditor } = await load([language]);
|
||||||
const uri = monaco.Uri.parse(`/${UiContext.pdoc.pid || UiContext.pdoc.docId}.${language}`);
|
const uri = monaco.Uri.parse(`hydro:${UiContext.pdoc.pid || UiContext.pdoc.docId}.${language}`);
|
||||||
this.model = monaco.editor.getModel(uri) || monaco.editor.createModel(value, language, uri);
|
this.model = monaco.editor.getModel(uri) || monaco.editor.createModel(value, language, uri);
|
||||||
if (this.containerElement) {
|
if (this.containerElement) {
|
||||||
const config: monaco.editor.IStandaloneEditorConstructionOptions = {
|
const config: monaco.editor.IStandaloneEditorConstructionOptions = {
|
||||||
@@ -95,7 +95,7 @@ export default connect((state: any) => ({
|
|||||||
if (model && editor && prevProps.language !== language) {
|
if (model && editor && prevProps.language !== language) {
|
||||||
const val = model.getValue(LF, false);
|
const val = model.getValue(LF, false);
|
||||||
model.dispose();
|
model.dispose();
|
||||||
const uri = monaco.Uri.parse(`file:///${UiContext.pdoc.pid || UiContext.pdoc.docId}.${language}`);
|
const uri = monaco.Uri.parse(`hydro:${UiContext.pdoc.pid || UiContext.pdoc.docId}.${language}`);
|
||||||
this.model = monaco.editor.getModel(uri) || monaco.editor.createModel(val, language, uri);
|
this.model = monaco.editor.getModel(uri) || monaco.editor.createModel(val, language, uri);
|
||||||
editor.setModel(this.model);
|
editor.setModel(this.model);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@blueprintjs/core": "^5.10.5",
|
"@blueprintjs/core": "^5.10.5",
|
||||||
"@codingame/monaco-editor-wrapper": "^8.1.0",
|
"@codingame/monaco-editor-wrapper": "^8.1.0",
|
||||||
"@codingame/monaco-vscode-language-pack-ko": "7.0.5",
|
"@codingame/monaco-vscode-language-pack-ko": "7.0.7",
|
||||||
"@codingame/monaco-vscode-language-pack-zh-hans": "7.0.5",
|
"@codingame/monaco-vscode-language-pack-zh-hans": "7.0.7",
|
||||||
"@codingame/monaco-vscode-language-pack-zh-hant": "7.0.5",
|
"@codingame/monaco-vscode-language-pack-zh-hant": "7.0.7",
|
||||||
"@codingame/monaco-vscode-typescript-language-features-default-extension": "7.0.5",
|
"@codingame/monaco-vscode-typescript-language-features-default-extension": "7.0.7",
|
||||||
"@cordisjs/core": "3.17.3",
|
"@cordisjs/core": "3.17.3",
|
||||||
"@fontsource/dm-mono": "^5.0.20",
|
"@fontsource/dm-mono": "^5.0.20",
|
||||||
"@fontsource/fira-code": "^5.0.18",
|
"@fontsource/fira-code": "^5.0.18",
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
"mini-css-extract-plugin": "^2.9.0",
|
"mini-css-extract-plugin": "^2.9.0",
|
||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@7.0.5",
|
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@7.0.5",
|
||||||
"monaco-languageclient": "^8.4.0",
|
"monaco-languageclient": "^8.6.0",
|
||||||
"monaco-themes": "^0.4.4",
|
"monaco-themes": "^0.4.4",
|
||||||
"monaco-yaml": "5.1.1",
|
"monaco-yaml": "5.1.1",
|
||||||
"nanoid": "^5.0.7",
|
"nanoid": "^5.0.7",
|
||||||
|
|||||||
Reference in new issue
Block a user