{"name":"Shen","scopeName":"source.shen","patterns":[{"include":"#expressions"}],"repository":{"atoms":{"patterns":[{"name":"string.quoted.double","begin":"(\\\")","end":"(\\\")","patterns":[{"name":"constant.character.escape","match":"(~A|~R|~S|~%|c#\\d+;)"},{"name":"invalid.illegal","match":"(c#[^;]*;)"}]},{"name":"constant.numeric","match":"(?\u003c=^|[\\s()\\[\\]])[+-]*\\d+\\.?\\d*(?=$|[\\s;()\\[\\]])"},{"name":"invalid.illegal","match":"(?\u003c=^|[\\s()\\[\\]])[+-]*\\d+\\.?\\d*[^\\s;()\\[\\]]+(?=$|[\\s;()\\[\\]])"},{"name":"keyword.control","match":"(?\u003c=\\()(and|or|if|do|lambda|freeze|let|cond|cases|trap-error|where|package|defun|/.|define|defmacro|defcc|defprolog|datatype)(?=$|[\\s;()\\[\\]{}])"},{"name":"keyword.control","match":"(?\u003c=^|[\\s()\\[\\]{}])(-\u003e|\u003c-|--\u003e|\u003c--|==\u003e|\u003c==|:=|__+)(?=$|[\\s;()\\[\\]{}])"},{"name":"keyword.operator","match":"(?\u003c=^|[\\s()\\[\\]{}])(=|==|\u003c|\u003e|\u003c=|\u003e=|\\+|-|\\*|/)(?=$|[\\s;()\\[\\]{}])"},{"name":"entity.name.function","match":"(?\u003c=\\(define\\s)([^\\s()\\[\\]{}]*)(?=$|[\\s;()\\[\\]{}])"},{"name":"entity.name.function","match":"(?\u003c=\\(defmacro\\s)([^\\s()\\[\\]{}]*)(?=$|[\\s;()\\[\\]{}])"},{"name":"entity.name.function","match":"(?\u003c=\\(defprolog\\s)([^\\s()\\[\\]{}]*)(?=$|[\\s;()\\[\\]{}])"},{"name":"entity.name.section","match":"(?\u003c=\\(package\\s)([^\\s()\\[\\]{}]*)(?=$|[\\s;()\\[\\]{}])"},{"name":"entity.name.type","match":"(?\u003c=\\(datatype\\s)([^\\s()\\[\\]{}]*)(?=$|[\\s;()\\[\\]{}])"},{"name":"variable.language","match":"(?\u003c=^|[\\s()\\[\\]{}])([A-Z][^\\s()\\[\\];{}]*)(?=$|[\\s;()\\[\\]{}])"},{"name":"entity.name.tag","match":"(?\u003c=^|[\\s()\\[\\]])(\u003c[^\\s()\\[\\]]*\u003e)(?=$|[\\s;()\\[\\]])"},{"name":"constant.language","match":"(?\u003c=^|[\\s)\\[\\]{}])([^A-Z\\s()\\[\\]:;\\|{}][^\\s()\\[\\];{}]*)(?=$|[\\s;()\\[\\]{}])"},{"name":"constant.language","match":"(\\(\\)|\\[\\])"}]},"comments":{"patterns":[{"name":"comment.line","match":"(\\\\\\\\.*$)"},{"name":"comment.block","begin":"(\\\\\\*)","end":"(\\*\\\\)"}]},"expressions":{"patterns":[{"include":"#comments"},{"include":"#atoms"},{"include":"#parens"},{"include":"#squares"}]},"parens":{"patterns":[{"name":"meta.group","begin":"(\\()","end":"(\\))","patterns":[{"include":"#expressions"}]}]},"squares":{"patterns":[{"name":"meta.group","begin":"(\\[)","end":"(\\])","patterns":[{"include":"#expressions"}]}]}}}