{"name":"HOCON","scopeName":"source.hocon","patterns":[{"include":"#duration-long"},{"include":"#bytesize-long"},{"include":"#duration-short"},{"include":"#bytesize-short"},{"include":"#variables"},{"include":"#constant"},{"include":"#mstring"},{"include":"#string"},{"include":"#comments"},{"include":"#keywords"},{"include":"#number"},{"include":"#ustring"},{"match":"(?:[ \t]*([\\w-]+)\\s*?({|=|:))","captures":{"1":{"name":"entity.name.tag.hocon"},"2":{"name":"punctuation.separator.key-value.hocon"}}}],"repository":{"bytesize-long":{"name":"constant.numeric.byte.long.hocon","match":"\\b\\d+((kilo|mega|giga|tera|peta|exa|zetta|yotta|kibi|mebi|gibi|tebi|pebi|exbi|zebo|yobi)?byte[s]?)\\b"},"bytesize-short":{"name":"constant.numeric.byte.short.hocon","match":"\\b\\d+(([kMGTPEZY]B)|([KMGTPEZY]B?)|([KMGTPEZY]iB?)|([kmgtpezybB]))\\b"},"comments":{"patterns":[{"name":"comment.line.double-slash.hocon","match":"(//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.hocon"}}},{"name":"comment.line.pound.hocon","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.hocon"}}}]},"constant":{"match":"[^-]\\b((?:true|false|null|on|off|yes|no))\\b[^-]","captures":{"1":{"name":"constant.language.hocon"}}},"duration-long":{"name":"constant.numeric.duration.long.hocon","match":"\\b\\d+(day|hour|minute|millisecond|microsecond|nanosecond|second)[s]?\\b"},"duration-short":{"name":"constant.numeric.duration.short.hocon","match":"\\b(\\d+)(d|h|ns|ms|us|s)\\b"},"keywords":{"patterns":[{"name":"keyword.other.source.hocon","match":"\\b(include|url|file|classpath)\\b"}]},"mstring":{"name":"string.quoted.triple.hocon","begin":"\"\"\"","end":"\"\"\""},"number":{"name":"constant.numeric.zzz.simple.numbers.hocon","match":"(\\b\\-?\\d+(\\.\\d+)?([eE]\\d+)?\\b)"},"string":{"name":"string.quoted.double.hocon","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.hocon","match":"(\\\\(?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.unrecognized-string-escape.hocon","match":"\\\\."}]},"ustring":{"name":"string.other.zzz.unquoted.hocon","match":"([^:=\\{\\}\\[\\]\\s,][^0-9:=\\{\\}\\[\\],][^=:\\{\\}\\[\\]\\s,]*)","captures":{"1":{"name":"entity.name.tag.hocon"}}},"variables":{"name":"storage.type.source.hocon","match":"\\$\\{[^\\}]*\\}"}}}
