This is an extension for VS Code that provides syntax highlighting for BespON. It is available through the Visual Studio Marketplace, and thus may be installed with the VS Code extension manager.
A simple installation script install.py is provided to automate manual
installation of development versions.
# Line comments are allowed! They can always be round-tripped as long as data
# elements are only modified, not added or removed.
### This is a doc comment. It can always be round-tripped.###
# Only one doc comment is allowed per data element; another couldn't be here.
"quoted key with \x5C escapes" = 'quoted value with \u{5C} escapes'
`literal key without \ escapes` = ``literal value without `\` escapes``
# ASCII identifier-style strings are allowed unquoted.
# Unquoted Unicode identifiers can optionally be enabled.
unquoted_key = unquoted_value
inline_dict = {key1 = value1, key2 = value2,} # Trailing commas are fine.
inline_list_of_ints = [1, 0x12, 0o755, 0b1010] # Hex, octal, and binary!
list_of_floats =
* 1.2e3
* -inf # Full IEEE 754 compatibility. Infinity and NaN are not excluded.
* 0x4.3p2 # Hex floats, to avoid rounding issues.
wrapped_string = """string containing no whitespace lines in which line breaks
are replaced with spaces, and "quotes" are possible by via delimiters"""
multiline_literal_string = |```
A literal string in which linebreaks are kept (as '\n')
and leading indentation (relative to delimiters) is preserved,
with special delimiters always on lines by themselves.
|```/
multiline_escaped_string = |"""
The same idea as the literal string, but with backslash escapes.
|"""/
key1.key2 = true # Key path style; same as "key1 = {key2 = true}"
|=== section.subsection # Same as "section = {subsection = {key = value}}"
key = value
|===/ # Back to root level. Can be omitted if sections never return to root.