disk

Macro plain

Source
macro_rules! plain {
    ($data:ty, $dir:expr, $project_directory:expr, $sub_directories:expr, $file_name:expr) => { ... };
}
Available on crate feature plain only.
Expand description

Implement the Plain trait

Plain has no file extension.

§Input

These are the inputs you need to provide to implement Plain.

VariableDescriptionRelated Trait ConstantTypeExample
$dataIdentifier of the data to implement forstruct or enumMyState
$dirWhich OS directory to usePlain::OS_DIRECTORYDirDir::Data
$project_directoryThe name of the top project folderPlain::PROJECT_DIRECTORY&str"MyProject"
$sub_directories(Optional) sub-directories before filePlain::SUB_DIRECTORIES&str"some/dirs"
$file_nameThe file name to usePlain::FILE_NAME&str"state"

§Example

use serde::{Serialize,Deserialize};
use disk::*;

plain!(State, Dir::Data, "MyProject", "some/dirs", "state");
#[derive(Serialize,Deserialize)]
struct State {
    string: String,
    number: u32,
}

This example would be located at ~/.local/share/myproject/some/dirs/state.