feat(useCodeEditor): Add languageClient state to support language servers

- Introduces MonacoLanguageClient state to facilitate language server integration in the code editor.
This commit is contained in:
cfngc4594 2025-02-23 13:53:55 +08:00
parent 0dafb06e86
commit 62149db922

View File

@ -1,13 +1,18 @@
import { create } from "zustand";
import { DEFAULT_LANGUAGE } from "@/config/language";
import { SupportedLanguage } from "@/constants/language";
import { MonacoLanguageClient } from "monaco-languageclient";
interface CodeEditorState {
language: SupportedLanguage;
languageClient: MonacoLanguageClient | null;
setLanguage: (language: SupportedLanguage) => void;
setLanguageClient: (languageClient: MonacoLanguageClient | null) => void;
}
export const useCodeEditorState = create<CodeEditorState>((set) => ({
language: DEFAULT_LANGUAGE,
languageClient: null,
setLanguage: (language) => set({ language }),
setLanguageClient: (languageClient) => set({ languageClient }),
}));