const lang = Object.freeze(JSON.parse("{\"displayName\":\"Clojure\",\"name\":\"clojure\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#shebang-comment\"},{\"include\":\"#quoted-sexp\"},{\"include\":\"#sexp\"},{\"include\":\"#keyfn\"},{\"include\":\"#string\"},{\"include\":\"#vector\"},{\"include\":\"#set\"},{\"include\":\"#map\"},{\"include\":\"#regexp\"},{\"include\":\"#var\"},{\"include\":\"#constants\"},{\"include\":\"#dynamic-variables\"},{\"include\":\"#metadata\"},{\"include\":\"#namespace-symbol\"},{\"include\":\"#symbol\"}],\"repository\":{\"comment\":{\"begin\":\"(?\\\\<\\\\!\\\\?\\\\d]+\\\\*\",\"name\":\"meta.symbol.dynamic.clojure\"},\"keyfn\":{\"patterns\":[{\"match\":\"(?<=(\\\\s|\\\\(|\\\\[|\\\\{))(if(-[-\\\\p{Ll}\\\\?]*)?|when(-[-\\\\p{Ll}]*)?|for(-[-\\\\p{Ll}]*)?|cond|do|let(-[-\\\\p{Ll}\\\\?]*)?|binding|loop|recur|fn|throw[\\\\p{Ll}\\\\-]*|try|catch|finally|([\\\\p{Ll}]*case))(?=(\\\\s|\\\\)|\\\\]|\\\\}))\",\"name\":\"storage.control.clojure\"},{\"match\":\"(?<=(\\\\s|\\\\(|\\\\[|\\\\{))(declare-?|(in-)?ns|import|use|require|load|compile|(def[\\\\p{Ll}\\\\-]*))(?=(\\\\s|\\\\)|\\\\]|\\\\}))\",\"name\":\"keyword.control.clojure\"}]},\"keyword\":{\"match\":\"(?<=(\\\\s|\\\\(|\\\\[|\\\\{)):[\\\\w\\\\#\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\/\\\\!\\\\?\\\\*]+(?=(\\\\s|\\\\)|\\\\]|\\\\}|\\\\,))\",\"name\":\"constant.keyword.clojure\"},\"map\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.map.begin.clojure\"}},\"end\":\"(\\\\}(?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.map.end.trailing.clojure\"},\"2\":{\"name\":\"punctuation.section.map.end.clojure\"}},\"name\":\"meta.map.clojure\",\"patterns\":[{\"include\":\"$self\"}]},\"metadata\":{\"patterns\":[{\"begin\":\"(\\\\^\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.metadata.map.begin.clojure\"}},\"end\":\"(\\\\}(?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.metadata.map.end.trailing.clojure\"},\"2\":{\"name\":\"punctuation.section.metadata.map.end.clojure\"}},\"name\":\"meta.metadata.map.clojure\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"(\\\\^)\",\"end\":\"(\\\\s)\",\"name\":\"meta.metadata.simple.clojure\",\"patterns\":[{\"include\":\"#keyword\"},{\"include\":\"$self\"}]}]},\"namespace-symbol\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"meta.symbol.namespace.clojure\"}},\"match\":\"([\\\\p{L}\\\\.\\\\-\\\\_\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*][\\\\w\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*\\\\d]*)/\"}]},\"quoted-sexp\":{\"begin\":\"(['``]\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.clojure\"}},\"end\":\"(\\\\))$|(\\\\)(?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.trailing.clojure\"},\"2\":{\"name\":\"punctuation.section.expression.end.trailing.clojure\"},\"3\":{\"name\":\"punctuation.section.expression.end.clojure\"}},\"name\":\"meta.quoted-expression.clojure\",\"patterns\":[{\"include\":\"$self\"}]},\"regexp\":{\"begin\":\"#\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.regexp.begin.clojure\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.regexp.end.clojure\"}},\"name\":\"string.regexp.clojure\",\"patterns\":[{\"include\":\"#regexp_escaped_char\"}]},\"regexp_escaped_char\":{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.clojure\"},\"set\":{\"begin\":\"(\\\\#\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.set.begin.clojure\"}},\"end\":\"(\\\\}(?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.set.end.trailing.clojure\"},\"2\":{\"name\":\"punctuation.section.set.end.clojure\"}},\"name\":\"meta.set.clojure\",\"patterns\":[{\"include\":\"$self\"}]},\"sexp\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.clojure\"}},\"end\":\"(\\\\))$|(\\\\)(?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.trailing.clojure\"},\"2\":{\"name\":\"punctuation.section.expression.end.trailing.clojure\"},\"3\":{\"name\":\"punctuation.section.expression.end.clojure\"}},\"name\":\"meta.expression.clojure\",\"patterns\":[{\"begin\":\"(?<=\\\\()(ns|declare|def[\\\\w\\\\d._:+=>\\\\<\\\\!\\\\?\\\\*][\\\\w\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*\\\\d]*)\",\"name\":\"entity.global.clojure\"},{\"include\":\"$self\"}]},{\"include\":\"#keyfn\"},{\"include\":\"#constants\"},{\"include\":\"#vector\"},{\"include\":\"#map\"},{\"include\":\"#set\"},{\"include\":\"#sexp\"},{\"captures\":{\"1\":{\"name\":\"entity.name.function.clojure\"}},\"match\":\"(?<=\\\\()(.+?)(?=\\\\s|\\\\))\",\"patterns\":[{\"include\":\"$self\"}]},{\"include\":\"$self\"}]},\"shebang-comment\":{\"begin\":\"^(#!)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.shebang.clojure\"}},\"end\":\"$\",\"name\":\"comment.line.shebang.clojure\"},\"string\":{\"begin\":\"(?\\\\<\\\\!\\\\?\\\\*][\\\\w\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*\\\\d]*)\",\"name\":\"meta.symbol.clojure\"}]},\"var\":{\"match\":\"(?<=(\\\\s|\\\\(|\\\\[|\\\\{)\\\\#)'[\\\\w\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\/\\\\!\\\\?\\\\*]+(?=(\\\\s|\\\\)|\\\\]|\\\\}))\",\"name\":\"meta.var.clojure\"},\"vector\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.vector.begin.clojure\"}},\"end\":\"(\\\\](?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.vector.end.trailing.clojure\"},\"2\":{\"name\":\"punctuation.section.vector.end.clojure\"}},\"name\":\"meta.vector.clojure\",\"patterns\":[{\"include\":\"$self\"}]}},\"scopeName\":\"source.clojure\",\"aliases\":[\"clj\"]}")) export default [ lang ]