acp: load configured extensions and refactor tests (#6803)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Adrian Cole
2026-01-30 08:39:03 +09:00
committed by GitHub
parent 70f7bd7cc1
commit b0c6373cf8
11 changed files with 732 additions and 432 deletions
+14 -2
View File
@@ -26,8 +26,8 @@ pub fn name_to_key(name: &str) -> String {
.to_lowercase()
}
fn get_extensions_map() -> IndexMap<String, ExtensionEntry> {
let raw: Mapping = Config::global()
fn get_extensions_map_with_config(config: &Config) -> IndexMap<String, ExtensionEntry> {
let raw: Mapping = config
.get_param(EXTENSIONS_CONFIG_KEY)
.unwrap_or_else(|err| {
warn!(
@@ -56,6 +56,10 @@ fn get_extensions_map() -> IndexMap<String, ExtensionEntry> {
extensions_map
}
fn get_extensions_map() -> IndexMap<String, ExtensionEntry> {
get_extensions_map_with_config(Config::global())
}
fn save_extensions_map(extensions: IndexMap<String, ExtensionEntry>) {
let config = Config::global();
if let Err(e) = config.set_param(EXTENSIONS_CONFIG_KEY, &extensions) {
@@ -116,6 +120,14 @@ pub fn get_enabled_extensions() -> Vec<ExtensionConfig> {
.collect()
}
pub fn get_enabled_extensions_with_config(config: &Config) -> Vec<ExtensionConfig> {
get_extensions_map_with_config(config)
.into_values()
.filter(|ext| ext.enabled)
.map(|ext| ext.config)
.collect()
}
pub fn get_warnings() -> Vec<String> {
let raw: Mapping = Config::global()
.get_param(EXTENSIONS_CONFIG_KEY)