# intuitive object notation | ion
hello {
# the current deserializer is experimental
# and can be buggy at times
world 'hello world!'
}
# this document can be deserialized with the following rust structs
# #[derive(Serialize, Deserialize)]
# struct Object {
# hello: Hello,
# }
#
# #[derive(Serialize, Deserialize)]
# struct Hello {
# world: String,
# }
# ion supports single line comments
# ion is based on pair expressions
# this means that for each key, there must be a value
# <key> <value> this is the standard
# <key> : <value> this also works
# <key> = <value> this works too
# this means that it is not possible to have a ion
# object that only contains a list. There must be a key.
# in this case, the key is hello
# the value is an object that contains
# the world key and its value
#
# keys can be whatever you want as long as they can be interpreted as a string
#
# values can be any of the following:
# lists => [ val ] | [ 1 2 3 ]
# maps|structs => { key value }
# string|literal => string|"string"
# i32|f32 => 10 | 10.0
# option => T | ()
# it should be noted that ion does not have null,
# instead, it uses the unit as null
# for syntax highlighting, it is recommended to set ion as ruby