fix(playground): update Monaco editor loader configuration to use monaco instance and improve editor reference type

This commit is contained in:
ngc2207 2025-01-05 08:03:46 +08:00
parent 063168c94f
commit 9ecb387418

View File

@ -1,5 +1,6 @@
"use client"; "use client";
import * as monaco from "monaco-editor";
import { connectToLanguageServer } from "@/lib/lsp"; import { connectToLanguageServer } from "@/lib/lsp";
import { useEffect, useRef, useState } from "react"; import { useEffect, useRef, useState } from "react";
import { Editor, loader } from "@monaco-editor/react"; import { Editor, loader } from "@monaco-editor/react";
@ -40,13 +41,12 @@ int main() {
}, },
}; };
loader.config({ paths: { vs: "/vs" } }); loader.config({ monaco });
export default function PlaygroundPage() { export default function PlaygroundPage() {
const [language, setLanguage] = useState<string>("c"); const [language, setLanguage] = useState<string>("c");
const file = files[language]; const file = files[language];
// eslint-disable-next-line @typescript-eslint/no-explicit-any const editorRef = useRef<monaco.editor.IStandaloneCodeEditor | null>(null);
const editorRef = useRef<any | null>(null);
const webSocketRef = useRef<WebSocket | null>(null); const webSocketRef = useRef<WebSocket | null>(null);
const languageClientRef = useRef<MonacoLanguageClient | null>(null); const languageClientRef = useRef<MonacoLanguageClient | null>(null);