From 4aead87c3c59bfb43470bf152ca5fa9d8473fa2c Mon Sep 17 00:00:00 2001
From: ID Bot
This is the formal specification for KDL, including the intended data model and the grammar.¶
-This document describes KDL version KDL 2.0.0. It was released on 2024-12-21. It -is the latest stable version of the language, and will only be edited for minor -copyedits or major errata.¶
+This document describes an unreleased minor change to KDL. For the latest +oficial version of the language, see https://kdl.dev/spec.¶
The toplevel concept of KDL is a Document. A Document is composed of zero or -more Nodes (Section 3.2), separated by newlines and whitespace, and eventually +more Nodes (Section 3.2), separated by newlines, semicolons, and whitespace, and eventually terminated by an EOF.¶
All KDL documents MUST be encoded in UTF-8 and conform to the specifications in this document.¶
@@ -1399,7 +1401,8 @@ preserving key order.¶ the entire node, including its properties, arguments, and children, and make it act as plain whitespace, even if it spreads across multiple lines.¶Finally, a node is terminated by either a Newline (Section 3.18), a semicolon
-(;), the end of a child block (}) or the end of the file/stream (an EOF).¶
;), the end of its parent's child block (}) or the end of the file/stream
+(an EOF).¶
base64: A Base64-encoded string, denoting arbitrary binary data.¶
base85: An Ascii85-encoded string, denoting arbitrary binary data.¶
Multi-Line Strings let you write strings across multiple lines - and with indentation that's not part of the string value.¶
+and with indentation that's not part of the string value.¶Raw Strings don't allow any escapes,
@@ -1777,8 +1783,8 @@ characters (Sect
idents that appear to start with a Number (Section 3.14) (like
1.0v2 or
- -1em) or the "almost a number" pattern of a decimal point without a
- leading digit (like .1).¶-1em) or the "almost a number" pattern of a decimal point without a
+leading digit (like .1).¶
idents that are the language keywords (inf, -inf, nan, true,
@@ -2714,7 +2720,7 @@ They may be represented in Strings (but not Raw Strings) using Unicode Escapes (
except for non Unicode Scalar Value, which can't be represented even as escapes).¶
The codepoints U+0000-0008 or the codepoints U+000E-001F (various
+
The codepoints U+0000-0008 or the codepoints U+000E-001F (various
control characters).¶
| KDL | +plain text | +diff with main | +
| KDL | +plain text | +same as main | +
| KDL | +plain text | +diff with main | +
| diff with main |
| KDL | -plain text | -same as main | -
| KDL | -plain text | -diff with main | -
| KDL | -plain text | -same as main | -