From f11361ee359c1eaccc36559a2fa5b1b98da10ba8 Mon Sep 17 00:00:00 2001 From: A Farzat Date: Wed, 10 Jun 2026 20:04:12 +0300 Subject: Move outer_backticks to a util module This is because it shall be used by other functions later on. It was made more generic by accepting raw bytes instead of strictly UTF-8 strings. This allows future functions to call it without having to convert the contents to UTF-8 strings first. --- src/renderer.rs | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) (limited to 'src/renderer.rs') diff --git a/src/renderer.rs b/src/renderer.rs index 6f13f59..d9cf7b4 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -7,7 +7,9 @@ use std::{ use crate::{ logger::Logger, normalizer::NormalizedPath, - util::{language::detect_language, path_display::display_path}, + util::{ + fence::generate_outer_backticks, language::detect_language, path_display::display_path, + }, }; const DEFAULT_MAX_FILE_SIZE: u64 = 1_000_000; @@ -81,7 +83,7 @@ impl Renderer { fn write_file(&mut self, filename: &Path, contents: &str) -> std::io::Result<()> { let name = display_path(filename); - let fence = outer_backticks(contents); + let fence = generate_outer_backticks(contents); let language = detect_language(filename, contents); self.log_file_render(filename); writeln!(self.output)?; @@ -131,23 +133,6 @@ impl Renderer { } } -fn outer_backticks(contents: &str) -> String { - let mut max_ticks = 0; - let mut current_count = 0; - for char in contents.chars() { - if char == '`' { - current_count += 1; - if current_count > max_ticks { - max_ticks = current_count; - } - } else { - current_count = 0; - } - } - let fence_len = std::cmp::max(3, max_ticks + 1); - "`".repeat(fence_len) -} - fn human_readable_size(bytes: u64) -> String { const UNITS: [&str; 5] = ["B", "KiB", "MiB", "GiB", "TiB"]; -- cgit v1.3.1