superconf

A barebones configuration file made for low-dependency rust applications.

Usage

Add to your Cargo.toml file:

toml [dependancies] superconf = "0.3"

Examples

Default seperator (space ) demonstration:

```rust use superconf::parse_str;

let input = "mykey myvalue";

println!("Outputted HashMap: {:#?}", parse_str(input).unwrap()); ```

Or if you'd like to use a custom seperator like : or =:

```rust use superconf::parsecustomsep;

let inputequal = "custom=seperator"; let inputcolon = "second:string";

println!("Equals seperator: {:#?}", parsecustomsep(inputequal, '=').unwrap()); println!("Colon seperator: {:#?}", parsecustomsep(inputcolon, ':').unwrap()); ```

Here is a complete syntax demonstration:

```none

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

mykey is the key, myvalue is the value

mykey thevalue

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:

{"otherkey": {"inlevel": "seeitis", "second_level": {"another": "level"}}}

otherkey inlevel seeitis second_level another level ```

Config Conventions

Some conventions commonly used for superconf files:

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.