diff --git a/cmd/moon/main.go b/cmd/moon/main.go index 068ddce..ad4137b 100644 --- a/cmd/moon/main.go +++ b/cmd/moon/main.go @@ -10,53 +10,61 @@ moon file is syntactically valid. The following is taken to be the contents of a file named ex.moon: + # ------------------------------------------------------------------------------ + # 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" + first_name: jordan + last_name: orelli # lists of things should be supported items: [ - "one" + one 2 3.4 - ["five" 6 7.8] + [five; 6 7.8] ] # objects should be supported - hash: {key: "value" other_key: "other_value"} + hash: {key: value; other_key: other_value} other_hash: { - key_1: "one" + key_1: one key_2: 2 key_3: 3.4 - key_4: ["five" 6 7.8] + key_4: [five; 6 7.8] } - # we may reference an item that was defined earlier - repeat_hash: hash + # 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 + @hidden_item: it has a value + visible_item: @hidden_item - .person_one: { - name: "the first name here" + @person_one: { + name: the first name here age: 28 - hometown: "crooklyn" + hometown: crooklyn } - .person_two: { - name: "the second name here" + @person_two: { + name: the second name here age: 30 - hometown: "tha bronx" + hometown: tha bronx } - people: [.person_one .person_two] + people: [@person_one @person_two] Subcommands