pub struct FileStyleRegistry {
pub rules: Vec<StyleRule>,
pub callback: Option<FileStyleCallback>,
/* private fields */
}Expand description
Registry of file styles applied in the in-UI file browser.
Rules are evaluated in insertion order. The first matching rule wins.
Fields§
§rules: Vec<StyleRule>Ordered rule list.
callback: Option<FileStyleCallback>Optional callback provider for dynamic style resolution.
Implementations§
Source§impl FileStyleRegistry
impl FileStyleRegistry
Sourcepub fn igfd_ascii_preset() -> Self
pub fn igfd_ascii_preset() -> Self
Returns a small, dependency-free style preset that resembles a classic file dialog.
This preset uses ASCII icons only (e.g. "[DIR]") to avoid relying on icon fonts.
Hosts can override these rules or provide richer icons via an icon font + font_token.
Sourcepub fn invalidate_caches(&mut self)
pub fn invalidate_caches(&mut self)
Invalidate cached compiled regex patterns.
This is called automatically by push_* methods. If you mutate rules directly,
call this before rendering.
Sourcepub fn push_rule(&mut self, matcher: StyleMatcher, style: FileStyle)
pub fn push_rule(&mut self, matcher: StyleMatcher, style: FileStyle)
Add a rule.
Sourcepub fn push_dir_style(&mut self, style: FileStyle)
pub fn push_dir_style(&mut self, style: FileStyle)
Convenience: style all directories.
Sourcepub fn push_file_style(&mut self, style: FileStyle)
pub fn push_file_style(&mut self, style: FileStyle)
Convenience: style all files.
Sourcepub fn push_link_style(&mut self, style: FileStyle)
pub fn push_link_style(&mut self, style: FileStyle)
Convenience: style all symbolic links.
Sourcepub fn push_extension_style(&mut self, ext: impl AsRef<str>, style: FileStyle)
pub fn push_extension_style(&mut self, ext: impl AsRef<str>, style: FileStyle)
Convenience: style a specific extension (case-insensitive, without leading dot).
Sourcepub fn push_name_style(&mut self, name: impl AsRef<str>, style: FileStyle)
pub fn push_name_style(&mut self, name: impl AsRef<str>, style: FileStyle)
Convenience: style a specific base name (case-insensitive).
Sourcepub fn push_name_contains_style(
&mut self,
needle: impl AsRef<str>,
style: FileStyle,
)
pub fn push_name_contains_style( &mut self, needle: impl AsRef<str>, style: FileStyle, )
Convenience: style entries whose base name contains a substring (case-insensitive).
Sourcepub fn push_name_glob_style(
&mut self,
pattern: impl AsRef<str>,
style: FileStyle,
)
pub fn push_name_glob_style( &mut self, pattern: impl AsRef<str>, style: FileStyle, )
Convenience: style entries whose base name matches a glob (* / ?, case-insensitive).
Sourcepub fn push_name_regex_style(
&mut self,
pattern: impl AsRef<str>,
style: FileStyle,
)
pub fn push_name_regex_style( &mut self, pattern: impl AsRef<str>, style: FileStyle, )
Convenience: style entries whose base name matches a regex (case-insensitive).
IGFD-style wrappers are accepted: ((...)).
Sourcepub fn set_callback(&mut self, callback: FileStyleCallback)
pub fn set_callback(&mut self, callback: FileStyleCallback)
Set a callback provider for dynamic style resolution.
Sourcepub fn clear_callback(&mut self)
pub fn clear_callback(&mut self)
Clear the callback provider.
Trait Implementations§
Source§impl Clone for FileStyleRegistry
impl Clone for FileStyleRegistry
Source§fn clone(&self) -> FileStyleRegistry
fn clone(&self) -> FileStyleRegistry
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more