From a833512c19f501f1bea84166e6e41b97274f530b Mon Sep 17 00:00:00 2001 From: sigoden Date: Thu, 3 Jul 2025 08:50:21 +0800 Subject: refactor: update deps and models.yaml (#1339) --- src/config/mod.rs | 4 ++-- src/render/markdown.rs | 6 ++++-- src/utils/mod.rs | 5 +++++ 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/config/mod.rs b/src/config/mod.rs index b52debe..04ae4ef 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -1913,9 +1913,9 @@ impl Config { Some(theme) } else { let theme = if self.light_theme() { - bincode::deserialize_from(LIGHT_THEME).expect("Invalid builtin light theme") + decode_bin(LIGHT_THEME).context("Invalid builtin light theme")? } else { - bincode::deserialize_from(DARK_THEME).expect("Invalid builtin dark theme") + decode_bin(DARK_THEME).context("Invalid builtin dark theme")? }; Some(theme) } diff --git a/src/render/markdown.rs b/src/render/markdown.rs index 33cdf47..9671961 100644 --- a/src/render/markdown.rs +++ b/src/render/markdown.rs @@ -1,3 +1,5 @@ +use crate::utils::decode_bin; + use ansi_colours::AsRGB; use anyhow::{anyhow, Context, Result}; use crossterm::style::{Color, Stylize}; @@ -30,8 +32,8 @@ pub struct MarkdownRender { impl MarkdownRender { pub fn init(options: RenderOptions) -> Result { - let syntax_set: SyntaxSet = bincode::deserialize_from(SYNTAXES) - .with_context(|| "MarkdownRender: invalid syntaxes binary")?; + let syntax_set: SyntaxSet = + decode_bin(SYNTAXES).with_context(|| "MarkdownRender: invalid syntaxes binary")?; let code_color = options .theme diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 1f2a592..8a90516 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -214,6 +214,11 @@ pub fn set_proxy( Ok(builder) } +pub fn decode_bin(data: &[u8]) -> Result { + let (v, _) = bincode::serde::decode_from_slice(data, bincode::config::legacy())?; + Ok(v) +} + #[cfg(test)] mod tests { use super::*; -- cgit v1.2.3