pub struct ScannerConfig {Show 25 fields
pub max_depth: usize,
pub follow_symlinks: bool,
pub respect_gitignore: bool,
pub show_hidden: bool,
pub show_ignored: bool,
pub find_pattern: Option<Regex>,
pub file_type_filter: Option<String>,
pub entry_type_filter: Option<String>,
pub min_size: Option<u64>,
pub max_size: Option<u64>,
pub newer_than: Option<SystemTime>,
pub older_than: Option<SystemTime>,
pub use_default_ignores: bool,
pub search_keyword: Option<String>,
pub show_filesystems: bool,
pub sort_field: Option<String>,
pub top_n: Option<usize>,
pub include_line_content: bool,
pub compute_interest: bool,
pub security_scan: bool,
pub min_interest: f32,
pub track_traversal: bool,
pub changes_only: bool,
pub compare_state: Option<PathBuf>,
pub smart_mode: bool,
}Expand description
§ScannerConfig: The Rider for our Rock Star Scanner
This is the list of demands for our scanner. “Don’t show me hidden files,”
“I only want to see files bigger than a tour bus,” “Ignore the messy backstage
area (.gitignore).” We build this from the user’s command-line arguments
to make sure the scanner puts on the exact show the user wants to see.
Fields§
§max_depth: usizeMaximum depth to traverse into subdirectories.
follow_symlinks: boolShould symbolic links be followed? (Currently always false).
respect_gitignore: boolShould .gitignore files be respected?
Should hidden files (starting with .) be shown?
show_ignored: boolShould ignored files/directories be shown (usually in brackets)?
find_pattern: Option<Regex>An optional regex pattern to filter files/directories by name.
file_type_filter: Option<String>An optional file extension to filter by (e.g., “rs”).
entry_type_filter: Option<String>Optional entry type filter (“f” for files, “d” for directories).
min_size: Option<u64>Optional minimum file size filter.
max_size: Option<u64>Optional maximum file size filter.
newer_than: Option<SystemTime>Optional filter for files newer than a specific date.
older_than: Option<SystemTime>Optional filter for files older than a specific date.
use_default_ignores: boolShould the scanner use its built-in list of default ignore patterns
(like node_modules, __pycache__, target/)?
search_keyword: Option<String>An optional keyword to search for within file contents.
show_filesystems: boolShould filesystem type indicators be shown?
sort_field: Option<String>Sort field for results (name, size, date, type)
top_n: Option<usize>Limit results to top N entries (useful with sort)
include_line_content: boolInclude actual line content in search results (for AI/MCP use)
compute_interest: boolCompute interest scores for each node (default: true when smart mode is enabled)
security_scan: boolPerform security scanning during traversal (default: true)
min_interest: f32Minimum interest score to include in results (0.0-1.0, default: 0.0)
track_traversal: boolTrack how we reached each location (symlink, mount, etc.)
changes_only: boolOnly show changes since last scan
compare_state: Option<PathBuf>Path to previous state file for comparison (or auto-detect from ~/.st/scan_states/)
smart_mode: boolEnable smart mode - groups by interest, shows changes, minimal output
Trait Implementations§
Source§impl Clone for ScannerConfig
impl Clone for ScannerConfig
Source§fn clone(&self) -> ScannerConfig
fn clone(&self) -> ScannerConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for ScannerConfig
impl Default for ScannerConfig
Source§fn default() -> ScannerConfig
fn default() -> ScannerConfig
Auto Trait Implementations§
impl Freeze for ScannerConfig
impl RefUnwindSafe for ScannerConfig
impl Send for ScannerConfig
impl Sync for ScannerConfig
impl Unpin for ScannerConfig
impl UnsafeUnpin for ScannerConfig
impl UnwindSafe for ScannerConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more