Skip to main content

luaur_cli_lib/methods/
vfs_navigator_get_config.rs

1use crate::enums::config_status::ConfigStatus;
2use crate::functions::read_file::read_file;
3use crate::records::vfs_navigator::VfsNavigator;
4use luaur_common::macros::luau_assert::LUAU_ASSERT;
5use luaur_common::macros::luau_unreachable::LUAU_UNREACHABLE;
6
7impl VfsNavigator {
8    pub fn get_config(&self) -> Option<String> {
9        let status = self.get_config_status();
10        LUAU_ASSERT!(status == ConfigStatus::PresentJson || status == ConfigStatus::PresentLuau);
11
12        if status == ConfigStatus::PresentJson {
13            // Luau::kConfigName
14            read_file(&self.get_config_path(".luaurc"))
15        } else if status == ConfigStatus::PresentLuau {
16            // Luau::kLuauConfigName
17            read_file(&self.get_config_path(".config.luau"))
18        } else {
19            LUAU_UNREACHABLE!();
20            None
21        }
22    }
23}