| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- {
- "name": "Oberon",
- "scopeName": "source.oberon",
- "patterns": [
- {
- "include": "#comments"
- },
- {
- "include": "#strings"
- },
- {
- "include": "#numbers"
- },
- {
- "include": "#keywords"
- },
- {
- "include": "#types"
- },
- {
- "include": "#operators"
- }
- ],
- "repository": {
- "comments": {
- "patterns": [
- {
- "name": "comment.block.oberon",
- "begin": "\\(\\*",
- "end": "\\*\\)",
- "patterns": [
- {
- "include": "#comments"
- }
- ]
- }
- ]
- },
- "strings": {
- "patterns": [
- {
- "name": "string.quoted.double.oberon",
- "begin": "\"",
- "end": "\""
- },
- {
- "name": "string.quoted.single.oberon",
- "begin": "'",
- "end": "'",
- "patterns": [
- {
- "name": "constant.character.escape.oberon",
- "match": "''"
- }
- ]
- }
- ]
- },
- "numbers": {
- "patterns": [
- {
- "name": "constant.numeric.oberon",
- "match": "\\b(?:[0-9A-Fa-f]+H|[0-9A-Fa-f]+X|\\d+\\.\\d+(?:[ED][+-]?\\d+)?|\\d+)(?!\\w)"
- }
- ]
- },
- "keywords": {
- "patterns": [
- {
- "name": "keyword.control.oberon",
- "match": "(?i)\\b(?:AND|ARRAY|BEGIN|BY|CASE|CONST|DEFINITION|DIV|DO|ELSE|ELSIF|END|EXIT|FOR|IF|IMPORT|IN|IS|LOOP|MOD|MODULE|NIL|NOT|OF|OR|POINTER|PROCEDURE|RECORD|REPEAT|RETURN|THEN|TO|TYPE|UNTIL|VAR|WHILE|WITH)\\b"
- }
- ]
- },
- "types": {
- "patterns": [
- {
- "name": "storage.type.oberon",
- "match": "(?i)\\b(?:INTEGER|SHORTINT|LONGINT|REAL|LONGREAL|CHAR|BOOLEAN|SET)\\b"
- }
- ]
- },
- "operators": {
- "patterns": [
- {
- "name": "keyword.operator.oberon",
- "match": ":=|<=|>=|<>|=|<|>|#|\\+|-|\\*|/|\\.\\.|&|~|\\^"
- }
- ]
- }
- }
- }
|