diff --git a/src/components/CodeEditor.vue b/src/components/CodeEditor.vue
index e9f6f6b..58f333d 100644
--- a/src/components/CodeEditor.vue
+++ b/src/components/CodeEditor.vue
@@ -4,6 +4,7 @@ import { useDark } from "@vueuse/core"
import { Codemirror } from "vue-codemirror"
import { cpp } from "@codemirror/lang-cpp"
import { python } from "@codemirror/lang-python"
+import { EditorState } from "@codemirror/state"
import { EditorView } from "@codemirror/view"
import { LANGUAGE } from "../types"
import { oneDark } from "../themes/oneDark"
@@ -35,7 +36,7 @@ const styleTheme = EditorView.baseTheme({
outline: "none",
},
})
-const emit = defineEmits(["update:modelValue"])
+const emit = defineEmits(["update:modelValue", "ready"])
watch(
() => props.modelValue,
@@ -54,6 +55,14 @@ const lang = computed(() => {
function onChange(v: string) {
emit("update:modelValue", v)
}
+
+function onReady(payload: {
+ view: EditorView
+ state: EditorState
+ container: HTMLDivElement
+}) {
+ emit("ready", payload.view)
+}