disk

Macro toml

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

Implement the Toml trait

File extension is toml and is automatically appended.

§Input

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

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

§Example

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

toml!(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.toml.