diff --git a/src/components/problem-editor.tsx b/src/components/problem-editor.tsx index 55ba9d7..d46be86 100644 --- a/src/components/problem-editor.tsx +++ b/src/components/problem-editor.tsx @@ -61,7 +61,7 @@ export function CodeEditor() { try { const monacoLanguageClient = await connectToLanguageServer( currentEditorLanguageConfig, - currentLanguageServerConfig, + currentLanguageServerConfig ); monacoLanguageClientRef.current = monacoLanguageClient; setMonacoLanguageClient(monacoLanguageClient); @@ -92,33 +92,40 @@ export function CodeEditor() { }; }, [setMonacoLanguageClient]); + const handleEditorWillMount = useCallback((monaco: Monaco) => { + shikiToMonaco(highlighter, monaco); + }, []); + + const handleOnMount = useCallback( + async (editor: editor.IStandaloneCodeEditor) => { + setEditor(editor); + await connectLSP(); + }, + [setEditor, connectLSP] + ); + + const handleEditorChange = useCallback( + (value: string | undefined) => { + if (value !== undefined) { + changeValue(value); + } + }, + [changeValue] + ); + if (!hydrated) { return ; } - const handleBeforeMount = (monaco: Monaco) => { - shikiToMonaco(highlighter, monaco); - }; - - const handleOnMount = async (editor: editor.IStandaloneCodeEditor) => { - setEditor(editor); - await connectLSP(); - }; - - const handleOnChange = (value: string | undefined) => { - if (value === undefined) return; - changeValue(value); - }; - return ( } className="h-full w-full py-2"