Move icon helper.

This commit is contained in:
2026-02-22 11:44:55 -05:00
parent 2e67c01377
commit b0ed2e6e1f
3 changed files with 11 additions and 16 deletions

View File

@@ -9,15 +9,11 @@ use syn::{ItemStruct, parse_macro_input};
#[proc_macro_attribute]
pub fn log_id(_attr: TokenStream, item: TokenStream) -> TokenStream {
let input = parse_macro_input!(item as ItemStruct);
let struct_name = &input.ident;
let generics = &input.generics;
// This is the important part
let (impl_generics, type_generics, where_clause) = generics.split_for_impl();
let struct_name_str = struct_name.to_string();
let expanded = quote! {
#input

View File

@@ -4,15 +4,4 @@
pub mod entry_meta;
use devicons::FileIcon;
use std::path::Path;
pub fn icon<P: AsRef<str>>(p: P) -> FileIcon {
let path = p.as_ref();
if Path::new(&path).is_dir() {
// Ensures directories are given a folder icon and not mistakenly resolved to a language.
// For example, a directory named `cpp` would otherwise return a C++ icon.
return FileIcon::from("dir/");
}
FileIcon::from(path)
}
pub use entry_meta::icon;

View File

@@ -52,3 +52,13 @@ impl EntryMeta {
})
}
}
pub fn icon<P: AsRef<str>>(p: P) -> FileIcon {
let path = p.as_ref();
if Path::new(&path).is_dir() {
// Ensures directories are given a folder icon and not mistakenly resolved to a language.
// For example, a directory named `cpp` would otherwise return a C++ icon.
return FileIcon::from("dir/");
}
FileIcon::from(path)
}