macro_rules! trees { ($($all:tt)*) => { ... }; }
Expand description
Macro for declaring a FsTree
literal.
Syntax:
name: { ... }
is a directory.name -> name
is a symlink.name
is a regular file.- Spaces is optional.
- Commas are not required, but you should separate items with newlines or commas to improve readability.
Example:
use fs_tree::{FsTree, trees};
let result = trees! {
config
outer_dir: {
file1
file2
}
link -> target
};
let expected = vec![
FsTree::new_regular("config"),
FsTree::new_directory("outer_dir", vec![
FsTree::new_regular("file1"),
FsTree::new_regular("file2")
]),
FsTree::new_symlink("link", "target"),
];
assert_eq!(result, expected);