{"name":"NEON","scopeName":"source.neon","patterns":[{"include":"#main"}],"repository":{"boolean":{"patterns":[{"name":"constant.language.boolean.true.neon","match":"\\b(TRUE|True|true|YES|Yes|yes|ON|On|on)\\b"},{"name":"constant.language.boolean.false.neon","match":"\\b(FALSE|False|false|NO|No|no|OFF|Off|off)\\b"}]},"brackets":{"patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.begin.neon"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.square.end.neon"}}},{"begin":"{","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.brace.begin.neon"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.brace.end.neon"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.parenthesis.begin.neon"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.parenthesis.end.neon"}}}]},"comma":{"name":"punctuation.separator.delimiter.comma.neon","match":","},"comment":{"name":"comment.line.number-sign.neon","begin":"(?\u003c=\\s|^)#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.neon"}}},"datetime":{"name":"constant.numeric.datetime.neon","match":"(?x)\n\n# Date\n(\n\t(\\d{4}) (-) # Year\n\t(\\d{1,2}) (-) # Month\n\t(\\d{1,2}) # Day\n)\n\n# Time\n(\n\t([Tt]|\\s++) # Separator\n\t(\\d{1,2}) (:) # Hour\n\t(\\d{2}) (:) # Minute\n\t(\\d{2}(?:\\.\\d*+)?) # Second\n\t\\s*+\n\t\n\t# 10: Timezone\n\t((Z)|[-+]\\d{1,2}(?::?\\d{2})?)?\n)?\n\\s*$","captures":{"1":{"name":"constant.numeric.date.neon"},"10":{"name":"punctuation.delimiter.separator.colon.neon"},"11":{"name":"constant.numeric.time.minute.neon"},"12":{"name":"punctuation.delimiter.separator.colon.neon"},"13":{"name":"constant.numeric.time.second.neon"},"14":{"name":"constant.numeric.time.timezone.tz.neon"},"15":{"name":"punctuation.separator.timezone.neon"},"2":{"name":"constant.numeric.date.year.neon"},"3":{"name":"punctuation.delimiter.separator.dash.hyphen.neon"},"4":{"name":"constant.numeric.date.month.neon"},"5":{"name":"punctuation.delimiter.separator.dash.hyphen.neon"},"6":{"name":"constant.numeric.date.day.neon"},"7":{"name":"constant.numeric.time.neon"},"8":{"name":"punctuation.separator.datetime.neon"},"9":{"name":"constant.numeric.time.hour.neon"}}},"entity":{"name":"meta.entity.definition.neon","begin":"(?x)\n(\n\t[^\\#\"',:=@\\[\\]{}()\\s!`]\n\t(?: [^\\#,:=\\]})(]\n\t| : [^\\s,\\]})]\n\t| \\S\\#\n\t)*\n) \\s* (\\()","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"entity.name.type.neon"},"2":{"name":"punctuation.definition.entity.begin.neon"}},"endCaptures":{"0":{"name":"punctuation.definition.entity.end.neon"}}},"int":{"patterns":[{"name":"constant.numeric.integer.int.hexadecimal.hex.neon","match":"0x[0-9a-fA-F]++(?=\\s*$)"},{"name":"constant.numeric.integer.int.octal.oct.neon","match":"0o[0-7]++(?=\\s$)"},{"name":"constant.numeric.integer.int.binary.bin.neon","match":"0b[0-1]++(?=\\s$)"}]},"kv":{"match":"(?x)\n(\n\t[^\\#\"',:=@\\[\\]{}()\\s!`]\n\t(?: [^\\#,:=\\]})(]\n\t| : [^\\s,\\]})]\n\t| \\S\\#\n\t)*+\n)\n(:|=)","captures":{"1":{"name":"entity.name.tag.neon"},"2":{"name":"keyword.operator.assignment.key-value.neon"}}},"main":{"patterns":[{"include":"#comment"},{"include":"#kv"},{"include":"#boolean"},{"include":"#brackets"},{"include":"#datetime"},{"include":"#int"},{"include":"#null"},{"include":"#strings"},{"include":"#comma"},{"include":"#number"},{"include":"#entity"},{"include":"#unquoted"}]},"null":{"name":"constant.language.null.neon","match":"\\b(NULL|Null|null)\\b(?=\\s*(?:$|[\\]}),]|(?\u003c=\\s)#))"},"number":{"patterns":[{"name":"constant.numeric.float.real.decimal.dec.exponential.scientific.neon","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)(?:[eE][-+]?[0-9]+)++(?=\\s*(?:$|[\\]}),]|(?\u003c=\\s)#))"},{"name":"constant.numeric.float.real.decimal.dec.neon","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)++(?=\\s*(?:$|[\\]}),]|(?\u003c=\\s)#))"},{"name":"constant.numeric.integer.int.decimal.dec.exponential.scientific.neon","match":"[-+]?[0-9]+[eE][-+]?[0-9]+(?=\\s*(?:$|[\\]}),]|(?\u003c=\\s)#))"},{"name":"constant.numeric.integer.int.decimal.dec.neon","match":"[-+]?[0-9]+(?=\\s*(?:$|[\\]}),]|(?\u003c=\\s)#))"}]},"strings":{"patterns":[{"name":"string.quoted.single.heredoc.neon","begin":"(''')\\s*$","end":"^\\s*(''')","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.neon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.neon"}}},{"name":"string.quoted.double.heredoc.neon","begin":"(\"\"\")\\s*$","end":"^\\s*(\"\"\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.neon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.neon"}}},{"name":"string.quoted.single.neon","begin":"(')","end":"(')|([^']*)$","patterns":[{"name":"constant.character.escape.quote.single.neon","match":"''(?!')"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.neon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.neon"},"2":{"name":"invalid.illegal.unclosed.string.neon"}}},{"name":"string.quoted.double.neon","begin":"(\")","end":"(\")|([^\"]*)$","patterns":[{"name":"constant.character.escape.unicode.codepoint.long.neon","match":"(\\\\)u[A-Fa-f0-9]+","captures":{"1":{"name":"punctuation.definition.escape.backslash.neon"}}},{"name":"constant.character.escape.unicode.codepoint.short.neon","match":"(\\\\)x[A-Fa-f0-9]{2}","captures":{"1":{"name":"punctuation.definition.escape.backslash.neon"}}},{"name":"constant.character.escape.neon","match":"(\\\\)[tnrfb\"\\\\/_]","captures":{"1":{"name":"punctuation.definition.escape.backslash.neon"}}},{"name":"invalid.illegal.unknown-escape.neon","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.neon"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.neon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.neon"},"2":{"name":"invalid.illegal.unclosed.string.neon"}}}]},"unquoted":{"name":"string.unquoted.literal.neon","match":"(?x)\n[^\\#\"',:=@\\[\\]{}()\\s!`]\n(?: [^\\#,:=\\]})(]\n| : [^\\s,\\]})]\n| \\S\\#\n)*"}}}