kjelsrud.dev/node_modules/shiki/languages/rel.tmLanguage.json
2023-07-19 21:31:30 +02:00

200 lines
5.1 KiB
JSON

{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "rel",
"patterns": [
{
"include": "#strings"
},
{
"include": "#comment"
},
{
"include": "#single-line-comment-consuming-line-ending"
},
{
"include": "#deprecated-temporary"
},
{
"include": "#operators"
},
{
"include": "#symbols"
},
{
"include": "#keywords"
},
{
"include": "#otherkeywords"
},
{
"include": "#types"
},
{
"include": "#constants"
}
],
"repository": {
"strings": {
"name": "string.quoted.double.rel",
"begin": "\"",
"end": "\"",
"patterns": [
{
"name": "constant.character.escape.rel",
"match": "\\\\."
}
]
},
"comment": {
"patterns": [
{
"name": "comment.block.documentation.rel",
"begin": "/\\*\\*(?!/)",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.rel"
}
},
"end": "\\*/",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.rel"
}
},
"patterns": [
{
"include": "#docblock"
}
]
},
{
"name": "comment.block.rel",
"begin": "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?",
"beginCaptures": {
"1": {
"name": "punctuation.definition.comment.rel"
},
"2": {
"name": "storage.type.internaldeclaration.rel"
},
"3": {
"name": "punctuation.decorator.internaldeclaration.rel"
}
},
"end": "\\*/",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.rel"
}
}
},
{
"name": "comment.block.documentation.rel",
"begin": "doc\"\"\"",
"end": "\"\"\""
},
{
"begin": "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.rel"
},
"2": {
"name": "comment.line.double-slash.rel"
},
"3": {
"name": "punctuation.definition.comment.rel"
},
"4": {
"name": "storage.type.internaldeclaration.rel"
},
"5": {
"name": "punctuation.decorator.internaldeclaration.rel"
}
},
"end": "(?=$)",
"contentName": "comment.line.double-slash.rel"
}
]
},
"single-line-comment-consuming-line-ending": {
"begin": "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.rel"
},
"2": {
"name": "comment.line.double-slash.rel"
},
"3": {
"name": "punctuation.definition.comment.rel"
},
"4": {
"name": "storage.type.internaldeclaration.rel"
},
"5": {
"name": "punctuation.decorator.internaldeclaration.rel"
}
},
"end": "(?=^)",
"contentName": "comment.line.double-slash.rel"
},
"deprecated-temporary": {
"patterns": [
{
"name": "keyword.other.rel",
"match": "@inspect"
}
]
},
"operators": {
"patterns": [
{
"name": "keyword.other.rel",
"match": "(\\b(if|then|else|and|or|not|eq|neq|lt|lt_eq|gt|gt_eq)\\b)|(\\+|\\-|\\*|\\/|÷|\\^|\\%|\\=|\\!\\=|≠|\\<|\\<\\=|≤|\\>|\\>\\=|≥|\\&)|\\s+(end)"
}
]
},
"symbols": {
"patterns": [
{
"name": "variable.parameter.rel",
"match": "(:[\\[_$[:alpha:]](\\]|[_$[:alnum:]]*))"
}
]
},
"keywords": {
"patterns": [
{
"name": "keyword.control.rel",
"match": "(\\b(def|entity|bound|include|ic|forall|exists|∀|∃|return|module|^end)\\b)|(((\\<)?\\|(\\>)?)|∀|∃)"
}
]
},
"otherkeywords": {
"patterns": [
{
"name": "keyword.other.rel",
"match": "\\s*(@inline)\\s*|\\s*(@auto_number)\\s*|\\s*(function)\\s|(\\b(implies|select|from|∈|where|for|in)\\b)|(((\\<)?\\|(\\>)?)|∈)"
}
]
},
"types": {
"patterns": [
{
"name": "entity.name.type.rel",
"match": "(\\b(Symbol|Char|Bool|Rational|FixedDecimal|Float16|Float32|Float64|Int8|Int16|Int32|Int64|Int128|UInt8|UInt16|UInt32|UInt64|UInt128|Date|DateTime|Day|Week|Month|Year|Nanosecond|Microsecond|Millisecond|Second|Minute|Hour|FilePos|HashValue|AutoNumberValue)\\b)"
}
]
},
"constants": {
"patterns": [
{
"name": "constant.language.rel",
"match": "(\\b(true|false)\\b)"
}
]
}
},
"scopeName": "source.rel"
}