diff --git a/src/Repl.vue b/src/Repl.vue index a290c968..d2fae53c 100644 --- a/src/Repl.vue +++ b/src/Repl.vue @@ -5,6 +5,7 @@ import { type Store, useStore } from './store' import { computed, provide, toRefs, useTemplateRef } from 'vue' import { type EditorComponentType, + type EditorMethods, injectKeyPreviewRef, injectKeyProps, } from './types' @@ -73,6 +74,7 @@ if (!props.editor) { } const outputRef = useTemplateRef('output') +const editorContainerRef = useTemplateRef('editorContainer') props.store.init() @@ -95,14 +97,19 @@ function reload() { outputRef.value?.reload() } -defineExpose({ reload }) +defineExpose({ + reload, + getEditorInstance: (() => + editorContainerRef.value?.getEditorIns()) as EditorMethods['getEditorIns'], + getMonacoEditor: () => editorContainerRef.value?.getMonacoEditor?.(), +})