BespON syntax highlighting for VS Code
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bespon
.gitattributes
.gitignore
README.md
install.py

README.md

BespON syntax highlighting for VS Code

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.