luff 0.2.1

Print files with formatting
Documentation
//! File system utilities

pub mod glob;
pub mod normalization;
pub mod path_ops;
pub mod platform;
pub mod security;
pub(crate) mod timeout;
pub mod validation;

// Re-export commonly used functions for convenience
pub use glob::{GlobError, GlobMatcher};
pub use normalization::normalize_path;
pub use path_ops::MAX_FILE_SIZE;
pub use path_ops::open_file_safe;
#[cfg(feature = "cli")]
pub use path_ops::read_file_safe;
pub use platform::{canonicalize_safe, is_reserved_name};
pub use security::{
    FileIdentity, get_stdout_identity, is_canonical_within_root, is_output_file, is_within_root,
    output_protection_threshold,
};
pub use validation::{validate_path, validate_path_with_env};

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_module_exports() {
        // Verify exports are accessible
        let _ = normalize_path;
        let _ = canonicalize_safe;
        let _ = validate_path;
        let _ = validate_path_with_env;
        let _ = is_within_root;
        let _ = is_canonical_within_root;
        let _ = get_stdout_identity;
        let _ = is_output_file;
        let _ = is_reserved_name;
        let _ = output_protection_threshold;
        let _ = open_file_safe;
        let _ = MAX_FILE_SIZE;
        // Verify GlobMatcher type is accessible
        let _ = GlobMatcher::empty();
    }

    #[cfg(feature = "cli")]
    #[test]
    fn test_cli_module_exports() {
        let _ = read_file_safe;
    }
}