MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / sync_current_model_variant

Method sync_current_model_variant

crates/opencode-tui/src/app/app.rs:2798–2826  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

2796 }
2797
2798 fn sync_current_model_variant(&mut self) {
2799 let Some(model_ref) = self.context.current_model.read().clone() else {
2800 self.context.set_model_variant(None);
2801 return;
2802 };
2803 let (model_key, explicit_variant) =
2804 parse_model_ref_selection(&model_ref, &self.available_models, &self.model_variants);
2805 if let Some(explicit) = explicit_variant {
2806 self.model_variant_selection
2807 .insert(model_key.clone(), Some(explicit.clone()));
2808 self.context.set_model_variant(Some(explicit));
2809 return;
2810 }
2811 let selected = self
2812 .model_variant_selection
2813 .get(&model_key)
2814 .cloned()
2815 .flatten();
2816 let available = self.model_variants.get(&model_key);
2817 let valid = selected.filter(|value| {
2818 available
2819 .map(|items| items.iter().any(|item| item == value))
2820 .unwrap_or(false)
2821 });
2822 if valid.is_none() {
2823 self.model_variant_selection.insert(model_key, None);
2824 }
2825 self.context.set_model_variant(valid);
2826 }
2827
2828 fn cycle_model_variant(&mut self) {
2829 let Some(model_ref) = self.context.current_model.read().clone() else {

Callers 1

refresh_model_dialogMethod · 0.80

Calls 6

readMethod · 0.80
set_model_variantMethod · 0.80
cloneMethod · 0.45
getMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected