]> git.sur5r.net Git - i3/i3/commitdiff
clarify JSON standard non-compliance 3395/head
authorTodd Walton <ttwalto@castlebranch.com>
Mon, 10 Sep 2018 20:31:25 +0000 (16:31 -0400)
committerTodd Walton <ttwalto@castlebranch.com>
Mon, 10 Sep 2018 20:31:25 +0000 (16:31 -0400)
Modified section on the layout file's non-compliance with the JSON
standard. The section previously stated that having multiple top-level
JSON texts is non-compliant. This isn't the case. It's just that most
JSON parsers will treat that as if it is non-compliant.

docs/layout-saving

index e90ecada87fdb35c3c4727d55b86faccaa812e74..f31b5e21ab367b48740d189e5a208a021aba15c4 100644 (file)
@@ -219,13 +219,15 @@ the window which matches any of the criteria. As an example:
 
 A layout file as generated by +i3-save-tree(1)+ is not strictly valid JSON:
 
-1. Layout files contain multiple “JSON documents” on the top level, whereas the
-   JSON standard only allows precisely one “document” (array or hash).
+1. Layout files contain multiple “JSON texts” at the top level. The JSON
+   standard doesn't prohibit this, but in practice most JSON parsers only
+   allow precisely one “text” per document/file, and will mark multiple texts
+   as invalid JSON.
 
-2. Layout files contain comments which are not standardized, but understood by
-   many parsers.
+2. Layout files contain comments which are not allowed by the JSON standard,
+   but are understood by many parsers.
 
-Both deviations from the JSON standard are to make manual editing by humans
+Both of these deviations from the norm are to make manual editing by humans
 easier. In case you are writing a more elaborate tool for manipulating these
 layouts, you can either use a JSON parser that supports these deviations (for
 example libyajl), transform the layout file to a JSON-conforming file, or