From c0d0021b6cd0eb85f25a22ed7a9ba496fd2d71b0 Mon Sep 17 00:00:00 2001 From: cfngc4594 Date: Mon, 24 Feb 2025 13:22:12 +0800 Subject: [PATCH] feat(code-editor): add editor state handling to CodeEditor component --- src/components/code-editor.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/code-editor.tsx b/src/components/code-editor.tsx index 7f57b26..c17cb62 100644 --- a/src/components/code-editor.tsx +++ b/src/components/code-editor.tsx @@ -33,7 +33,7 @@ const Editor = dynamic( export default function CodeEditor() { const { resolvedTheme } = useTheme(); const { fontSize, lineHeight } = useCodeEditorOption(); - const { language, languageClient, setLanguageClient } = useCodeEditorState(); + const { language, languageClient, setEditor, setLanguageClient } = useCodeEditorState(); useEffect(() => { if (languageClient) { @@ -44,7 +44,9 @@ export default function CodeEditor() { const serverConfig = SUPPORTED_LANGUAGE_SERVERS.find((s) => s.id === language); if (serverConfig) { - const lspUrl = `${serverConfig.protocol}://${serverConfig.hostname}${serverConfig.port ? `:${serverConfig.port}` : ''}${serverConfig.path || ''}` + const lspUrl = `${serverConfig.protocol}://${serverConfig.hostname}${ + serverConfig.port ? `:${serverConfig.port}` : "" + }${serverConfig.path || ""}`; const url = normalizeUrl(lspUrl); const webSocket = new WebSocket(url); @@ -107,6 +109,9 @@ export default function CodeEditor() { beforeMount={(monaco) => { shikiToMonaco(highlighter, monaco); }} + onMount={(editor, monaco) => { + setEditor(editor); + }} // onValidate={(markers) => { // markers.forEach((marker) => { // console.log(marker.severity);