|
@@ -0,0 +1,87 @@
|
|
|
|
|
+{
|
|
|
|
|
+ "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": ":=|<=|>=|<>|=|<|>|\\+|-|\\*|/|\\.\\.|@|\\^"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|