| 1234567891011121314151617181920212223242526272829303132 |
- {
- "name": "Modula-2",
- "scopeName": "source.modula2",
- "patterns": [
- {"include": "#comments"}, {"include": "#strings"},
- {"include": "#numbers"}, {"include": "#keywords"},
- {"include": "#types"}, {"include": "#operators"}
- ],
- "repository": {
- "comments": {"patterns": [
- {"name": "comment.block.modula2", "begin": "\\(\\*", "end": "\\*\\)"}
- ]},
- "strings": {"patterns": [
- {"name": "string.quoted.double.modula2", "begin": "\"", "end": "\"",
- "patterns": [{"name": "constant.character.escape.modula2", "match": "\\\\."}]}
- ]},
- "numbers": {"patterns": [
- {"name": "constant.numeric.modula2", "match": "\\b(?:[0-9]+|[0-9A-Fa-f]+H)\\b"}
- ]},
- "keywords": {"patterns": [
- {"name": "keyword.control.modula2",
- "match": "\\b(?:AND|ARRAY|BEGIN|BY|CASE|CONST|DEFINITION|DIV|DO|ELSE|ELSIF|END|EXIT|EXPORT|FOR|FROM|IF|IMPLEMENTATION|IMPORT|IN|LOOP|MOD|MODULE|NOT|OF|OR|POINTER|PROCEDURE|QUALIFIED|RECORD|REPEAT|RETURN|SET|THEN|TO|TYPE|UNTIL|VAR|WHILE|WITH)\\b"}
- ]},
- "types": {"patterns": [
- {"name": "storage.type.modula2",
- "match": "\\b(?:INTEGER|CARDINAL|REAL|LONGREAL|CHAR|BOOLEAN|BITSET|ADDRESS)\\b"}
- ]},
- "operators": {"patterns": [
- {"name": "keyword.operator.modula2", "match": ":=|<=|>=|<>|=|<|>|\\+|-|\\*|/|\\.\\."}
- ]}
- }
- }
|