mirror of
https://github.com/massbug/judge4c.git
synced 2025-05-18 15:26:33 +00:00
feat(code-editor): update component to set path based on language configuration
This commit is contained in:
parent
ea92ba9d67
commit
aa10163c51
@ -1,6 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import dynamic from "next/dynamic";
|
import dynamic from "next/dynamic";
|
||||||
|
import { getPath } from "@/lib/utils";
|
||||||
import { highlighter } from "@/lib/shiki";
|
import { highlighter } from "@/lib/shiki";
|
||||||
import type { editor } from "monaco-editor";
|
import type { editor } from "monaco-editor";
|
||||||
import { Loading } from "@/components/loading";
|
import { Loading } from "@/components/loading";
|
||||||
@ -49,6 +50,7 @@ export default function CodeEditor({
|
|||||||
editorConfig,
|
editorConfig,
|
||||||
isLspEnabled,
|
isLspEnabled,
|
||||||
setEditor,
|
setEditor,
|
||||||
|
setPath,
|
||||||
setValue,
|
setValue,
|
||||||
} = useCodeEditorStore();
|
} = useCodeEditorStore();
|
||||||
const { monacoTheme } = useMonacoTheme();
|
const { monacoTheme } = useMonacoTheme();
|
||||||
@ -108,10 +110,17 @@ export default function CodeEditor({
|
|||||||
const handleEditorDidMount = useCallback(
|
const handleEditorDidMount = useCallback(
|
||||||
async (editor: editor.IStandaloneCodeEditor) => {
|
async (editor: editor.IStandaloneCodeEditor) => {
|
||||||
editorRef.current = editor;
|
editorRef.current = editor;
|
||||||
|
|
||||||
|
const selectedEditorLanguageConfig = editorLanguageConfigs.find(
|
||||||
|
(config) => config.language === language
|
||||||
|
);
|
||||||
|
setPath(selectedEditorLanguageConfig ? getPath(selectedEditorLanguageConfig) : "");
|
||||||
|
|
||||||
await connectLSP();
|
await connectLSP();
|
||||||
|
|
||||||
setEditor(editor);
|
setEditor(editor);
|
||||||
},
|
},
|
||||||
[connectLSP, setEditor]
|
[connectLSP, setEditor, editorLanguageConfigs, language]
|
||||||
);
|
);
|
||||||
|
|
||||||
// Reconnect to the LSP whenever language or lspConfig changes
|
// Reconnect to the LSP whenever language or lspConfig changes
|
||||||
|
Loading…
Reference in New Issue
Block a user