summaryrefslogtreecommitdiffstats
path: root/src/tree
diff options
context:
space:
mode:
authorCanop <cano.petrole@gmail.com>2020-11-17 20:31:34 +0100
committerCanop <cano.petrole@gmail.com>2020-11-17 20:31:34 +0100
commit985a31722419ea23b194091fc5feb129b79f5017 (patch)
treec1a8d92fdc538ef435ee706b8742add0584c7e00 /src/tree
parent3128dacc5c2066392a53f91718a7db438706b4c2 (diff)
some code cleaning
Diffstat (limited to 'src/tree')
-rw-r--r--src/tree/tree_line.rs26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/tree/tree_line.rs b/src/tree/tree_line.rs
index 3e9d361..a4a5e17 100644
--- a/src/tree/tree_line.rs
+++ b/src/tree/tree_line.rs
@@ -40,44 +40,38 @@ pub struct TreeLine {
impl TreeLine {
pub fn make_displayable_name(
- name: &str,
+ name: &str,
path: &std::path::PathBuf,
tree_line_type: &TreeLineType,
con: &AppContext,
-
) -> String {
let newline_replaced_name = name.replace('\n', "");
-
- match &con.icon_plugin
- {
+ match &con.icons {
None => newline_replaced_name,
- Some( icon_plugin ) =>
- {
- let extension = Self::extension_from_name( name );
- let double_extension = Self::double_extension_from_name( name );
-
- let icon = &icon_plugin.get_icon(
+ Some(icon_plugin) => {
+ // FIXME compile both in one regex
+ let extension = Self::extension_from_name(name);
+ let double_extension = Self::double_extension_from_name(name);
+ let icon = icon_plugin.get_icon(
tree_line_type,
path,
&name,
double_extension,
extension,
);
-
- String::with_capacity( name.len() + 2 )
- + &icon.to_string() + " " + &newline_replaced_name
+ format!("{} {}", icon, newline_replaced_name)
}
}
}
- pub fn double_extension_from_name( name: &str ) -> Option<&str> {
+ pub fn double_extension_from_name(name: &str) -> Option<&str> {
regex!( r"\.([^.]+\.[^.]+)" )
.captures(&name)
.and_then(|c| c.get(1))
.map(|e| e.as_str())
}
- pub fn extension_from_name( name: &str ) -> Option<&str> {
+ pub fn extension_from_name(name: &str) -> Option<&str> {
regex!(r"\.([^.]+)$")
.captures(&name)
.and_then(|c| c.get(1))