1use crate::language::LeanLanguage;
2use oak_lsp::{LanguageService, MemoryVfs, WorkspaceManager};
3
4pub struct LeanLanguageService {
5 _config: LeanLanguage,
6 vfs: MemoryVfs,
7 workspace: WorkspaceManager,
8}
9
10impl LeanLanguageService {
11 pub fn new(config: LeanLanguage) -> Self {
12 Self { _config: config, vfs: MemoryVfs::default(), workspace: WorkspaceManager::default() }
13 }
14}
15
16impl LanguageService for LeanLanguageService {
17 type Lang = LeanLanguage;
18 type Vfs = MemoryVfs;
19
20 fn vfs(&self) -> &Self::Vfs {
21 &self.vfs
22 }
23
24 fn workspace(&self) -> &WorkspaceManager {
25 &self.workspace
26 }
27}