fix(markdown): restore ratatui bold assertions
Acceptance-Criteria: - cargo test -p owlen-markdown completes without Style::contains usage - Workspace lint hook passes under cargo clippy --all-features -D warnings - Markdown heading and inline code tests still confirm bold styling Test-Notes: - cargo test -p owlen-markdown - cargo clippy -p owlen-markdown --tests -- -D warnings - cargo clippy --all-features -- -D warnings
This commit is contained in:
@@ -912,30 +912,24 @@ impl SessionController {
|
||||
let guard = self.config.lock().await;
|
||||
guard
|
||||
.providers
|
||||
.iter()
|
||||
.map(|(name, _)| (name.clone(), Self::quota_from_config(&guard, name)))
|
||||
.keys()
|
||||
.map(|name| (name.clone(), Self::quota_from_config(&guard, name)))
|
||||
.collect::<HashMap<_, _>>()
|
||||
};
|
||||
|
||||
let now = SystemTime::now();
|
||||
let mut provider_names: HashSet<String> = quota_map.keys().cloned().collect();
|
||||
|
||||
let snapshots = {
|
||||
let ledger = self.usage_ledger.lock().await;
|
||||
for key in ledger.provider_keys() {
|
||||
provider_names.insert(key.clone());
|
||||
}
|
||||
let ledger = self.usage_ledger.lock().await;
|
||||
provider_names.extend(ledger.provider_keys().cloned());
|
||||
|
||||
provider_names
|
||||
.into_iter()
|
||||
.map(|provider| {
|
||||
let quota = quota_map.get(&provider).cloned().unwrap_or_default();
|
||||
ledger.snapshot(&provider, quota, now)
|
||||
})
|
||||
.collect::<Vec<_>>()
|
||||
};
|
||||
|
||||
snapshots
|
||||
provider_names
|
||||
.into_iter()
|
||||
.map(|provider| {
|
||||
let quota = quota_map.get(&provider).cloned().unwrap_or_default();
|
||||
ledger.snapshot(&provider, quota, now)
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
|
||||
// Asynchronous access to the configuration (used internally).
|
||||
|
||||
@@ -167,10 +167,7 @@ impl UsageLedger {
|
||||
Err(_) => 0,
|
||||
};
|
||||
|
||||
let entry = self
|
||||
.providers
|
||||
.entry(provider.to_string())
|
||||
.or_insert_with(VecDeque::new);
|
||||
let entry = self.providers.entry(provider.to_string()).or_default();
|
||||
|
||||
entry.push_back(UsageRecord {
|
||||
timestamp: ts,
|
||||
|
||||
@@ -251,7 +251,7 @@ mod tests {
|
||||
assert!(
|
||||
line.spans
|
||||
.iter()
|
||||
.any(|span| span.style.contains(Modifier::BOLD))
|
||||
.any(|span| span.style.add_modifier.contains(Modifier::BOLD))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -265,6 +265,6 @@ mod tests {
|
||||
.find(|span| span.content.as_ref() == "code")
|
||||
.cloned()
|
||||
.unwrap();
|
||||
assert!(styled.style.contains(Modifier::BOLD));
|
||||
assert!(styled.style.add_modifier.contains(Modifier::BOLD));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7471,7 +7471,7 @@ impl ChatApp {
|
||||
}
|
||||
"web" => {
|
||||
let action =
|
||||
args.get(0).map(|value| value.to_ascii_lowercase());
|
||||
args.first().map(|value| value.to_ascii_lowercase());
|
||||
match action.as_deref() {
|
||||
Some("on") | Some("enable") => {
|
||||
match self.set_web_tool_enabled(true).await {
|
||||
@@ -8627,9 +8627,7 @@ impl ChatApp {
|
||||
}
|
||||
|
||||
fn format_percent_value(percent: f64) -> String {
|
||||
if percent >= 100.0 || percent == 0.0 {
|
||||
format!("{percent:.0}")
|
||||
} else if percent >= 10.0 {
|
||||
if percent >= 10.0 || percent == 0.0 {
|
||||
format!("{percent:.0}")
|
||||
} else {
|
||||
format!("{percent:.1}")
|
||||
@@ -12690,6 +12688,7 @@ fn normalize_cloud_endpoint(endpoint: &str) -> String {
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[allow(clippy::items_after_test_module)]
|
||||
mod tests {
|
||||
use super::{ChatApp, ModelAvailabilityState, ModelScope, render_markdown_lines, wrap_unicode};
|
||||
use crate::app::UiRuntime;
|
||||
|
||||
@@ -325,6 +325,7 @@ pub fn match_score(candidate: &str, query: &str) -> Option<(usize, usize)> {
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[allow(clippy::items_after_test_module)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ fn usage_gauge_descriptor(
|
||||
}
|
||||
|
||||
Some(GaugeDescriptor {
|
||||
title: format!("{title}"),
|
||||
title: title.to_string(),
|
||||
detail: format!("{detail} · {shorthand}"),
|
||||
percent_label,
|
||||
ratio,
|
||||
@@ -4796,7 +4796,7 @@ fn render_theme_browser(frame: &mut Frame<'_>, app: &ChatApp) {
|
||||
])
|
||||
};
|
||||
|
||||
if left_sections.len() >= 1 {
|
||||
if !left_sections.is_empty() {
|
||||
let search_paragraph = Paragraph::new(vec![search_line, instruction_line])
|
||||
.style(Style::default().bg(palette.highlight).fg(palette.label));
|
||||
frame.render_widget(search_paragraph, left_sections[0]);
|
||||
|
||||
Reference in New Issue
Block a user