; CONL is a post-minimalist, human-centric configuration language. ; ; There are four ways to define a value: scalar = value list = value1 = value2 map key1 = value1 key2 = value2 multiline_scalar = """ value ; Multiline scalars support an optional hint for syntax highlighting. init_script = """bash #!/bin/bash echo "hello world" ; It is possible to nest lists and maps as needed. ; (and as in JSON, types can be mixed however you want) json_like sub_map key = value sub_list = value = map = no problem = = a list in a list ; in a map in a map sub_value = 5 ; Scalar types are not syntactically distinguished.. ; The app you are configuring knows what to expect. enabled = "yes" country_code = no ; Quoting is rarely required. Leading and trailing whitespace is ignored. ; but keys and values can contain pretty much any character except ; ; (and = for keys). spaced out key = value with = signs and "quotes"! ; But, if you need an empty string, or other esoteric scalars, ; you can use quotes. empty_string = "" quoted_scalar = "\twow\ttabs!\t" ; Quoted scalars support the following escape sequencess: escape_sequences = "\\" ; '\' = "\"" ; '"' = "\t" ; tab = "\n" ; newline = "\r" ; carriage return = "\{1F321}" ; 🐱 (or any Unicode codepoint valid in UTF-8)