feat(code-editor): update component to set path based on language configuration
Some checks failed
Build & Push Monaco Docker Image / build-and-push-monaco-docker-image (., Dockerfile, monaco-editor-lsp-next) (push) Failing after 1s

This commit is contained in:
cfngc4594 2025-03-16 20:00:55 +08:00
parent ea92ba9d67
commit aa10163c51

View File

@ -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