UNPKG

tm-grammars

Version:
1,331 lines (1,330 loc) 35 kB
{ "displayName": "SurrealQL", "fileTypes": [ ".surql", ".surrealql" ], "foldingStartMarker": "[(\\[{|]\\s*$", "foldingStopMarker": "^\\s*[])|}]", "name": "surrealql", "patterns": [ { "include": "#comment" }, { "include": "#js-function" }, { "include": "#function" }, { "include": "#keywords" }, { "include": "#operators" }, { "include": "#value" } ], "repository": { "array": { "begin": "\\[", "end": "]", "patterns": [ { "include": "#array-content" } ] }, "array-content": { "patterns": [ { "include": "$self" }, { "match": ",", "name": "punctuation.separator.array" } ] }, "block": { "begin": "\\{", "end": "}", "name": "surrealql.block", "patterns": [ { "include": "#block-content" } ] }, "block-content": { "patterns": [ { "include": "#string" }, { "include": "#object-key" }, { "include": "$self" } ] }, "boolean": { "match": "\\b(true|TRUE|false|FALSE|True|False)\\b", "name": "constant.language.bool" }, "comment": { "patterns": [ { "include": "#comment.line.dash" }, { "include": "#comment.line.slash" }, { "include": "#comment.line.hash" }, { "include": "#comment.block" } ] }, "comment.block": { "begin": "/\\*", "end": "\\*/", "name": "comment.block.surrealql" }, "comment.line.dash": { "begin": "--", "end": "\\n", "name": "comment.line.double-dash" }, "comment.line.hash": { "begin": "#", "end": "\\n", "name": "comment.line.number-sign" }, "comment.line.slash": { "begin": "//", "end": "\\n", "name": "comment.line.double-slash" }, "duration": { "match": "(\\d+(ns|µs|ms|[dhmswy]))+", "name": "constant.other" }, "function": { "begin": "(?=(\\b\\w+(?:::\\b\\w+)+|count|rand)\\s*\\()", "beginCaptures": { "1": { "name": "support.function" } }, "end": "(?<=\\))", "patterns": [ { "include": "#comment" }, { "begin": "\\(", "end": "\\)", "name": "meta.function.arguments", "patterns": [ { "include": "#value" } ] } ] }, "ident": { "patterns": [ { "begin": "`", "end": "(?<!\\\\)`", "name": "support.type.property-name" }, { "begin": "⟨", "end": "(?<!\\\\)⟩", "name": "support.type.property-name" } ] }, "js-function": { "begin": "(?=\\b(function)\\b)", "beginCaptures": { "1": { "name": "support.function.js" } }, "end": "(?<=})", "patterns": [ { "include": "#comment" }, { "begin": "\\(", "end": "\\)", "name": "meta.function.arguments", "patterns": [ { "include": "#value" } ] }, { "begin": "\\{", "end": "}", "name": "meta.embedded.block.javascript", "patterns": [ { "include": "source.js" } ] } ] }, "keywords": { "patterns": [ { "match": "\\b(ACCESS|access)\\b", "name": "keyword.control.access.surrealql" }, { "match": "\\b(ALGORITHM|algorithm)\\b", "name": "keyword.control.algorithm.surrealql" }, { "match": "\\b(ALL|all)\\b", "name": "keyword.control.all.surrealql" }, { "match": "\\b(ALTER|alter)\\b", "name": "keyword.control.alter.surrealql" }, { "match": "\\b(ALWAYS|always)\\b", "name": "keyword.control.always.surrealql" }, { "match": "\\b(ANALYZER|analyzer)\\b", "name": "keyword.control.analyzer.surrealql" }, { "match": "\\b(AND|and)\\b", "name": "keyword.control.and.surrealql" }, { "match": "\\b(ANY|any)\\b", "name": "keyword.control.any.surrealql" }, { "match": "\\b(API|api)\\b", "name": "keyword.control.api.surrealql" }, { "match": "\\b(AS|as)\\b", "name": "keyword.control.as.surrealql" }, { "match": "\\b(ASC|asc)\\b", "name": "keyword.control.asc.surrealql" }, { "match": "\\b(ASSERT|assert)\\b", "name": "keyword.control.assert.surrealql" }, { "match": "\\b(AT|at)\\b", "name": "keyword.control.at.surrealql" }, { "match": "\\b(AUTHENTICATE|authenticate)\\b", "name": "keyword.control.authenticate.surrealql" }, { "match": "\\b(AUTO|auto)\\b", "name": "keyword.control.auto.surrealql" }, { "match": "\\b(BACKEND|backend)\\b", "name": "keyword.control.backend.surrealql" }, { "match": "\\b(BEGIN|begin)\\b", "name": "keyword.control.begin.surrealql" }, { "match": "\\b(BM25|bm25)\\b", "name": "keyword.control.bm25.surrealql" }, { "match": "\\b(BREAK|break)\\b", "name": "keyword.control.break.surrealql" }, { "match": "\\b(BUCKET|bucket)\\b", "name": "keyword.control.bucket.surrealql" }, { "match": "\\b(BY|by)\\b", "name": "keyword.control.by.surrealql" }, { "match": "\\b(CANCEL|cancel)\\b", "name": "keyword.control.cancel.surrealql" }, { "match": "\\b(CAPACITY|capacity)\\b", "name": "keyword.control.capacity.surrealql" }, { "match": "\\b(CASCADE|cascade)\\b", "name": "keyword.control.cascade.surrealql" }, { "match": "\\b(CHANGEFEED|changefeed)\\b", "name": "keyword.control.changefeed.surrealql" }, { "match": "\\b(CHANGES|changes)\\b", "name": "keyword.control.changes.surrealql" }, { "match": "\\b(COLLATE|collate)\\b", "name": "keyword.control.collate.surrealql" }, { "match": "\\b(COLUMNS|columns)\\b", "name": "keyword.control.columns.surrealql" }, { "match": "\\b(COMMENT|comment)\\b", "name": "keyword.control.comment.surrealql" }, { "match": "\\b(COMMIT|commit)\\b", "name": "keyword.control.commit.surrealql" }, { "match": "\\b(COMPUTED|computed)\\b", "name": "keyword.control.computed.surrealql" }, { "match": "\\b(CONCURRENTLY|concurrently)\\b", "name": "keyword.control.concurrently.surrealql" }, { "match": "\\b(CONFIG|config)\\b", "name": "keyword.control.config.surrealql" }, { "match": "\\b(CONTENT|content)\\b", "name": "keyword.control.content.surrealql" }, { "match": "\\b(CONTINUE|continue)\\b", "name": "keyword.control.continue.surrealql" }, { "match": "\\b(CREATE|create)\\b", "name": "keyword.control.create.surrealql" }, { "match": "\\b(DATABASE|database)\\b", "name": "keyword.control.database.surrealql" }, { "match": "\\b(DB|db)\\b", "name": "keyword.control.db.surrealql" }, { "match": "\\b(DEFAULT|default)\\b", "name": "keyword.control.default.surrealql" }, { "match": "\\b(DEFER|defer)\\b", "name": "keyword.control.defer.surrealql" }, { "match": "\\b(DEFINE|define)\\b", "name": "keyword.control.define.surrealql" }, { "match": "\\b(DELETE|delete)\\b", "name": "keyword.control.delete.surrealql" }, { "match": "\\b(DESC|desc)\\b", "name": "keyword.control.desc.surrealql" }, { "match": "\\b(DIMENSION|dimension)\\b", "name": "keyword.control.dimension.surrealql" }, { "match": "\\b(DIST|dist)\\b", "name": "keyword.control.dist.surrealql" }, { "match": "\\b(DOC_IDS_CACHE|doc_ids_cache)\\b", "name": "keyword.control.doc_ids_cache.surrealql" }, { "match": "\\b(DOC_IDS_ORDER|doc_ids_order)\\b", "name": "keyword.control.doc_ids_order.surrealql" }, { "match": "\\b(DOC_LENGTHS_CACHE|doc_lengths_cache)\\b", "name": "keyword.control.doc_lengths_cache.surrealql" }, { "match": "\\b(DOC_LENGTHS_ORDER|doc_lengths_order)\\b", "name": "keyword.control.doc_lengths_order.surrealql" }, { "match": "\\b(DROP|drop)\\b", "name": "keyword.control.drop.surrealql" }, { "match": "\\b(DUPLICATE|duplicate)\\b", "name": "keyword.control.duplicate.surrealql" }, { "match": "\\b(DURATION|duration)\\b", "name": "keyword.control.duration.surrealql" }, { "match": "\\b(EFC|efc)\\b", "name": "keyword.control.efc.surrealql" }, { "match": "\\b(ELSE|else)\\b", "name": "keyword.control.else.surrealql" }, { "match": "\\b(END|end)\\b", "name": "keyword.control.end.surrealql" }, { "match": "\\b(ENFORCED|enforced)\\b", "name": "keyword.control.enforced.surrealql" }, { "match": "\\b(EVENT|event)\\b", "name": "keyword.control.event.surrealql" }, { "match": "\\b(EXCLUDE|exclude)\\b", "name": "keyword.control.exclude.surrealql" }, { "match": "\\b(EXISTS|exists)\\b", "name": "keyword.control.exists.surrealql" }, { "match": "\\b(EXPLAIN|explain)\\b", "name": "keyword.control.explain.surrealql" }, { "match": "\\b(EXPUNGE|expunge)\\b", "name": "keyword.control.expunge.surrealql" }, { "match": "\\b(EXTEND_CANDIDATES|extend_candidates)\\b", "name": "keyword.control.extend_candidates.surrealql" }, { "match": "\\b(FETCH|fetch)\\b", "name": "keyword.control.fetch.surrealql" }, { "match": "\\b(FIELD|field)\\b", "name": "keyword.control.field.surrealql" }, { "match": "\\b(FIELDS|fields)\\b", "name": "keyword.control.fields.surrealql" }, { "match": "\\b(FILTERS|filters)\\b", "name": "keyword.control.filters.surrealql" }, { "match": "\\b(FLEXIBLE|flexible)\\b", "name": "keyword.control.flexible.surrealql" }, { "match": "\\b(FOR|for)\\b", "name": "keyword.control.for.surrealql" }, { "match": "\\b(FROM|from)\\b", "name": "keyword.control.from.surrealql" }, { "match": "\\b(FUNCTION|function)\\b", "name": "keyword.control.function.surrealql" }, { "match": "\\b(FUNCTIONS|functions)\\b", "name": "keyword.control.functions.surrealql" }, { "match": "\\b(GET|get)\\b", "name": "keyword.control.get.surrealql" }, { "match": "\\b(GRAPHQL|graphql)\\b", "name": "keyword.control.graphql.surrealql" }, { "match": "\\b(GROUP|group)\\b", "name": "keyword.control.group.surrealql" }, { "match": "\\b(HIGHLIGHTS|highlights)\\b", "name": "keyword.control.highlights.surrealql" }, { "match": "\\b(HNSW|hnsw)\\b", "name": "keyword.control.hnsw.surrealql" }, { "match": "\\b(IF|if)\\b", "name": "keyword.control.if.surrealql" }, { "match": "\\b(IGNORE|ignore)\\b", "name": "keyword.control.ignore.surrealql" }, { "match": "\\b(IN|in)\\b", "name": "keyword.control.in.surrealql" }, { "match": "\\b(INCLUDE|include)\\b", "name": "keyword.control.include.surrealql" }, { "match": "\\b(INDEX|index)\\b", "name": "keyword.control.index.surrealql" }, { "match": "\\b(INFO|info)\\b", "name": "keyword.control.info.surrealql" }, { "match": "\\b(INSERT|insert)\\b", "name": "keyword.control.insert.surrealql" }, { "match": "\\b(INTO|into)\\b", "name": "keyword.control.into.surrealql" }, { "match": "\\b(ISSUER|issuer)\\b", "name": "keyword.control.issuer.surrealql" }, { "match": "\\b(JWT|jwt)\\b", "name": "keyword.control.jwt.surrealql" }, { "match": "\\b(KEEP_PRUNED_CONNECTIONS|keep_pruned_connections)\\b", "name": "keyword.control.keep_pruned_connections.surrealql" }, { "match": "\\b(KEY|key)\\b", "name": "keyword.control.key.surrealql" }, { "match": "\\b(KILL|kill)\\b", "name": "keyword.control.kill.surrealql" }, { "match": "\\b(LET|let)\\b", "name": "keyword.control.let.surrealql" }, { "match": "\\b(LIMIT|limit)\\b", "name": "keyword.control.limit.surrealql" }, { "match": "\\b(LIVE|live)\\b", "name": "keyword.control.live.surrealql" }, { "match": "\\b(LM|lm)\\b", "name": "keyword.control.lm.surrealql" }, { "match": "\\b([Mm])\\b", "name": "keyword.control.m.surrealql" }, { "match": "\\b([Mm]0)\\b", "name": "keyword.control.m0.surrealql" }, { "match": "\\b(MERGE|merge)\\b", "name": "keyword.control.merge.surrealql" }, { "match": "\\b(MIDDLEWARE|middleware)\\b", "name": "keyword.control.middleware.surrealql" }, { "match": "\\b(MTREE|mtree)\\b", "name": "keyword.control.mtree.surrealql" }, { "match": "\\b(MTREE_CACHE|mtree_cache)\\b", "name": "keyword.control.mtree_cache.surrealql" }, { "match": "\\b(NAMESPACE|namespace)\\b", "name": "keyword.control.namespace.surrealql" }, { "match": "\\b(NOINDEX|noindex)\\b", "name": "keyword.control.noindex.surrealql" }, { "match": "\\b(NORMAL|normal)\\b", "name": "keyword.control.normal.surrealql" }, { "match": "\\b(NOT|not)\\b", "name": "keyword.control.not.surrealql" }, { "match": "\\b(NS|ns)\\b", "name": "keyword.control.ns.surrealql" }, { "match": "\\b(NUMERIC|numeric)\\b", "name": "keyword.control.numeric.surrealql" }, { "match": "\\b(OMIT|omit)\\b", "name": "keyword.control.omit.surrealql" }, { "match": "\\b(ON|on)\\b", "name": "keyword.control.on.surrealql" }, { "match": "\\b(ONLY|only)\\b", "name": "keyword.control.only.surrealql" }, { "match": "\\b(OPTION|option)\\b", "name": "keyword.control.option.surrealql" }, { "match": "\\b(ORDER|order)\\b", "name": "keyword.control.order.surrealql" }, { "match": "\\b(OUT|out)\\b", "name": "keyword.control.out.surrealql" }, { "match": "\\b(OVERWRITE|overwrite)\\b", "name": "keyword.control.overwrite.surrealql" }, { "match": "\\b(PARALLEL|parallel)\\b", "name": "keyword.control.parallel.surrealql" }, { "match": "\\b(PARAM|param)\\b", "name": "keyword.control.param.surrealql" }, { "match": "\\b(PASSHASH|passhash)\\b", "name": "keyword.control.passhash.surrealql" }, { "match": "\\b(PASSWORD|password)\\b", "name": "keyword.control.password.surrealql" }, { "match": "\\b(PATCH|patch)\\b", "name": "keyword.control.patch.surrealql" }, { "match": "\\b(PERMISSIONS|permissions)\\b", "name": "keyword.control.permissions.surrealql" }, { "match": "\\b(POST|post)\\b", "name": "keyword.control.post.surrealql" }, { "match": "\\b(POSTINGS_CACHE|postings_cache)\\b", "name": "keyword.control.postings_cache.surrealql" }, { "match": "\\b(POSTINGS_ORDER|postings_order)\\b", "name": "keyword.control.postings_order.surrealql" }, { "match": "\\b(PUT|put)\\b", "name": "keyword.control.put.surrealql" }, { "match": "\\b(READONLY|readonly)\\b", "name": "keyword.control.readonly.surrealql" }, { "match": "\\b(REBUILD|rebuild)\\b", "name": "keyword.control.rebuild.surrealql" }, { "match": "\\b(RECORD|record)\\b", "name": "keyword.control.record.surrealql" }, { "match": "\\b(REFERENCE|reference)\\b", "name": "keyword.control.reference.surrealql" }, { "match": "\\b(REJECT|reject)\\b", "name": "keyword.control.reject.surrealql" }, { "match": "\\b(RELATE|relate)\\b", "name": "keyword.control.relate.surrealql" }, { "match": "\\b(RELATION|relation)\\b", "name": "keyword.control.relation.surrealql" }, { "match": "\\b(REMOVE|remove)\\b", "name": "keyword.control.remove.surrealql" }, { "match": "\\b(REPLACE|replace)\\b", "name": "keyword.control.replace.surrealql" }, { "match": "\\b(RETURN|return)\\b", "name": "keyword.control.return.surrealql" }, { "match": "\\b(ROLES|roles)\\b", "name": "keyword.control.roles.surrealql" }, { "match": "\\b(ROOT|root)\\b", "name": "keyword.control.root.surrealql" }, { "match": "\\b(SC|sc)\\b", "name": "keyword.control.sc.surrealql" }, { "match": "\\b(SCHEMAFULL|schemafull)\\b", "name": "keyword.control.schemafull.surrealql" }, { "match": "\\b(SCHEMALESS|schemaless)\\b", "name": "keyword.control.schemaless.surrealql" }, { "match": "\\b(SCOPE|scope)\\b", "name": "keyword.control.scope.surrealql" }, { "match": "\\b(SEARCH|search)\\b", "name": "keyword.control.search.surrealql" }, { "match": "\\b(SELECT|select)\\b", "name": "keyword.control.select.surrealql" }, { "match": "\\b(SESSION|session)\\b", "name": "keyword.control.session.surrealql" }, { "match": "\\b(SET|set)\\b", "name": "keyword.control.set.surrealql" }, { "match": "\\b(SHOW|show)\\b", "name": "keyword.control.show.surrealql" }, { "match": "\\b(SIGNIN|signin)\\b", "name": "keyword.control.signin.surrealql" }, { "match": "\\b(SIGNUP|signup)\\b", "name": "keyword.control.signup.surrealql" }, { "match": "\\b(SINCE|since)\\b", "name": "keyword.control.since.surrealql" }, { "match": "\\b(SLEEP|sleep)\\b", "name": "keyword.control.sleep.surrealql" }, { "match": "\\b(SPLIT|split)\\b", "name": "keyword.control.split.surrealql" }, { "match": "\\b(START|start)\\b", "name": "keyword.control.start.surrealql" }, { "match": "\\b(STRUCTURE|structure)\\b", "name": "keyword.control.structure.surrealql" }, { "match": "\\b(TABLE|table)\\b", "name": "keyword.control.table.surrealql" }, { "match": "\\b(TABLES|tables)\\b", "name": "keyword.control.tables.surrealql" }, { "match": "\\b(TB|tb)\\b", "name": "keyword.control.tb.surrealql" }, { "match": "\\b(TEMPFILES|tempfiles)\\b", "name": "keyword.control.tempfiles.surrealql" }, { "match": "\\b(TERMS_CACHE|terms_cache)\\b", "name": "keyword.control.terms_cache.surrealql" }, { "match": "\\b(TERMS_ORDER|terms_order)\\b", "name": "keyword.control.terms_order.surrealql" }, { "match": "\\b(THEN|then)\\b", "name": "keyword.control.then.surrealql" }, { "match": "\\b(THROW|throw)\\b", "name": "keyword.control.throw.surrealql" }, { "match": "\\b(TIMEOUT|timeout)\\b", "name": "keyword.control.timeout.surrealql" }, { "match": "\\b(TO|to)\\b", "name": "keyword.control.to.surrealql" }, { "match": "\\b(TOKEN|token)\\b", "name": "keyword.control.token.surrealql" }, { "match": "\\b(TOKENIZERS|tokenizers)\\b", "name": "keyword.control.tokenizers.surrealql" }, { "match": "\\b(TRACE|trace)\\b", "name": "keyword.control.trace.surrealql" }, { "match": "\\b(TRANSACTION|transaction)\\b", "name": "keyword.control.transaction.surrealql" }, { "match": "\\b(TYPE|type)\\b", "name": "keyword.control.type.surrealql" }, { "match": "\\b(UNIQUE|unique)\\b", "name": "keyword.control.unique.surrealql" }, { "match": "\\b(UNSET|unset)\\b", "name": "keyword.control.unset.surrealql" }, { "match": "\\b(UPDATE|update)\\b", "name": "keyword.control.update.surrealql" }, { "match": "\\b(UPSERT|upsert)\\b", "name": "keyword.control.upsert.surrealql" }, { "match": "\\b(URL|url)\\b", "name": "keyword.control.url.surrealql" }, { "match": "\\b(USE|use)\\b", "name": "keyword.control.use.surrealql" }, { "match": "\\b(USER|user)\\b", "name": "keyword.control.user.surrealql" }, { "match": "\\b(VALUE|value)\\b", "name": "keyword.control.value.surrealql" }, { "match": "\\b(VALUES|values)\\b", "name": "keyword.control.values.surrealql" }, { "match": "\\b(VERSION|version)\\b", "name": "keyword.control.version.surrealql" }, { "match": "\\b(WHEN|when)\\b", "name": "keyword.control.when.surrealql" }, { "match": "\\b(WHERE|where)\\b", "name": "keyword.control.where.surrealql" }, { "match": "\\b(WITH|with)\\b", "name": "keyword.control.with.surrealql" } ] }, "number": { "patterns": [ { "match": "\\b\\d+\\.\\d+(?:f|dec)?\\b", "name": "constant.numeric.decimal" }, { "match": "\\b\\d+(?:f|dec)?\\b", "name": "constant.numeric.int" } ] }, "object-key": { "patterns": [ { "captures": { "1": { "name": "string.quoted.double" } }, "match": "(?:^|[,{])[\\t ]*(\"[^\"():?]+\")(?=:(?!:))" }, { "captures": { "1": { "name": "string.quoted.single" } }, "match": "(?:^|[,{])[\\t ]*('[^'():?]+')(?=:(?!:))" }, { "captures": { "2": { "name": "meta.object-literal.key" } }, "match": "(^|[,{])[\\t ]*([0-9A-Z_a-z]+)(?=:(?!:))" } ] }, "operators": { "patterns": [ { "match": "<->|->|<-|<~", "name": "keyword.operator.arrow.surrealql" }, { "match": "\\b(AND|and)\\b|&&", "name": "keyword.operator.and.surrealql" }, { "match": "\\b(OR|or)\\b|\\|\\|", "name": "keyword.operator.or.surrealql" }, { "match": "\\b(IS NOT|is not)\\b|!=", "name": "keyword.operator.is-not.surrealql" }, { "match": "\\b(IS|is)\\b|=", "name": "keyword.operator.is.surrealql" }, { "match": "\\b(CONTAINSALL|containsall)\\b|⊇", "name": "keyword.operator.containsall.surrealql" }, { "match": "\\b(CONTAINSANY|containsany)\\b|⊃", "name": "keyword.operator.containsany.surrealql" }, { "match": "\\b(CONTAINSNONE|containsnone)\\b|⊅", "name": "keyword.operator.containsnone.surrealql" }, { "match": "\\b(CONTAINSSOME|containssome)\\b", "name": "keyword.operator.containssome.surrealql" }, { "match": "\\b(CONTAINSNOT|containsnot)\\b|∌", "name": "keyword.operator.containsnot.surrealql" }, { "match": "\\b(CONTAINS|contains)\\b|∋", "name": "keyword.operator.contains.surrealql" }, { "match": "\\b(ALLINSIDE|allinside)\\b|⊆", "name": "keyword.operator.allinside.surrealql" }, { "match": "\\b(ANYINSIDE|anyinside)\\b|⊂", "name": "keyword.operator.anyinside.surrealql" }, { "match": "\\b(NONEINSIDE|noneinside)\\b|⊄", "name": "keyword.operator.noneinside.surrealql" }, { "match": "\\b(SOMEINSIDE|someinside)\\b", "name": "keyword.operator.someinside.surrealql" }, { "match": "\\b(NOTINSIDE|notinside|NOT IN|not in)\\b|∉", "name": "keyword.operator.notinside.surrealql" }, { "match": "\\b(INSIDE|inside)\\b|∈", "name": "keyword.operator.inside.surrealql" }, { "match": "\\b(OUTSIDE|outside)\\b", "name": "keyword.operator.outside.surrealql" }, { "match": "\\b(INTERSECTS|intersects)\\b", "name": "keyword.operator.intersects.surrealql" }, { "match": "==", "name": "keyword.operator.equal.surrealql" }, { "match": "\\*=", "name": "keyword.operator.all-equal.surrealql" }, { "match": "\\?=", "name": "keyword.operator.any-equal.surrealql" }, { "match": "!~", "name": "keyword.operator.fuzzy-inequal.surrealql" }, { "match": "\\*~", "name": "keyword.operator.fuzzy-all-equal.surrealql" }, { "match": "\\?~", "name": "keyword.operator.fuzzy-any-equal.surrealql" }, { "match": "~", "name": "keyword.operator.fuzzy-equal.surrealql" }, { "match": "<=", "name": "keyword.operator.less-or-equal.surrealql" }, { "match": "<(?!-|[a-z]+[^:])", "name": "keyword.operator.less.surrealql" }, { "match": ">=", "name": "keyword.operator.more-or-equal.surrealql" }, { "match": "(?<!-)>", "name": "keyword.operator.more.surrealql" }, { "match": "\\+", "name": "keyword.operator.add.surrealql" }, { "match": "-", "name": "keyword.operator.subtract.surrealql" }, { "match": "[*×∙]", "name": "keyword.operator.multiply.surrealql" }, { "match": "[/÷]", "name": "keyword.operator.devide.surrealql" }, { "captures": { "1": { "name": "constant.numeric.int" } }, "match": "@([0-9]+)?@", "name": "keyword.operator.matches.surrealql" }, { "match": "\\?:", "name": "keyword.operator.either.surrealql" }, { "match": "\\?\\?", "name": "keyword.operator.truthy.surrealql" }, { "match": "<\\|([,A-Za-z|\\d])+\\|>", "name": "keyword.operator.knn.surrealql" } ] }, "positional": { "match": "\\b(AFTER|after|BEFORE|before)\\b", "name": "constant.language.positional" }, "query": { "patterns": [ { "include": "$self" } ] }, "record": { "patterns": [ { "captures": { "1": { "name": "entity.name.class" }, "2": { "name": "entity.name.class" } }, "match": "\\b(\\w+)\\b:⟨([^⟩]+)⟩" }, { "captures": { "1": { "name": "entity.name.class" }, "2": { "name": "entity.name.class" } }, "match": "\\b(\\w+)\\b:`([^`]+)`" }, { "begin": "\\b(\\w+)\\b:(?=\\b([:\\w]+)\\b\\s*\\()", "beginCaptures": { "1": { "name": "entity.name.class" }, "2": { "name": "support.function" } }, "end": "(?<=\\))", "patterns": [ { "include": "#comment" }, { "begin": "\\(", "end": "\\)", "name": "meta.function.arguments", "patterns": [ { "include": "#value" } ] } ] }, { "captures": { "1": { "name": "entity.name.class" }, "2": { "name": "entity.name.class" } }, "match": "\\b(\\w+)\\b:\\b(\\w+)\\b" }, { "begin": "\\b(\\w+)\\b:\\[", "captures": { "1": { "name": "entity.name.class" } }, "end": "]", "patterns": [ { "include": "#array-content" } ] }, { "begin": "\\b(\\w+)\\b:(?=\\{)", "captures": { "1": { "name": "entity.name.class" } }, "end": "}", "patterns": [ { "include": "#block-content" } ] } ] }, "string": { "patterns": [ { "begin": "[a-z]?\"", "end": "(?<!\\\\)\"", "name": "string.quoted.double" }, { "begin": "[a-z]?'", "end": "(?<!\\\\)'", "name": "string.quoted.single" } ] }, "subquery": { "begin": "\\(", "end": "\\)", "patterns": [ { "include": "#query" }, { "include": "#value" } ] }, "type": { "captures": { "0": { "patterns": [ { "match": "[<>]", "name": "entity.name.type.surrealql" }, { "include": "#number" }, { "include": "#void-type" } ] } }, "match": "[a-z]*<[A-Za-z][ ,0-9<>A-Z_a-z|]+[0-9>A-Za-z]+>", "name": "test" }, "value": { "patterns": [ { "include": "#comment" }, { "include": "#js-function" }, { "include": "#function" }, { "include": "#block" }, { "include": "#array" }, { "include": "#var-name" }, { "include": "#boolean" }, { "include": "#string" }, { "include": "#ident" }, { "include": "#void-type" }, { "include": "#positional" }, { "include": "#number" }, { "include": "#duration" }, { "include": "#record" }, { "include": "#subquery" }, { "include": "#type" } ] }, "var-name": { "patterns": [ { "match": "\\$\\w+", "name": "variable.name" }, { "match": "\\$`\\w+`", "name": "variable.name" }, { "match": "\\$⟨\\w+⟩", "name": "variable.name" } ] }, "void-type": { "match": "\\b(null|NULL|none|NONE)\\b", "name": "constant.language.void" } }, "scopeName": "source.surrealql" }