[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/yaml 708dd886a2 001/124: Initial commit
From: |
ELPA Syncer |
Subject: |
[elpa] externals/yaml 708dd886a2 001/124: Initial commit |
Date: |
Fri, 29 Nov 2024 15:59:51 -0500 (EST) |
branch: externals/yaml
commit 708dd886a2c3417fc36465d29a2b35d675f47602
Author: Zachary Romero <zacromero@posteo.net>
Commit: Zachary Romero <zacromero@posteo.net>
Initial commit
---
grammargen.bb | 123 +++
yaml-spec-1.2.json | 3100 ++++++++++++++++++++++++++++++++++++++++++++++++++++
yaml.el | 37 +
3 files changed, 3260 insertions(+)
diff --git a/grammargen.bb b/grammargen.bb
new file mode 100755
index 0000000000..ece9231164
--- /dev/null
+++ b/grammargen.bb
@@ -0,0 +1,123 @@
+#!/usr/bin/env bb
+
+(def package-prefix "yaml")
+
+(defn prefix-package-symbol [name]
+ (symbol (str package-prefix "-" name)))
+
+(defn prefix-package-symbol-quoted [name]
+ (symbol (str "#'" package-prefix "-" name)))
+
+(defn extract-params
+ "Extract the parameters of a rule and return them as a list of symbols."
+ [spec]
+ (if (map? spec)
+ (->> (get spec "(...)")
+ list
+ (filter identity)
+ (flatten)
+ (map symbol))
+ (list)))
+
+(defmulti gen-elisp-fn-arg #(.getName (class %)))
+(defmethod gen-elisp-fn-arg "java.lang.String" [var-name]
+ (symbol var-name))
+(defmethod gen-elisp-fn-arg "clojure.lang.PersistentArrayMap" [m]
+ (cond
+ (get m "(+)")
+ (let [[var val] (get m "(+)")]
+ (list 'yaml--add (symbol var) val))
+ (get m "(-)")
+ (let [[var val] (get m "(-)")]
+ (list 'yaml--sub (symbol var) val))
+ :else
+ (let [[f args] (first m)]
+ (concat (list (prefix-package-symbol f))
+ (map gen-elisp-fn-arg (flatten (list args)))))))
+
+(defmulti gen-elisp-parse-expr #(.getName (class %)))
+
+(defmethod gen-elisp-parse-expr "java.lang.String" [chr]
+ (list 'yaml--chr chr))
+
+(defmethod gen-elisp-parse-expr "clojure.lang.PersistentVector" [[min max]]
+ (list 'yaml--chr-range
+ (symbol (str "?\\" min))
+ (symbol (str "?\\" max))))
+
+(defmethod gen-elisp-parse-expr "clojure.lang.PersistentArrayMap" [m]
+ (cond
+ (get m "({n})")
+ (list 'yaml--repeat-n 'n (prefix-package-symbol-quoted (get m "({n})")))
+ (get m "({2})")
+ (list 'yaml--repeat-n 2 (prefix-package-symbol-quoted (get m "({2})")))
+ (get m "({4})")
+ (list 'yaml--repeat-n 4 (prefix-package-symbol-quoted (get m "({4})")))
+ (get m "({8})")
+ (list 'yaml--repeat-n 4 (prefix-package-symbol-quoted (get m "({8})")))
+
+ (get m "(all)")
+ (concat (list 'yaml--all) (map gen-elisp-parse-expr (get m "(all)")))
+
+ (get m "(any)")
+ (concat (list 'yaml--any) (map gen-elisp-parse-expr (get m "(any)")))
+
+ (get m "(flip)")
+ (let [flip-args (get m "(flip)")
+ var (gen-elisp-fn-arg (get flip-args "var"))
+ block-in (or (and (get flip-args "block-in") (gen-elisp-fn-arg (get
flip-args "block-in"))) 'f)
+ block-out (or (and (get flip-args "block-out") (gen-elisp-fn-arg
(get flip-args "block-out"))) 'f)
+ block-key (or (and (get flip-args "block-key") (gen-elisp-fn-arg
(get flip-args "block-key"))) 'f)
+ flow-in (or (and (get flip-args "flow-in") (gen-elisp-fn-arg (get
flip-args "flow-in"))) 'f)
+ flow-out (or (and (get flip-args "flow-out") (gen-elisp-fn-arg (get
flip-args "flow-out"))) 'f)
+ flow-key (or (and (get flip-args "flow-key") (gen-elisp-fn-arg (get
flip-args "flow-key"))) 'f)]
+ (concat (list 'yaml--flip var block-in block-out block-key flow-in
flow-out flow-key)))
+
+ (get m "(<<<)")
+ (list 'yaml--may (gen-elisp-parse-expr (get m "(<<<)")))
+
+ (get m "(???)")
+ (list 'yaml--rep 0 1 (gen-elisp-parse-expr (get m "(???)")))
+ (get m "(***)")
+ (list 'yaml--rep2 0 'f (gen-elisp-parse-expr (get m "(***)")))
+
+ (get m "(+++)")
+ (list 'yaml--rep 1 'f (gen-elisp-parse-expr (get m "(+++)")))
+
+ (get m "(+)")
+ (let [[var val] (get m "(+)")]
+ (list 'yaml--add val (symbol var)))
+
+ ;; else funcall with args
+ :else
+ (let [[f args] (first m)]
+ ;;(println "[debug-2]" (pr-str f) (pr-str args))
+ (concat (list (prefix-package-symbol f))
+ (map gen-elisp-fn-arg (flatten (list args)))))))
+
+(defn gen-elisp-defun [[name rule]]
+ (let [params (extract-params rule)]
+ (println "[debug]" (pr-str name) (pr-str rule))
+ (list 'defun (prefix-package-symbol name) params
+ "Documentation string."
+ (list 'yaml-debug-symbol name)
+ (gen-elisp-parse-expr rule))))
+
+(def json-grammar (into {} (filter (fn [[k _]] (not (= ":" (subs k 0 1))))
(json/parse-string (slurp "./yaml-spec-1.2.json")))))
+
+;; (println (pr-str (get json-grammar "c-mapping-key")))
+;; (println (pr-str (gen-elisp-defun ["c-mapping-key" (get json-grammar
"c-mapping-key")])))
+
+;; (println (pr-str (gen-elisp-defun ["ns-dec-digit" (get json-grammar
"ns-dec-digit")])))
+
+;; (println (pr-str (gen-elisp-defun ["c-printable" (get json-grammar
"c-printable")])))
+
+;; (println (pr-str (gen-elisp-defun ["s-indent" (get json-grammar
"s-indent")])))
+;; (println (pr-str (gen-elisp-defun ["ns-esc-32-bit" (get json-grammar
"ns-esc-32-bit")])))
+
+;; (println (pr-str (gen-elisp-defun ["s-indent-lt" (get json-grammar
"s-indent-lt")])))
+;; (println (pr-str (gen-elisp-defun ["s-l+block-collection" (get json-grammar
"s-l+block-collection")])))
+;; (println (pr-str (gen-elisp-defun ["in-flow" (get json-grammar
"in-flow")])))
+
+(println (first json-grammar))
+(gen-elisp-defun (first json-grammar))
diff --git a/yaml-spec-1.2.json b/yaml-spec-1.2.json
new file mode 100644
index 0000000000..69cc3ee97e
--- /dev/null
+++ b/yaml-spec-1.2.json
@@ -0,0 +1,3100 @@
+{
+ ":001": "c-printable",
+ "c-printable": {
+ "(any)": [
+ "x09",
+ "x0A",
+ "x0D",
+ [
+ "x20",
+ "x7E"
+ ],
+ "x85",
+ [
+ "xA0",
+ "xD7FF"
+ ],
+ [
+ "xE000",
+ "xFFFD"
+ ],
+ [
+ "x010000",
+ "x10FFFF"
+ ]
+ ]
+ },
+ ":002": "nb-json",
+ "nb-json": {
+ "(any)": [
+ "x09",
+ [
+ "x20",
+ "x10FFFF"
+ ]
+ ]
+ },
+ ":003": "c-byte-order-mark",
+ "c-byte-order-mark": "xFEFF",
+ ":004": "c-sequence-entry",
+ "c-sequence-entry": "-",
+ ":005": "c-mapping-key",
+ "c-mapping-key": "?",
+ ":006": "c-mapping-value",
+ "c-mapping-value": ":",
+ ":007": "c-collect-entry",
+ "c-collect-entry": ",",
+ ":008": "c-sequence-start",
+ "c-sequence-start": "[",
+ ":009": "c-sequence-end",
+ "c-sequence-end": "]",
+ ":010": "c-mapping-start",
+ "c-mapping-start": "{",
+ ":011": "c-mapping-end",
+ "c-mapping-end": "}",
+ ":012": "c-comment",
+ "c-comment": "#",
+ ":013": "c-anchor",
+ "c-anchor": "&",
+ ":014": "c-alias",
+ "c-alias": "*",
+ ":015": "c-tag",
+ "c-tag": "!",
+ ":016": "c-literal",
+ "c-literal": "|",
+ ":017": "c-folded",
+ "c-folded": ">",
+ ":018": "c-single-quote",
+ "c-single-quote": "'",
+ ":019": "c-double-quote",
+ "c-double-quote": "\"",
+ ":020": "c-directive",
+ "c-directive": "%",
+ ":021": "c-reserved",
+ "c-reserved": {
+ "(any)": [
+ "@",
+ "`"
+ ]
+ },
+ ":022": "c-indicator",
+ "c-indicator": {
+ "(any)": [
+ "-",
+ "?",
+ ":",
+ ",",
+ "[",
+ "]",
+ "{",
+ "}",
+ "#",
+ "&",
+ "*",
+ "!",
+ "|",
+ ">",
+ "'",
+ "\"",
+ "%",
+ "@",
+ "`"
+ ]
+ },
+ ":023": "c-flow-indicator",
+ "c-flow-indicator": {
+ "(any)": [
+ ",",
+ "[",
+ "]",
+ "{",
+ "}"
+ ]
+ },
+ ":024": "b-line-feed",
+ "b-line-feed": "x0A",
+ ":025": "b-carriage-return",
+ "b-carriage-return": "x0D",
+ ":026": "b-char",
+ "b-char": {
+ "(any)": [
+ "b-line-feed",
+ "b-carriage-return"
+ ]
+ },
+ ":027": "nb-char",
+ "nb-char": {
+ "(---)": [
+ "c-printable",
+ "b-char",
+ "c-byte-order-mark"
+ ]
+ },
+ ":028": "b-break",
+ "b-break": {
+ "(any)": [
+ {
+ "(all)": [
+ "b-carriage-return",
+ "b-line-feed"
+ ]
+ },
+ "b-carriage-return",
+ "b-line-feed"
+ ]
+ },
+ ":029": "b-as-line-feed",
+ "b-as-line-feed": "b-break",
+ ":030": "b-non-content",
+ "b-non-content": "b-break",
+ ":031": "s-space",
+ "s-space": "x20",
+ ":032": "s-tab",
+ "s-tab": "x09",
+ ":033": "s-white",
+ "s-white": {
+ "(any)": [
+ "s-space",
+ "s-tab"
+ ]
+ },
+ ":034": "ns-char",
+ "ns-char": {
+ "(---)": [
+ "nb-char",
+ "s-white"
+ ]
+ },
+ ":035": "ns-dec-digit",
+ "ns-dec-digit": [
+ "x30",
+ "x39"
+ ],
+ ":036": "ns-hex-digit",
+ "ns-hex-digit": {
+ "(any)": [
+ "ns-dec-digit",
+ [
+ "x41",
+ "x46"
+ ],
+ [
+ "x61",
+ "x66"
+ ]
+ ]
+ },
+ ":037": "ns-ascii-letter",
+ "ns-ascii-letter": {
+ "(any)": [
+ [
+ "x41",
+ "x5A"
+ ],
+ [
+ "x61",
+ "x7A"
+ ]
+ ]
+ },
+ ":038": "ns-word-char",
+ "ns-word-char": {
+ "(any)": [
+ "ns-dec-digit",
+ "ns-ascii-letter",
+ "-"
+ ]
+ },
+ ":039": "ns-uri-char",
+ "ns-uri-char": {
+ "(any)": [
+ {
+ "(all)": [
+ "%",
+ "ns-hex-digit",
+ "ns-hex-digit"
+ ]
+ },
+ "ns-word-char",
+ "#",
+ ";",
+ "/",
+ "?",
+ ":",
+ "@",
+ "&",
+ "=",
+ "+",
+ "$",
+ ",",
+ "_",
+ ".",
+ "!",
+ "~",
+ "*",
+ "'",
+ "(",
+ ")",
+ "[",
+ "]"
+ ]
+ },
+ ":040": "ns-tag-char",
+ "ns-tag-char": {
+ "(---)": [
+ "ns-uri-char",
+ "!",
+ "c-flow-indicator"
+ ]
+ },
+ ":041": "c-escape",
+ "c-escape": "\\",
+ ":042": "ns-esc-null",
+ "ns-esc-null": "0",
+ ":043": "ns-esc-bell",
+ "ns-esc-bell": "a",
+ ":044": "ns-esc-backspace",
+ "ns-esc-backspace": "b",
+ ":045": "ns-esc-horizontal-tab",
+ "ns-esc-horizontal-tab": {
+ "(any)": [
+ "t",
+ "x09"
+ ]
+ },
+ ":046": "ns-esc-line-feed",
+ "ns-esc-line-feed": "n",
+ ":047": "ns-esc-vertical-tab",
+ "ns-esc-vertical-tab": "v",
+ ":048": "ns-esc-form-feed",
+ "ns-esc-form-feed": "f",
+ ":049": "ns-esc-carriage-return",
+ "ns-esc-carriage-return": "r",
+ ":050": "ns-esc-escape",
+ "ns-esc-escape": "e",
+ ":051": "ns-esc-space",
+ "ns-esc-space": "x20",
+ ":052": "ns-esc-double-quote",
+ "ns-esc-double-quote": "\"",
+ ":053": "ns-esc-slash",
+ "ns-esc-slash": "/",
+ ":054": "ns-esc-backslash",
+ "ns-esc-backslash": "\\",
+ ":055": "ns-esc-next-line",
+ "ns-esc-next-line": "N",
+ ":056": "ns-esc-non-breaking-space",
+ "ns-esc-non-breaking-space": "_",
+ ":057": "ns-esc-line-separator",
+ "ns-esc-line-separator": "L",
+ ":058": "ns-esc-paragraph-separator",
+ "ns-esc-paragraph-separator": "P",
+ ":059": "ns-esc-8-bit",
+ "ns-esc-8-bit": {
+ "(all)": [
+ "x",
+ {
+ "({2})": "ns-hex-digit"
+ }
+ ]
+ },
+ ":060": "ns-esc-16-bit",
+ "ns-esc-16-bit": {
+ "(all)": [
+ "u",
+ {
+ "({4})": "ns-hex-digit"
+ }
+ ]
+ },
+ ":061": "ns-esc-32-bit",
+ "ns-esc-32-bit": {
+ "(all)": [
+ "U",
+ {
+ "({8})": "ns-hex-digit"
+ }
+ ]
+ },
+ ":062": "c-ns-esc-char",
+ "c-ns-esc-char": {
+ "(all)": [
+ "\\",
+ {
+ "(any)": [
+ "ns-esc-null",
+ "ns-esc-bell",
+ "ns-esc-backspace",
+ "ns-esc-horizontal-tab",
+ "ns-esc-line-feed",
+ "ns-esc-vertical-tab",
+ "ns-esc-form-feed",
+ "ns-esc-carriage-return",
+ "ns-esc-escape",
+ "ns-esc-space",
+ "ns-esc-double-quote",
+ "ns-esc-slash",
+ "ns-esc-backslash",
+ "ns-esc-next-line",
+ "ns-esc-non-breaking-space",
+ "ns-esc-line-separator",
+ "ns-esc-paragraph-separator",
+ "ns-esc-8-bit",
+ "ns-esc-16-bit",
+ "ns-esc-32-bit"
+ ]
+ }
+ ]
+ },
+ ":063": "s-indent",
+ "s-indent": {
+ "(...)": "n",
+ "({n})": "s-space"
+ },
+ ":064": "s-indent-lt",
+ "s-indent-lt": {
+ "(...)": "n",
+ "(<<<)": {
+ "(all)": [
+ {
+ "(***)": "s-space"
+ },
+ {
+ "(<)": [
+ {
+ "(len)": "(match)"
+ },
+ "n"
+ ]
+ }
+ ]
+ }
+ },
+ ":065": "s-indent-le",
+ "s-indent-le": {
+ "(...)": "n",
+ "(<<<)": {
+ "(all)": [
+ {
+ "(***)": "s-space"
+ },
+ {
+ "(<=)": [
+ {
+ "(len)": "(match)"
+ },
+ "n"
+ ]
+ }
+ ]
+ }
+ },
+ ":066": "s-separate-in-line",
+ "s-separate-in-line": {
+ "(any)": [
+ {
+ "(+++)": "s-white"
+ },
+ "<start-of-line>"
+ ]
+ },
+ ":067": "s-line-prefix",
+ "s-line-prefix": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(case)": {
+ "var": "c",
+ "block-in": {
+ "s-block-line-prefix": "n"
+ },
+ "block-out": {
+ "s-block-line-prefix": "n"
+ },
+ "flow-in": {
+ "s-flow-line-prefix": "n"
+ },
+ "flow-out": {
+ "s-flow-line-prefix": "n"
+ }
+ }
+ },
+ ":068": "s-block-line-prefix",
+ "s-block-line-prefix": {
+ "(...)": "n",
+ "s-indent": "n"
+ },
+ ":069": "s-flow-line-prefix",
+ "s-flow-line-prefix": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-indent": "n"
+ },
+ {
+ "(???)": "s-separate-in-line"
+ }
+ ]
+ },
+ ":070": "l-empty",
+ "l-empty": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "(any)": [
+ {
+ "s-line-prefix": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "s-indent-lt": "n"
+ }
+ ]
+ },
+ "b-as-line-feed"
+ ]
+ },
+ ":071": "b-l-trimmed",
+ "b-l-trimmed": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ "b-non-content",
+ {
+ "(+++)": {
+ "l-empty": [
+ "n",
+ "c"
+ ]
+ }
+ }
+ ]
+ },
+ ":072": "b-as-space",
+ "b-as-space": "b-break",
+ ":073": "b-l-folded",
+ "b-l-folded": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "b-l-trimmed": [
+ "n",
+ "c"
+ ]
+ },
+ "b-as-space"
+ ]
+ },
+ ":074": "s-flow-folded",
+ "s-flow-folded": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "(???)": "s-separate-in-line"
+ },
+ {
+ "b-l-folded": [
+ "n",
+ "flow-in"
+ ]
+ },
+ {
+ "s-flow-line-prefix": "n"
+ }
+ ]
+ },
+ ":075": "c-nb-comment-text",
+ "c-nb-comment-text": {
+ "(all)": [
+ "#",
+ {
+ "(***)": "nb-char"
+ }
+ ]
+ },
+ ":076": "b-comment",
+ "b-comment": {
+ "(any)": [
+ "b-non-content",
+ "<end-of-stream>"
+ ]
+ },
+ ":077": "s-b-comment",
+ "s-b-comment": {
+ "(all)": [
+ {
+ "(???)": {
+ "(all)": [
+ "s-separate-in-line",
+ {
+ "(???)": "c-nb-comment-text"
+ }
+ ]
+ }
+ },
+ "b-comment"
+ ]
+ },
+ ":078": "l-comment",
+ "l-comment": {
+ "(all)": [
+ "s-separate-in-line",
+ {
+ "(???)": "c-nb-comment-text"
+ },
+ "b-comment"
+ ]
+ },
+ ":079": "s-l-comments",
+ "s-l-comments": {
+ "(all)": [
+ {
+ "(any)": [
+ "s-b-comment",
+ "<start-of-line>"
+ ]
+ },
+ {
+ "(***)": "l-comment"
+ }
+ ]
+ },
+ ":080": "s-separate",
+ "s-separate": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(case)": {
+ "var": "c",
+ "block-in": {
+ "s-separate-lines": "n"
+ },
+ "block-key": "s-separate-in-line",
+ "block-out": {
+ "s-separate-lines": "n"
+ },
+ "flow-in": {
+ "s-separate-lines": "n"
+ },
+ "flow-key": "s-separate-in-line",
+ "flow-out": {
+ "s-separate-lines": "n"
+ }
+ }
+ },
+ ":081": "s-separate-lines",
+ "s-separate-lines": {
+ "(...)": "n",
+ "(any)": [
+ {
+ "(all)": [
+ "s-l-comments",
+ {
+ "s-flow-line-prefix": "n"
+ }
+ ]
+ },
+ "s-separate-in-line"
+ ]
+ },
+ ":082": "l-directive",
+ "l-directive": {
+ "(all)": [
+ "%",
+ {
+ "(any)": [
+ "ns-yaml-directive",
+ "ns-tag-directive",
+ "ns-reserved-directive"
+ ]
+ },
+ "s-l-comments"
+ ]
+ },
+ ":083": "ns-reserved-directive",
+ "ns-reserved-directive": {
+ "(all)": [
+ "ns-directive-name",
+ {
+ "(***)": {
+ "(all)": [
+ "s-separate-in-line",
+ "ns-directive-parameter"
+ ]
+ }
+ }
+ ]
+ },
+ ":084": "ns-directive-name",
+ "ns-directive-name": {
+ "(+++)": "ns-char"
+ },
+ ":085": "ns-directive-parameter",
+ "ns-directive-parameter": {
+ "(+++)": "ns-char"
+ },
+ ":086": "ns-yaml-directive",
+ "ns-yaml-directive": {
+ "(all)": [
+ "Y",
+ "A",
+ "M",
+ "L",
+ "s-separate-in-line",
+ "ns-yaml-version"
+ ]
+ },
+ ":087": "ns-yaml-version",
+ "ns-yaml-version": {
+ "(all)": [
+ {
+ "(+++)": "ns-dec-digit"
+ },
+ ".",
+ {
+ "(+++)": "ns-dec-digit"
+ }
+ ]
+ },
+ ":088": "ns-tag-directive",
+ "ns-tag-directive": {
+ "(all)": [
+ "T",
+ "A",
+ "G",
+ "s-separate-in-line",
+ "c-tag-handle",
+ "s-separate-in-line",
+ "ns-tag-prefix"
+ ]
+ },
+ ":089": "c-tag-handle",
+ "c-tag-handle": {
+ "(any)": [
+ "c-named-tag-handle",
+ "c-secondary-tag-handle",
+ "c-primary-tag-handle"
+ ]
+ },
+ ":090": "c-primary-tag-handle",
+ "c-primary-tag-handle": "!",
+ ":091": "c-secondary-tag-handle",
+ "c-secondary-tag-handle": {
+ "(all)": [
+ "!",
+ "!"
+ ]
+ },
+ ":092": "c-named-tag-handle",
+ "c-named-tag-handle": {
+ "(all)": [
+ "!",
+ {
+ "(+++)": "ns-word-char"
+ },
+ "!"
+ ]
+ },
+ ":093": "ns-tag-prefix",
+ "ns-tag-prefix": {
+ "(any)": [
+ "c-ns-local-tag-prefix",
+ "ns-global-tag-prefix"
+ ]
+ },
+ ":094": "c-ns-local-tag-prefix",
+ "c-ns-local-tag-prefix": {
+ "(all)": [
+ "!",
+ {
+ "(***)": "ns-uri-char"
+ }
+ ]
+ },
+ ":095": "ns-global-tag-prefix",
+ "ns-global-tag-prefix": {
+ "(all)": [
+ "ns-tag-char",
+ {
+ "(***)": "ns-uri-char"
+ }
+ ]
+ },
+ ":096": "c-ns-properties",
+ "c-ns-properties": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "(all)": [
+ "c-ns-tag-property",
+ {
+ "(???)": {
+ "(all)": [
+ {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ },
+ "c-ns-anchor-property"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "(all)": [
+ "c-ns-anchor-property",
+ {
+ "(???)": {
+ "(all)": [
+ {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ },
+ "c-ns-tag-property"
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ },
+ ":097": "c-ns-tag-property",
+ "c-ns-tag-property": {
+ "(any)": [
+ "c-verbatim-tag",
+ "c-ns-shorthand-tag",
+ "c-non-specific-tag"
+ ]
+ },
+ ":098": "c-verbatim-tag",
+ "c-verbatim-tag": {
+ "(all)": [
+ "!",
+ "<",
+ {
+ "(+++)": "ns-uri-char"
+ },
+ ">"
+ ]
+ },
+ ":099": "c-ns-shorthand-tag",
+ "c-ns-shorthand-tag": {
+ "(all)": [
+ "c-tag-handle",
+ {
+ "(+++)": "ns-tag-char"
+ }
+ ]
+ },
+ ":100": "c-non-specific-tag",
+ "c-non-specific-tag": "!",
+ ":101": "c-ns-anchor-property",
+ "c-ns-anchor-property": {
+ "(all)": [
+ "&",
+ "ns-anchor-name"
+ ]
+ },
+ ":102": "ns-anchor-char",
+ "ns-anchor-char": {
+ "(---)": [
+ "ns-char",
+ "c-flow-indicator"
+ ]
+ },
+ ":103": "ns-anchor-name",
+ "ns-anchor-name": {
+ "(+++)": "ns-anchor-char"
+ },
+ ":104": "c-ns-alias-node",
+ "c-ns-alias-node": {
+ "(all)": [
+ "*",
+ "ns-anchor-name"
+ ]
+ },
+ ":105": "e-scalar",
+ "e-scalar": "<empty>",
+ ":106": "e-node",
+ "e-node": "e-scalar",
+ ":107": "nb-double-char",
+ "nb-double-char": {
+ "(any)": [
+ "c-ns-esc-char",
+ {
+ "(---)": [
+ "nb-json",
+ "\\",
+ "\""
+ ]
+ }
+ ]
+ },
+ ":108": "ns-double-char",
+ "ns-double-char": {
+ "(---)": [
+ "nb-double-char",
+ "s-white"
+ ]
+ },
+ ":109": "c-double-quoted",
+ "c-double-quoted": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ "\"",
+ {
+ "nb-double-text": [
+ "n",
+ "c"
+ ]
+ },
+ "\""
+ ]
+ },
+ ":110": "nb-double-text",
+ "nb-double-text": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(case)": {
+ "var": "c",
+ "block-key": "nb-double-one-line",
+ "flow-in": {
+ "nb-double-multi-line": "n"
+ },
+ "flow-key": "nb-double-one-line",
+ "flow-out": {
+ "nb-double-multi-line": "n"
+ }
+ }
+ },
+ ":111": "nb-double-one-line",
+ "nb-double-one-line": {
+ "(***)": "nb-double-char"
+ },
+ ":112": "s-double-escaped",
+ "s-double-escaped": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "(***)": "s-white"
+ },
+ "\\",
+ "b-non-content",
+ {
+ "(***)": {
+ "l-empty": [
+ "n",
+ "flow-in"
+ ]
+ }
+ },
+ {
+ "s-flow-line-prefix": "n"
+ }
+ ]
+ },
+ ":113": "s-double-break",
+ "s-double-break": {
+ "(...)": "n",
+ "(any)": [
+ {
+ "s-double-escaped": "n"
+ },
+ {
+ "s-flow-folded": "n"
+ }
+ ]
+ },
+ ":114": "nb-ns-double-in-line",
+ "nb-ns-double-in-line": {
+ "(***)": {
+ "(all)": [
+ {
+ "(***)": "s-white"
+ },
+ "ns-double-char"
+ ]
+ }
+ },
+ ":115": "s-double-next-line",
+ "s-double-next-line": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-double-break": "n"
+ },
+ {
+ "(???)": {
+ "(all)": [
+ "ns-double-char",
+ "nb-ns-double-in-line",
+ {
+ "(any)": [
+ {
+ "s-double-next-line": "n"
+ },
+ {
+ "(***)": "s-white"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":116": "nb-double-multi-line",
+ "nb-double-multi-line": {
+ "(...)": "n",
+ "(all)": [
+ "nb-ns-double-in-line",
+ {
+ "(any)": [
+ {
+ "s-double-next-line": "n"
+ },
+ {
+ "(***)": "s-white"
+ }
+ ]
+ }
+ ]
+ },
+ ":117": "c-quoted-quote",
+ "c-quoted-quote": {
+ "(all)": [
+ "'",
+ "'"
+ ]
+ },
+ ":118": "nb-single-char",
+ "nb-single-char": {
+ "(any)": [
+ "c-quoted-quote",
+ {
+ "(---)": [
+ "nb-json",
+ "'"
+ ]
+ }
+ ]
+ },
+ ":119": "ns-single-char",
+ "ns-single-char": {
+ "(---)": [
+ "nb-single-char",
+ "s-white"
+ ]
+ },
+ ":120": "c-single-quoted",
+ "c-single-quoted": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ "'",
+ {
+ "nb-single-text": [
+ "n",
+ "c"
+ ]
+ },
+ "'"
+ ]
+ },
+ ":121": "nb-single-text",
+ "nb-single-text": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(case)": {
+ "var": "c",
+ "block-key": "nb-single-one-line",
+ "flow-in": {
+ "nb-single-multi-line": "n"
+ },
+ "flow-key": "nb-single-one-line",
+ "flow-out": {
+ "nb-single-multi-line": "n"
+ }
+ }
+ },
+ ":122": "nb-single-one-line",
+ "nb-single-one-line": {
+ "(***)": "nb-single-char"
+ },
+ ":123": "nb-ns-single-in-line",
+ "nb-ns-single-in-line": {
+ "(***)": {
+ "(all)": [
+ {
+ "(***)": "s-white"
+ },
+ "ns-single-char"
+ ]
+ }
+ },
+ ":124": "s-single-next-line",
+ "s-single-next-line": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-flow-folded": "n"
+ },
+ {
+ "(???)": {
+ "(all)": [
+ "ns-single-char",
+ "nb-ns-single-in-line",
+ {
+ "(any)": [
+ {
+ "s-single-next-line": "n"
+ },
+ {
+ "(***)": "s-white"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":125": "nb-single-multi-line",
+ "nb-single-multi-line": {
+ "(...)": "n",
+ "(all)": [
+ "nb-ns-single-in-line",
+ {
+ "(any)": [
+ {
+ "s-single-next-line": "n"
+ },
+ {
+ "(***)": "s-white"
+ }
+ ]
+ }
+ ]
+ },
+ ":126": "ns-plain-first",
+ "ns-plain-first": {
+ "(...)": "c",
+ "(any)": [
+ {
+ "(---)": [
+ "ns-char",
+ "c-indicator"
+ ]
+ },
+ {
+ "(all)": [
+ {
+ "(any)": [
+ "?",
+ ":",
+ "-"
+ ]
+ },
+ {
+ "(===)": {
+ "ns-plain-safe": "c"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ ":127": "ns-plain-safe",
+ "ns-plain-safe": {
+ "(...)": "c",
+ "(case)": {
+ "var": "c",
+ "block-key": "ns-plain-safe-out",
+ "flow-in": "ns-plain-safe-in",
+ "flow-key": "ns-plain-safe-in",
+ "flow-out": "ns-plain-safe-out"
+ }
+ },
+ ":128": "ns-plain-safe-out",
+ "ns-plain-safe-out": "ns-char",
+ ":129": "ns-plain-safe-in",
+ "ns-plain-safe-in": {
+ "(---)": [
+ "ns-char",
+ "c-flow-indicator"
+ ]
+ },
+ ":130": "ns-plain-char",
+ "ns-plain-char": {
+ "(...)": "c",
+ "(any)": [
+ {
+ "(---)": [
+ {
+ "ns-plain-safe": "c"
+ },
+ ":",
+ "#"
+ ]
+ },
+ {
+ "(all)": [
+ {
+ "(<==)": "ns-char"
+ },
+ "#"
+ ]
+ },
+ {
+ "(all)": [
+ ":",
+ {
+ "(===)": {
+ "ns-plain-safe": "c"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ ":131": "ns-plain",
+ "ns-plain": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(case)": {
+ "var": "c",
+ "block-key": {
+ "ns-plain-one-line": "c"
+ },
+ "flow-in": {
+ "ns-plain-multi-line": [
+ "n",
+ "c"
+ ]
+ },
+ "flow-key": {
+ "ns-plain-one-line": "c"
+ },
+ "flow-out": {
+ "ns-plain-multi-line": [
+ "n",
+ "c"
+ ]
+ }
+ }
+ },
+ ":132": "nb-ns-plain-in-line",
+ "nb-ns-plain-in-line": {
+ "(...)": "c",
+ "(***)": {
+ "(all)": [
+ {
+ "(***)": "s-white"
+ },
+ {
+ "ns-plain-char": "c"
+ }
+ ]
+ }
+ },
+ ":133": "ns-plain-one-line",
+ "ns-plain-one-line": {
+ "(...)": "c",
+ "(all)": [
+ {
+ "ns-plain-first": "c"
+ },
+ {
+ "nb-ns-plain-in-line": "c"
+ }
+ ]
+ },
+ ":134": "s-ns-plain-next-line",
+ "s-ns-plain-next-line": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "s-flow-folded": "n"
+ },
+ {
+ "ns-plain-char": "c"
+ },
+ {
+ "nb-ns-plain-in-line": "c"
+ }
+ ]
+ },
+ ":135": "ns-plain-multi-line",
+ "ns-plain-multi-line": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "ns-plain-one-line": "c"
+ },
+ {
+ "(***)": {
+ "s-ns-plain-next-line": [
+ "n",
+ "c"
+ ]
+ }
+ }
+ ]
+ },
+ ":136": "in-flow",
+ "in-flow": {
+ "(...)": "c",
+ "(flip)": {
+ "var": "c",
+ "block-key": "flow-key",
+ "flow-in": "flow-in",
+ "flow-key": "flow-key",
+ "flow-out": "flow-in"
+ }
+ },
+ ":137": "c-flow-sequence",
+ "c-flow-sequence": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ "[",
+ {
+ "(???)": {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "(???)": {
+ "ns-s-flow-seq-entries": [
+ "n",
+ {
+ "in-flow": "c"
+ }
+ ]
+ }
+ },
+ "]"
+ ]
+ },
+ ":138": "ns-s-flow-seq-entries",
+ "ns-s-flow-seq-entries": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "ns-flow-seq-entry": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(???)": {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "(???)": {
+ "(all)": [
+ ",",
+ {
+ "(???)": {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "(???)": {
+ "ns-s-flow-seq-entries": [
+ "n",
+ "c"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":139": "ns-flow-seq-entry",
+ "ns-flow-seq-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "ns-flow-pair": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "ns-flow-node": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":140": "c-flow-mapping",
+ "c-flow-mapping": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ "{",
+ {
+ "(???)": {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "(???)": {
+ "ns-s-flow-map-entries": [
+ "n",
+ {
+ "in-flow": "c"
+ }
+ ]
+ }
+ },
+ "}"
+ ]
+ },
+ ":141": "ns-s-flow-map-entries",
+ "ns-s-flow-map-entries": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "ns-flow-map-entry": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(???)": {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "(???)": {
+ "(all)": [
+ ",",
+ {
+ "(???)": {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "(???)": {
+ "ns-s-flow-map-entries": [
+ "n",
+ "c"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":142": "ns-flow-map-entry",
+ "ns-flow-map-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "(all)": [
+ "?",
+ {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "ns-flow-map-explicit-entry": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ {
+ "ns-flow-map-implicit-entry": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":143": "ns-flow-map-explicit-entry",
+ "ns-flow-map-explicit-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "ns-flow-map-implicit-entry": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(all)": [
+ "e-node",
+ "e-node"
+ ]
+ }
+ ]
+ },
+ ":144": "ns-flow-map-implicit-entry",
+ "ns-flow-map-implicit-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "ns-flow-map-yaml-key-entry": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "c-ns-flow-map-empty-key-entry": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "c-ns-flow-map-json-key-entry": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":145": "ns-flow-map-yaml-key-entry",
+ "ns-flow-map-yaml-key-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "ns-flow-yaml-node": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(any)": [
+ {
+ "(all)": [
+ {
+ "(???)": {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "c-ns-flow-map-separate-value": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ "e-node"
+ ]
+ }
+ ]
+ },
+ ":146": "c-ns-flow-map-empty-key-entry",
+ "c-ns-flow-map-empty-key-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ "e-node",
+ {
+ "c-ns-flow-map-separate-value": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":147": "c-ns-flow-map-separate-value",
+ "c-ns-flow-map-separate-value": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ ":",
+ {
+ "(!==)": {
+ "ns-plain-safe": "c"
+ }
+ },
+ {
+ "(any)": [
+ {
+ "(all)": [
+ {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "ns-flow-node": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ "e-node"
+ ]
+ }
+ ]
+ },
+ ":148": "c-ns-flow-map-json-key-entry",
+ "c-ns-flow-map-json-key-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "c-flow-json-node": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(any)": [
+ {
+ "(all)": [
+ {
+ "(???)": {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "c-ns-flow-map-adjacent-value": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ "e-node"
+ ]
+ }
+ ]
+ },
+ ":149": "c-ns-flow-map-adjacent-value",
+ "c-ns-flow-map-adjacent-value": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ ":",
+ {
+ "(any)": [
+ {
+ "(all)": [
+ {
+ "(???)": {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "ns-flow-node": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ "e-node"
+ ]
+ }
+ ]
+ },
+ ":150": "ns-flow-pair",
+ "ns-flow-pair": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "(all)": [
+ "?",
+ {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "ns-flow-map-explicit-entry": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ {
+ "ns-flow-pair-entry": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":151": "ns-flow-pair-entry",
+ "ns-flow-pair-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "ns-flow-pair-yaml-key-entry": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "c-ns-flow-map-empty-key-entry": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "c-ns-flow-pair-json-key-entry": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":152": "ns-flow-pair-yaml-key-entry",
+ "ns-flow-pair-yaml-key-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "ns-s-implicit-yaml-key": "flow-key"
+ },
+ {
+ "c-ns-flow-map-separate-value": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":153": "c-ns-flow-pair-json-key-entry",
+ "c-ns-flow-pair-json-key-entry": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "c-s-implicit-json-key": "flow-key"
+ },
+ {
+ "c-ns-flow-map-adjacent-value": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":154": "ns-s-implicit-yaml-key",
+ "ns-s-implicit-yaml-key": {
+ "(...)": "c",
+ "(all)": [
+ {
+ "(max)": 1024
+ },
+ {
+ "ns-flow-yaml-node": [
+ null,
+ "c"
+ ]
+ },
+ {
+ "(???)": "s-separate-in-line"
+ }
+ ]
+ },
+ ":155": "c-s-implicit-json-key",
+ "c-s-implicit-json-key": {
+ "(...)": "c",
+ "(all)": [
+ {
+ "(max)": 1024
+ },
+ {
+ "c-flow-json-node": [
+ null,
+ "c"
+ ]
+ },
+ {
+ "(???)": "s-separate-in-line"
+ }
+ ]
+ },
+ ":156": "ns-flow-yaml-content",
+ "ns-flow-yaml-content": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "ns-plain": [
+ "n",
+ "c"
+ ]
+ },
+ ":157": "c-flow-json-content",
+ "c-flow-json-content": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "c-flow-sequence": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "c-flow-mapping": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "c-single-quoted": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "c-double-quoted": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":158": "ns-flow-content",
+ "ns-flow-content": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "ns-flow-yaml-content": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "c-flow-json-content": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":159": "ns-flow-yaml-node",
+ "ns-flow-yaml-node": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ "c-ns-alias-node",
+ {
+ "ns-flow-yaml-content": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(all)": [
+ {
+ "c-ns-properties": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(any)": [
+ {
+ "(all)": [
+ {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "ns-flow-yaml-content": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ "e-scalar"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ ":160": "c-flow-json-node",
+ "c-flow-json-node": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "(???)": {
+ "(all)": [
+ {
+ "c-ns-properties": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "c-flow-json-content": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":161": "ns-flow-node",
+ "ns-flow-node": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ "c-ns-alias-node",
+ {
+ "ns-flow-content": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(all)": [
+ {
+ "c-ns-properties": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(any)": [
+ {
+ "(all)": [
+ {
+ "s-separate": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "ns-flow-content": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ "e-scalar"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ ":162": "c-b-block-header",
+ "c-b-block-header": {
+ "(...)": [
+ "m",
+ "t"
+ ],
+ "(all)": [
+ {
+ "(any)": [
+ {
+ "(all)": [
+ {
+ "c-indentation-indicator": "m"
+ },
+ {
+ "c-chomping-indicator": "t"
+ }
+ ]
+ },
+ {
+ "(all)": [
+ {
+ "c-chomping-indicator": "t"
+ },
+ {
+ "c-indentation-indicator": "m"
+ }
+ ]
+ }
+ ]
+ },
+ "s-b-comment"
+ ]
+ },
+ ":163": "c-indentation-indicator",
+ "c-indentation-indicator": {
+ "(...)": "m",
+ "(any)": [
+ {
+ "(if)": "ns-dec-digit",
+ "(set)": [
+ "m",
+ {
+ "(ord)": "(match)"
+ }
+ ]
+ },
+ {
+ "(if)": "<empty>",
+ "(set)": [
+ "m",
+ "auto-detect"
+ ]
+ }
+ ]
+ },
+ ":164": "c-chomping-indicator",
+ "c-chomping-indicator": {
+ "(...)": "t",
+ "(any)": [
+ {
+ "(if)": "-",
+ "(set)": [
+ "t",
+ "strip"
+ ]
+ },
+ {
+ "(if)": "+",
+ "(set)": [
+ "t",
+ "keep"
+ ]
+ },
+ {
+ "(if)": "<empty>",
+ "(set)": [
+ "t",
+ "clip"
+ ]
+ }
+ ]
+ },
+ ":165": "b-chomped-last",
+ "b-chomped-last": {
+ "(...)": "t",
+ "(case)": {
+ "var": "t",
+ "clip": {
+ "(any)": [
+ "b-as-line-feed",
+ "<end-of-stream>"
+ ]
+ },
+ "keep": {
+ "(any)": [
+ "b-as-line-feed",
+ "<end-of-stream>"
+ ]
+ },
+ "strip": {
+ "(any)": [
+ "b-non-content",
+ "<end-of-stream>"
+ ]
+ }
+ }
+ },
+ ":166": "l-chomped-empty",
+ "l-chomped-empty": {
+ "(...)": [
+ "n",
+ "t"
+ ],
+ "(case)": {
+ "var": "t",
+ "clip": {
+ "l-strip-empty": "n"
+ },
+ "keep": {
+ "l-keep-empty": "n"
+ },
+ "strip": {
+ "l-strip-empty": "n"
+ }
+ }
+ },
+ ":167": "l-strip-empty",
+ "l-strip-empty": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "(***)": {
+ "(all)": [
+ {
+ "s-indent-le": "n"
+ },
+ "b-non-content"
+ ]
+ }
+ },
+ {
+ "(???)": {
+ "l-trail-comments": "n"
+ }
+ }
+ ]
+ },
+ ":168": "l-keep-empty",
+ "l-keep-empty": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "(***)": {
+ "l-empty": [
+ "n",
+ "block-in"
+ ]
+ }
+ },
+ {
+ "(???)": {
+ "l-trail-comments": "n"
+ }
+ }
+ ]
+ },
+ ":169": "l-trail-comments",
+ "l-trail-comments": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-indent-lt": "n"
+ },
+ "c-nb-comment-text",
+ "b-comment",
+ {
+ "(***)": "l-comment"
+ }
+ ]
+ },
+ ":170": "c-l+literal",
+ "c-l+literal": {
+ "(...)": "n",
+ "(all)": [
+ "|",
+ {
+ "c-b-block-header": [
+ "m",
+ "t"
+ ]
+ },
+ {
+ "l-literal-content": [
+ {
+ "(+)": [
+ "n",
+ "m"
+ ]
+ },
+ "t"
+ ]
+ }
+ ]
+ },
+ ":171": "l-nb-literal-text",
+ "l-nb-literal-text": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "(***)": {
+ "l-empty": [
+ "n",
+ "block-in"
+ ]
+ }
+ },
+ {
+ "s-indent": "n"
+ },
+ {
+ "(+++)": "nb-char"
+ }
+ ]
+ },
+ ":172": "b-nb-literal-next",
+ "b-nb-literal-next": {
+ "(...)": "n",
+ "(all)": [
+ "b-as-line-feed",
+ {
+ "l-nb-literal-text": "n"
+ }
+ ]
+ },
+ ":173": "l-literal-content",
+ "l-literal-content": {
+ "(...)": [
+ "n",
+ "t"
+ ],
+ "(all)": [
+ {
+ "(???)": {
+ "(all)": [
+ {
+ "l-nb-literal-text": "n"
+ },
+ {
+ "(***)": {
+ "b-nb-literal-next": "n"
+ }
+ },
+ {
+ "b-chomped-last": "t"
+ }
+ ]
+ }
+ },
+ {
+ "l-chomped-empty": [
+ "n",
+ "t"
+ ]
+ }
+ ]
+ },
+ ":174": "c-l+folded",
+ "c-l+folded": {
+ "(...)": "n",
+ "(all)": [
+ ">",
+ {
+ "c-b-block-header": [
+ "m",
+ "t"
+ ]
+ },
+ {
+ "l-folded-content": [
+ {
+ "(+)": [
+ "n",
+ "m"
+ ]
+ },
+ "t"
+ ]
+ }
+ ]
+ },
+ ":175": "s-nb-folded-text",
+ "s-nb-folded-text": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-indent": "n"
+ },
+ "ns-char",
+ {
+ "(***)": "nb-char"
+ }
+ ]
+ },
+ ":176": "l-nb-folded-lines",
+ "l-nb-folded-lines": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-nb-folded-text": "n"
+ },
+ {
+ "(***)": {
+ "(all)": [
+ {
+ "b-l-folded": [
+ "n",
+ "block-in"
+ ]
+ },
+ {
+ "s-nb-folded-text": "n"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":177": "s-nb-spaced-text",
+ "s-nb-spaced-text": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-indent": "n"
+ },
+ "s-white",
+ {
+ "(***)": "nb-char"
+ }
+ ]
+ },
+ ":178": "b-l-spaced",
+ "b-l-spaced": {
+ "(...)": "n",
+ "(all)": [
+ "b-as-line-feed",
+ {
+ "(***)": {
+ "l-empty": [
+ "n",
+ "block-in"
+ ]
+ }
+ }
+ ]
+ },
+ ":179": "l-nb-spaced-lines",
+ "l-nb-spaced-lines": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-nb-spaced-text": "n"
+ },
+ {
+ "(***)": {
+ "(all)": [
+ {
+ "b-l-spaced": "n"
+ },
+ {
+ "s-nb-spaced-text": "n"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":180": "l-nb-same-lines",
+ "l-nb-same-lines": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "(***)": {
+ "l-empty": [
+ "n",
+ "block-in"
+ ]
+ }
+ },
+ {
+ "(any)": [
+ {
+ "l-nb-folded-lines": "n"
+ },
+ {
+ "l-nb-spaced-lines": "n"
+ }
+ ]
+ }
+ ]
+ },
+ ":181": "l-nb-diff-lines",
+ "l-nb-diff-lines": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "l-nb-same-lines": "n"
+ },
+ {
+ "(***)": {
+ "(all)": [
+ "b-as-line-feed",
+ {
+ "l-nb-same-lines": "n"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":182": "l-folded-content",
+ "l-folded-content": {
+ "(...)": [
+ "n",
+ "t"
+ ],
+ "(all)": [
+ {
+ "(???)": {
+ "(all)": [
+ {
+ "l-nb-diff-lines": "n"
+ },
+ {
+ "b-chomped-last": "t"
+ }
+ ]
+ }
+ },
+ {
+ "l-chomped-empty": [
+ "n",
+ "t"
+ ]
+ }
+ ]
+ },
+ ":183": "l+block-sequence",
+ "l+block-sequence": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "(set)": [
+ "m",
+ "<auto-detect-indent>"
+ ]
+ },
+ {
+ "(+++)": {
+ "(all)": [
+ {
+ "s-indent": {
+ "(+)": [
+ "n",
+ "m"
+ ]
+ }
+ },
+ {
+ "c-l-block-seq-entry": {
+ "(+)": [
+ "n",
+ "m"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":184": "c-l-block-seq-entry",
+ "c-l-block-seq-entry": {
+ "(...)": "n",
+ "(all)": [
+ "-",
+ {
+ "(!==)": "ns-char"
+ },
+ {
+ "s-l+block-indented": [
+ "n",
+ "block-in"
+ ]
+ }
+ ]
+ },
+ ":185": "s-l+block-indented",
+ "s-l+block-indented": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "(all)": [
+ {
+ "s-indent": "m"
+ },
+ {
+ "(any)": [
+ {
+ "ns-l-compact-sequence": {
+ "(+)": [
+ "n",
+ {
+ "(+)": [
+ 1,
+ "m"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "ns-l-compact-mapping": {
+ "(+)": [
+ "n",
+ {
+ "(+)": [
+ 1,
+ "m"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "s-l+block-node": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "(all)": [
+ "e-node",
+ "s-l-comments"
+ ]
+ }
+ ]
+ },
+ ":186": "ns-l-compact-sequence",
+ "ns-l-compact-sequence": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "c-l-block-seq-entry": "n"
+ },
+ {
+ "(***)": {
+ "(all)": [
+ {
+ "s-indent": "n"
+ },
+ {
+ "c-l-block-seq-entry": "n"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":187": "l+block-mapping",
+ "l+block-mapping": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "(set)": [
+ "m",
+ "<auto-detect-indent>"
+ ]
+ },
+ {
+ "(+++)": {
+ "(all)": [
+ {
+ "s-indent": {
+ "(+)": [
+ "n",
+ "m"
+ ]
+ }
+ },
+ {
+ "ns-l-block-map-entry": {
+ "(+)": [
+ "n",
+ "m"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":188": "ns-l-block-map-entry",
+ "ns-l-block-map-entry": {
+ "(...)": "n",
+ "(any)": [
+ {
+ "c-l-block-map-explicit-entry": "n"
+ },
+ {
+ "ns-l-block-map-implicit-entry": "n"
+ }
+ ]
+ },
+ ":189": "c-l-block-map-explicit-entry",
+ "c-l-block-map-explicit-entry": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "c-l-block-map-explicit-key": "n"
+ },
+ {
+ "(any)": [
+ {
+ "l-block-map-explicit-value": "n"
+ },
+ "e-node"
+ ]
+ }
+ ]
+ },
+ ":190": "c-l-block-map-explicit-key",
+ "c-l-block-map-explicit-key": {
+ "(...)": "n",
+ "(all)": [
+ "?",
+ {
+ "s-l+block-indented": [
+ "n",
+ "block-out"
+ ]
+ }
+ ]
+ },
+ ":191": "l-block-map-explicit-value",
+ "l-block-map-explicit-value": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-indent": "n"
+ },
+ ":",
+ {
+ "s-l+block-indented": [
+ "n",
+ "block-out"
+ ]
+ }
+ ]
+ },
+ ":192": "ns-l-block-map-implicit-entry",
+ "ns-l-block-map-implicit-entry": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "(any)": [
+ "ns-s-block-map-implicit-key",
+ "e-node"
+ ]
+ },
+ {
+ "c-l-block-map-implicit-value": "n"
+ }
+ ]
+ },
+ ":193": "ns-s-block-map-implicit-key",
+ "ns-s-block-map-implicit-key": {
+ "(any)": [
+ {
+ "c-s-implicit-json-key": "block-key"
+ },
+ {
+ "ns-s-implicit-yaml-key": "block-key"
+ }
+ ]
+ },
+ ":194": "c-l-block-map-implicit-value",
+ "c-l-block-map-implicit-value": {
+ "(...)": "n",
+ "(all)": [
+ ":",
+ {
+ "(any)": [
+ {
+ "s-l+block-node": [
+ "n",
+ "block-out"
+ ]
+ },
+ {
+ "(all)": [
+ "e-node",
+ "s-l-comments"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ ":195": "ns-l-compact-mapping",
+ "ns-l-compact-mapping": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "ns-l-block-map-entry": "n"
+ },
+ {
+ "(***)": {
+ "(all)": [
+ {
+ "s-indent": "n"
+ },
+ {
+ "ns-l-block-map-entry": "n"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ ":196": "s-l+block-node",
+ "s-l+block-node": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "s-l+block-in-block": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "s-l+flow-in-block": "n"
+ }
+ ]
+ },
+ ":197": "s-l+flow-in-block",
+ "s-l+flow-in-block": {
+ "(...)": "n",
+ "(all)": [
+ {
+ "s-separate": [
+ {
+ "(+)": [
+ "n",
+ 1
+ ]
+ },
+ "flow-out"
+ ]
+ },
+ {
+ "ns-flow-node": [
+ {
+ "(+)": [
+ "n",
+ 1
+ ]
+ },
+ "flow-out"
+ ]
+ },
+ "s-l-comments"
+ ]
+ },
+ ":198": "s-l+block-in-block",
+ "s-l+block-in-block": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(any)": [
+ {
+ "s-l+block-scalar": [
+ "n",
+ "c"
+ ]
+ },
+ {
+ "s-l+block-collection": [
+ "n",
+ "c"
+ ]
+ }
+ ]
+ },
+ ":199": "s-l+block-scalar",
+ "s-l+block-scalar": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "s-separate": [
+ {
+ "(+)": [
+ "n",
+ 1
+ ]
+ },
+ "c"
+ ]
+ },
+ {
+ "(???)": {
+ "(all)": [
+ {
+ "c-ns-properties": [
+ {
+ "(+)": [
+ "n",
+ 1
+ ]
+ },
+ "c"
+ ]
+ },
+ {
+ "s-separate": [
+ {
+ "(+)": [
+ "n",
+ 1
+ ]
+ },
+ "c"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "(any)": [
+ {
+ "c-l+literal": "n"
+ },
+ {
+ "c-l+folded": "n"
+ }
+ ]
+ }
+ ]
+ },
+ ":200": "s-l+block-collection",
+ "s-l+block-collection": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(all)": [
+ {
+ "(???)": {
+ "(all)": [
+ {
+ "s-separate": [
+ {
+ "(+)": [
+ "n",
+ 1
+ ]
+ },
+ "c"
+ ]
+ },
+ {
+ "c-ns-properties": [
+ {
+ "(+)": [
+ "n",
+ 1
+ ]
+ },
+ "c"
+ ]
+ }
+ ]
+ }
+ },
+ "s-l-comments",
+ {
+ "(any)": [
+ {
+ "l+block-sequence": {
+ "seq-spaces": [
+ "n",
+ "c"
+ ]
+ }
+ },
+ {
+ "l+block-mapping": "n"
+ }
+ ]
+ }
+ ]
+ },
+ ":201": "seq-spaces",
+ "seq-spaces": {
+ "(...)": [
+ "n",
+ "c"
+ ],
+ "(flip)": {
+ "var": "c",
+ "block-in": "n",
+ "block-out": {
+ "(-)": [
+ "n",
+ 1
+ ]
+ }
+ }
+ },
+ ":202": "l-document-prefix",
+ "l-document-prefix": {
+ "(all)": [
+ {
+ "(???)": "c-byte-order-mark"
+ },
+ {
+ "(***)": "l-comment"
+ }
+ ]
+ },
+ ":203": "c-directives-end",
+ "c-directives-end": {
+ "(all)": [
+ "-",
+ "-",
+ "-"
+ ]
+ },
+ ":204": "c-document-end",
+ "c-document-end": {
+ "(all)": [
+ ".",
+ ".",
+ "."
+ ]
+ },
+ ":205": "l-document-suffix",
+ "l-document-suffix": {
+ "(all)": [
+ "c-document-end",
+ "s-l-comments"
+ ]
+ },
+ ":206": "c-forbidden",
+ "c-forbidden": {
+ "(all)": [
+ "<start-of-line>",
+ {
+ "(any)": [
+ "c-directives-end",
+ "c-document-end"
+ ]
+ },
+ {
+ "(any)": [
+ "b-char",
+ "s-white",
+ "<end-of-stream>"
+ ]
+ }
+ ]
+ },
+ ":207": "l-bare-document",
+ "l-bare-document": {
+ "(all)": [
+ {
+ "(exclude)": "c-forbidden"
+ },
+ {
+ "s-l+block-node": [
+ -1,
+ "block-in"
+ ]
+ }
+ ]
+ },
+ ":208": "l-explicit-document",
+ "l-explicit-document": {
+ "(all)": [
+ "c-directives-end",
+ {
+ "(any)": [
+ "l-bare-document",
+ {
+ "(all)": [
+ "e-node",
+ "s-l-comments"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ ":209": "l-directive-document",
+ "l-directive-document": {
+ "(all)": [
+ {
+ "(+++)": "l-directive"
+ },
+ "l-explicit-document"
+ ]
+ },
+ ":210": "l-any-document",
+ "l-any-document": {
+ "(any)": [
+ "l-directive-document",
+ "l-explicit-document",
+ "l-bare-document"
+ ]
+ },
+ ":211": "l-yaml-stream",
+ "l-yaml-stream": {
+ "(all)": [
+ {
+ "(***)": "l-document-prefix"
+ },
+ {
+ "(???)": "l-any-document"
+ },
+ {
+ "(***)": {
+ "(any)": [
+ {
+ "(all)": [
+ {
+ "(+++)": "l-document-suffix"
+ },
+ {
+ "(***)": "l-document-prefix"
+ },
+ {
+ "(???)": "l-any-document"
+ }
+ ]
+ },
+ {
+ "(all)": [
+ {
+ "(***)": "l-document-prefix"
+ },
+ {
+ "(???)": "l-explicit-document"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+}
diff --git a/yaml.el b/yaml.el
new file mode 100644
index 0000000000..edc0fe3efd
--- /dev/null
+++ b/yaml.el
@@ -0,0 +1,37 @@
+;;; yaml.el --- YAML parser for Elisp -*- lexical-binding: t -*-
+
+;; Author: Zachary Romero
+;; Maintainer: Zachary Romero
+;; Version: 0.1.0
+;; Package-Requires: ()
+;; Homepage: https://github.com/zkry/yaml.el
+;; Keywords: YAML
+
+
+;; This file is not part of GNU Emacs
+
+;; This file is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; For a full copy of the GNU General Public License
+;; see <http://www.gnu.org/licenses/>.
+
+
+;;; Commentary:
+
+;; YAML parser in Elisp.
+
+;;; Code:
+
+(message "Hello World!")
+
+(provide 'yaml)
+
+;;; yaml.el ends here
- [elpa] externals/yaml 7783d802b0 102/124: Don't remove all properties, just yaml-n, (continued)
- [elpa] externals/yaml 7783d802b0 102/124: Don't remove all properties, just yaml-n, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 73fde9d8fb 110/124: Merge pull request #44 from kisaragi-hiu/eldoc-hints, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml e787dd06c6 106/124: Merge pull request #42 from kisaragi-hiu/bring-docstring-up-to-date, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 5af0cd7c55 122/124: Fix octal/hex parsing (#54), ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 4a3243a2be 108/124: yaml--the-end: fix incorrect regexp, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 3381a5d2f7 109/124: Merge pull request #43 from kisaragi-hiu/fix/regexp-missing-escape, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 70c4fcead9 124/124: bump version, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 37a6b80ee3 121/124: Update declared version to match tag, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 604774d385 117/124: Add documentation on running tests, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 7c4b2ec9a5 116/124: Merge pull request #49 from zkry/48-encode-remove-leading-newlines, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 708dd886a2 001/124: Initial commit,
ELPA Syncer <=
- [elpa] externals/yaml 8771e68930 004/124: Got key-value working, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml afdb23754a 024/124: Fix folding string parsing, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 2e2e7d199e 023/124: Implement anchor alias resolution, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 8101f2c1fa 030/124: Add import statement; remove debug messages, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 84b88c9ed1 073/124: Merge pull request #27 from zkry/fix-empty-single-quote-string, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml b6091cc080 077/124: add unit test case, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml cb1cc42bd1 093/124: Merge pull request #36 from zkry/fix-string-values-state-bug, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 39f8412bec 079/124: Fix encoding deeply nested lists, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 25f35c80e4 035/124: Replace string-trim-right with replace-regexp-in-string, ELPA Syncer, 2024/11/29
- [elpa] externals/yaml 1304802f9f 069/124: Reduce the max line length to be under 80 characters., ELPA Syncer, 2024/11/29