luaur_cli_lib/methods/
vfs_navigator_get_config_path.rs1use crate::functions::has_suffix::has_suffix;
2use crate::records::vfs_navigator::VfsNavigator;
3use alloc::string::String;
4use alloc::string::ToString;
5
6const K_INIT_SUFFIXES: &[&str] = &["/init.lua", "/init.luau"];
7const K_SUFFIXES: &[&str] = &[".lua", ".luau"];
8
9impl VfsNavigator {
10 pub fn get_config_path(&self, filename: &str) -> String {
11 let mut directory = self.real_path.as_str();
12
13 for suffix in K_INIT_SUFFIXES {
14 if has_suffix(directory, suffix) {
15 directory = &directory[..directory.len() - suffix.len()];
16 return [directory, "/", filename].concat();
17 }
18 }
19
20 for suffix in K_SUFFIXES {
21 if has_suffix(directory, suffix) {
22 directory = &directory[..directory.len() - suffix.len()];
23 return [directory, "/", filename].concat();
24 }
25 }
26
27 [directory, "/", filename].concat()
28 }
29}