From 861034dc2f32d4900f6a2b9414065344e1a02857 Mon Sep 17 00:00:00 2001 From: mhead Date: Tue, 2 Jul 2024 19:39:18 +0530 Subject: [PATCH 1/4] Refactor suffix mapping to use HashMap a*.jpg=01;32nd HashSet for case sensitivity handling --- src/lib.rs | 153 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 132 insertions(+), 21 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 1032dc1..899b51a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -27,7 +27,7 @@ mod fs; pub mod style; -use std::collections::HashMap; +use std::collections::{HashMap, HashSet}; use std::env; use std::ffi::OsString; use std::fs::{DirEntry, FileType, Metadata}; @@ -220,6 +220,33 @@ impl Colorable for DirEntry { const LS_COLORS_DEFAULT: &str = "rs=0:lc=\x1b[:rc=m:cl=\x1b[K:ex=01;32:sg=30;43:su=37;41:di=01;34:st=37;44:ow=34;42:tw=30;42:ln=01;36:bd=01;33:cd=01;33:do=01;35:pi=33:so=01;35:"; +#[derive(Default, Debug, Clone)] +struct SuffixMapping { + mappings: HashMap>, + case_sensitive: HashSet, +} + +impl SuffixMapping { + fn push(&mut self, suffix: FileNameSuffix, style: Option