| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- {
- "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
- "name": "semir",
- "scopeName": "source.carbon-semir",
- "fileTypes": ["semir"],
- "patterns": [
- {
- "include": "#keywords"
- },
- {
- "include": "#identifiers"
- },
- {
- "include": "#strings"
- },
- {
- "include": "#numbers"
- },
- {
- "include": "#labels"
- },
- {
- "include": "#punctuation"
- }
- ],
- "repository": {
- "keywords": {
- "patterns": [
- {
- "name": "storage.type.semir",
- "match": "\\b(var|ref|init|out|type|val)\\b"
- },
- {
- "name": "storage.modifier.semir",
- "match": "\\b(concrete)\\b"
- },
- {
- "name": "support.function.semir",
- "match": "\\b[a-z_][a-z0-9_]+\\b"
- }
- ]
- },
- "identifiers": {
- "patterns": [
- {
- "name": "entity.name.variable.semir",
- "match": "(?:[a-zA-Z0-9_]+\\.)?%[a-zA-Z0-9_.]+"
- },
- {
- "name": "entity.name.function.semir",
- "match": "@[a-zA-Z0-9_.]+"
- }
- ]
- },
- "labels": {
- "patterns": [
- {
- "name": "entity.name.label.semir",
- "match": "![a-zA-Z0-9_]+:"
- }
- ]
- },
- "strings": {
- "patterns": [
- {
- "name": "string.quoted.double.semir",
- "begin": "\"",
- "end": "\"",
- "patterns": [
- {
- "name": "constant.character.escape.semir",
- "match": "\\\\."
- }
- ]
- }
- ]
- },
- "numbers": {
- "patterns": [
- {
- "name": "constant.numeric.semir",
- "match": "\\b\\d+(\\.\\d+)?\\b"
- }
- ]
- },
- "punctuation": {
- "patterns": [
- {
- "name": "keyword.operator.semir",
- "match": "(=>|->|=|:)"
- }
- ]
- }
- }
- }
|