| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- {
- "name": "Pascal",
- "scopeName": "source.pascal",
- "patterns": [
- {
- "include": "#comments"
- },
- {
- "include": "#strings"
- },
- {
- "include": "#numbers"
- },
- {
- "include": "#keywords"
- },
- {
- "include": "#types"
- },
- {
- "include": "#operators"
- }
- ],
- "repository": {
- "comments": {
- "patterns": [
- {
- "name": "comment.block.pascal",
- "begin": "\\(\\*",
- "end": "\\*\\)"
- },
- {
- "name": "comment.block.pascal",
- "begin": "\\{",
- "end": "\\}"
- }
- ]
- },
- "strings": {
- "patterns": [
- {
- "name": "string.quoted.single.pascal",
- "begin": "'",
- "end": "'",
- "patterns": [
- {
- "name": "constant.character.escape.pascal",
- "match": "''"
- }
- ]
- }
- ]
- },
- "numbers": {
- "patterns": [
- {
- "name": "constant.numeric.pascal",
- "match": "(?<!\\w)(?:\\$[0-9A-Fa-f]+|&[0-7]+|%[01]+|\\d+\\.\\d+(?:[Ee][+-]?\\d+)?|\\d+)(?!\\w)"
- }
- ]
- },
- "keywords": {
- "patterns": [
- {
- "name": "keyword.control.pascal",
- "match": "(?i)\\b(?:AND|ARRAY|BEGIN|CASE|CONST|DIV|DO|DOWNTO|ELSE|END|FILE|FOR|FORWARD|FUNCTION|GOTO|IF|IN|LABEL|MOD|NIL|NOT|OF|OR|PACKED|PROCEDURE|PROGRAM|RECORD|REPEAT|SET|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\\b"
- }
- ]
- },
- "types": {
- "patterns": [
- {
- "name": "storage.type.pascal",
- "match": "(?i)\\b(?:INTEGER|SHORTINT|LONGINT|CARDINAL|REAL|CHAR|BOOLEAN|STRING|TEXT)\\b"
- }
- ]
- },
- "operators": {
- "patterns": [
- {
- "name": "keyword.operator.pascal",
- "match": ":=|<=|>=|<>|=|<|>|\\+|-|\\*|/|\\.\\.|@|\\^"
- }
- ]
- }
- }
- }
|