Expand description
A barebones configuration file made for low-dependency rust applications.
§Usage
Add to your Cargo.toml file:
[dependancies]
superconf = "0.3"§Examples
Default seperator (space ) demonstration:
use superconf::parse;
let input = "my_key my_value";
println!("Outputted HashMap: {:#?}", parse(input).unwrap());Or if you’d like to use a custom seperator like : or =:
use superconf::parse_custom_sep;
let input_equal = "custom=seperator";
let input_colon = "second:string";
println!("Equals seperator: {:#?}", parse_custom_sep(input_equal, '=').unwrap());
println!("Colon seperator: {:#?}", parse_custom_sep(input_colon, ':').unwrap());Here is a complete syntax demonstration:
# comments are like this
# no seperators are allowed in keys or values
# comments can only be at the start of lines, no end of line comments here
# my_key is the key, my_value is the value
my_key the_value
# you can use seperators as plaintext, just have to be backslashed
your_path /home/user/Cool\ Path/x.txt
# you can also have multiple levels
# will be:
# {"other_key": {"in_level": "see_it_is", "second_level": {"another": "level"}}}
other_key
in_level see_it_is
second_level
another level§Config Conventions
Some conventions commonly used for superconf files:
- The file naming scheme is
snake_case - All superconf files should end in the
.superfile extension - Try to document each line with a comment
- If commented, space each config part with an empty line seperating it from others. If it is undocumented, you may bunch all config parts together
§Motives
Made this as a quick custom parser to challenge myself a bit and to use for a quick-n-dirty configuration format in the future. It’s not the best file format in the world but it gets the job done.
Enums§
- Super
Error - Primary error enum for superconf, storing the common errors faced.
- Super
Value - The possible value of the config file.
Functions§
- parse
- Parses given
confinput. - parse_
custom_ sep - Similar to parse but can enter a custom seperator other then the
default
(space) character - parse_
file - Opens a PathBuf-type file and parses contents.