From 3048832a2d5a2017d2d3d2edf47032faa08d0cd4 Mon Sep 17 00:00:00 2001 From: "Rodrigo Rodriguez (Pragmatismo)" Date: Fri, 24 Apr 2026 18:22:17 +0000 Subject: [PATCH] feat: Add simple form of ADD SWITCHER keyword without AS clause - ADD_SWITCHER "tables" now works (label defaults to switcher ID) - ADD_SWITCHER "tables" AS "Tabelas" still works (custom label) - Follows same pattern as ADD_SUGGESTION simple/AS forms - Fixes #495 --- botserver/src/basic/keywords/switcher.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/botserver/src/basic/keywords/switcher.rs b/botserver/src/basic/keywords/switcher.rs index 8c60d6bb..24501ca6 100644 --- a/botserver/src/basic/keywords/switcher.rs +++ b/botserver/src/basic/keywords/switcher.rs @@ -89,6 +89,8 @@ pub fn add_switcher_keyword( engine: &mut Engine, ) { let cache = state.cache.clone(); + let cache2 = state.cache.clone(); + let user_session2 = user_session.clone(); engine .register_custom_syntax( @@ -109,6 +111,25 @@ pub fn add_switcher_keyword( }, ) .expect("valid syntax registration"); + + engine + .register_custom_syntax( + ["ADD_SWITCHER", "$expr$"], + true, + move |context, inputs| { + let switcher_id = context.eval_expression_tree(&inputs[0])?.to_string(); + + add_switcher( + cache2.as_ref(), + &user_session2, + &switcher_id, + &switcher_id, + )?; + + Ok(Dynamic::UNIT) + }, + ) + .expect("valid syntax registration"); } fn add_switcher(