{ "name": "q", "scopeName": "source.q", "patterns": [ { "name": "comment.block.source.q", "begin": "/\n", "end": "\\\\\n" }, { "name": "comment.line.source.q", "match": "\\s/.*|^/.*" }, { "name": "comment.block.source.q", "begin": "\\\\\n", "end": "\\\\\n" }, { "name": "other.source.q", "match": "(?=(\\W|\\b))((\\.Q\\.\\w+)|(\\.z\\.\\w+)|(\\\\\\w+))(?=(\\W|\\b))", "captures": { "2": { "name": "support.function.q" } } }, { "name": "string.quoted.string.source.q", "match": "\".*?\"" }, { "name": "string.interpolated.symbol.source.q", "match": "`[:/a-zA-Z0-9_.]+" }, { "name": "other.source.q", "match": "(?=([^a-zA-Z0-9]|\\b))(\\.?[a-zA-Z]+[a-zA-Z0-9_\\.]*\\s*)(:)\\s*", "captures": { "2": { "name": "variable.parameter.complex.source.q" }, "3": { "name": "support.function.q" } } }, { "name": "support.function.q", "match": "[!$@\\\\/_#?|',`(\\\\:)]" }, { "name": "support.function.q", "match": "\\.(?=\\W)" }, { "contentName": "meta.function.parameters.q", "begin": "(\\{\\s*\\[)", "end": "(?=\\]\\s*)", "patterns": [ { "match": "\\b([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(;)|(?=[\\]\\)]))", "captures": { "1": { "name": "entity.other.inherited-class.q" }, "2": { "name": "punctuation.separator.parameters.q" } } } ] }, { "name": "other.source.q", "match": "(?=(\\W|\\b))(prd|while|wavg|delete|min|like|exp|abs|insert|wsum|last|log|div|cos|sin|sqrt|max|in|exec|within|xexp|avg|second|hour|minute|update|sum|by|from|select|neg|not|null|string|reciprocal|floor|ceiling|signum|mod|xbar|xlog|and|or|each|scan|over|prior|mmu|lsq|inv|md5|ltime|gtime|count|first|var|dev|med|cov|cor|all|any|rand|sums|prds|mins|maxs|fills|deltas|ratios|avgs|differ|prev|next|rank|reverse|iasc|idesc|asc|desc|msum|mcount|mavg|mdev|xrank|mmin|mmax|xprev|rotate|distinct|group|where|flip|type|key|til|get|value|attr|cut|set|upsert|raze|union|inter|except|cross|sv|vs|sublist|enlist|read0|read1|hopen|hclose|hdel|hsym|hcount|peach|system|ltrim|rtrim|trim|lower|upper|ssr|view|tables|views|cols|xcols|keys|xkey|xcol|xasc|xdesc|fkeys|meta|lj|aj|aj0|ij|pj|asof|uj|ww|wj|wj1|fby|xgroup|ungroup|ej|save|load|rsave|rload|show|csv|parse|eval)(?=(\\W|\\b))", "captures": { "2": { "name": "keyword.other.complex.source.q" } } }, { "name": "other.source.q", "match": "(?=(\\W|\\b))([0-9]{4}\\.[0-9]{2}\\.[0-9]{2}[TD]?[0-9]{2}:[0-9]{2}:[0-9]{2}(:[0-9]{2})?(\\.[0-9]{3,6})?)(?=(\\W|\\b))", "captures": { "2": { "name": "constant.numeric.complex.source.q" } } }, { "name": "other.source.q", "match": "(?=(\\W|\\b))([0-9]{4}\\.[0-9]{2}\\.[0-9]{2}[TD]?)(?=(\\W|\\b))", "captures": { "2": { "name": "constant.numeric.complex.source.q" } } }, { "name": "other.source.q", "match": "(?=(\\W|\\b))([0-9]{2}:[0-9]{2}:[0-9]{2}(:[0-9]{2})?(\\.[0-9]{3,6})?)(?=(\\W|\\b))", "captures": { "2": { "name": "constant.numeric.complex.source.q" } } }, { "name": "other.source.q", "match": "(?=(\\W|\\b))([-]?[0-9]+[bhijef]{0,1}(\\.[0-9]+[m]?)?|0x[a-f0-9]+)(?=(\\W|\\b))", "captures": { "2": { "name": "constant.numeric.complex.source.q" } } } ] }