Crate hf

Source
Expand description

The hf crate is a cross-platform library for manipulating hidden files and directories.

This crate supports both Unix and Windows. On Unix, hidden files and directories are files and directories that starts with a dot character (.). On Windows, hidden files and directories are files and directories with the hidden file attribute.

§Examples

§On Unix

use std::fs::File;

let temp_dir = tempfile::tempdir().unwrap();
let temp_dir = temp_dir.path();
let file_path = temp_dir.join("foo.txt");
let hidden_file_path = hf::unix::hidden_file_name(&file_path).unwrap();
assert_eq!(hidden_file_path, temp_dir.join(".foo.txt"));
assert!(!file_path.exists());
assert!(!hidden_file_path.exists());

File::create(&file_path).unwrap();
assert!(file_path.exists());
assert!(!hidden_file_path.exists());

hf::hide(&file_path).unwrap();
assert!(!file_path.exists());
assert!(hidden_file_path.exists());

hf::show(&hidden_file_path).unwrap();
assert!(file_path.exists());
assert!(!hidden_file_path.exists());

§On Windows

use std::fs::File;

let temp_dir = tempfile::tempdir().unwrap();
let file_path = temp_dir.path().join("foo.txt");
assert!(!file_path.exists());

File::create(&file_path).unwrap();
assert!(file_path.exists());
assert!(!hf::is_hidden(&file_path).unwrap());

hf::hide(&file_path).unwrap();
assert!(file_path.exists());
assert!(hf::is_hidden(&file_path).unwrap());

hf::show(&file_path).unwrap();
assert!(file_path.exists());
assert!(!hf::is_hidden(file_path).unwrap());

Modules§

  • unixUnix
    Provides functionality for Unix platforms.

Functions§

  • Hides a file or directory.
  • Returns true if the path is a hidden file or directory.
  • Shows a hidden file or directory.