Skip to main content

luaur_analyze_cli/methods/
cli_config_resolver_cli_config_resolver.rs

1use crate::methods::cli_config_resolver_get_config::cli_config_resolver_get_config_thunk;
2use crate::records::cli_config_resolver::CliConfigResolver;
3use luaur_analysis::records::config_resolver::ConfigResolver;
4use luaur_ast::enums::mode::Mode;
5use luaur_config::records::config::Config;
6use std::collections::HashMap;
7
8impl CliConfigResolver {
9    /// C++ `CliConfigResolver(Luau::Mode mode) { defaultConfig.mode = mode; }`
10    /// (`CLI/src/Analyze.cpp:238-241`).
11    pub fn cli_config_resolver(mode: Mode) -> Self {
12        let mut default_config = Config::default();
13        default_config.mode = mode;
14
15        CliConfigResolver {
16            base: ConfigResolver {
17                get_config: Some(cli_config_resolver_get_config_thunk),
18            },
19            default_config,
20            config_cache: HashMap::new(),
21            config_errors: alloc::vec::Vec::new(),
22        }
23    }
24}