# ------------------------------------------------------------------------------ # example config format # # this is a working draft of things that are valid in a new config language to # replace json as a config language for Go projects. # # comments are a thing now! # ------------------------------------------------------------------------------ # the whole document is implicitly a namespace, so you can set key value pairs # at the top level. first_name: jordan last_name: orelli # lists of things should be supported items: [ one 2 3.4 [five; 6 7.8] ] # objects should be supported hash: {key: value; other_key: other_value} other_hash: { key_1: one key_2: 2 key_3: 3.4 key_4: [five; 6 7.8] } # we may reference an item that was defined earlier using a sigil repeat_hash: @hash # items can be hidden. i.e., they're only valid in the parse and eval stage as # intermediate values internal to the config file; they are *not* visible to # the host program. This is generally useful for composing larger, more # complicated things. @hidden_item: it has a value visible_item: @hidden_item @person_one: { name: the first name here age: 28 hometown: crooklyn } @person_two: { name: the second name here age: 30 hometown: tha bronx } people: [@person_one @person_two]