A key=value configuration file.
Various syntax options are available, and are controlled by KeyValueConfigFileOptions:
- Unless kvcfo_disallow_continuations, line continuations via backslashes are allowed.
- Unless kvcfo_disallow_comments, comments start with a #.
- Unless kvcfo_disallow_space_around_equals, the equals sign can have surrounding whitespace.
- Unless kvcfo_disallow_space_inside_unquoted_values, foo = bar baz is legal.
- Unless kvcfo_disallow_single_quoted_strings, single quoted strings are legal.
- Unless kvcfo_disallow_double_quoted_strings, double quoted strings are legal.
- Unless kvcfo_disallow_unquoted_values, unquoted values are legal.
- Unless kvcfo_disallow_variables, variables using $foo and ${foo} are expanded.
- Unless kvcfo_disallow_source, source path is legal.
- Unless kvcfo_preserve_whitespace, leading and trailing whitespace on values is stripped.
- If kvcfo_allow_sections, sections in the form "[foo]" and "[foo bar]" are allowed. A key 'baz' in section "[foo]" will be treated as "foo/baz", and "[foo bar]" as "foo/bar/baz".