conl 1.6.0

CONL is a post-modern configuration language
Documentation
; 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)