PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.13.0
Code Block Pro – Beautiful Syntax Highlighting v1.13.0
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / pascal.tmLanguage.json

pascal.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.13.0, at build/shiki/languages/pascal.tmLanguage.json

146 lines 4.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "fileTypes": ["pas", "p", "pp", "dfm", "fmx", "dpr", "dpk", "lfm", "lpr"],
3 "keyEquivalent": "^~P",
4 "name": "pascal",
5 "patterns": [
6 {
7 "match": "\\b(?i:(absolute|abstract|all|and_then|array|as|asm|attribute|begin|bindable|case|class|const|contains|default|div|else|end|except|export|exports|external|far|file|finalization|finally|forward|generic|goto|if|implements|import|in|index|inherited|initialization|interrupt|is|label|library|mod|module|name|near|not|object|of|on|only|operator|or_else|otherwise|out|override|package|packed|pow|private|program|protected|public|published|interface|implementation|qualified|read|record|resident|requires|resourcestring|restricted|segment|set|shl|shr|specialize|stored|strict|then|threadvar|to|try|type|unit|uses|var|view|virtual|dynamic|overload|reintroduce|with|write|xor))\\b",
8 "name": "keyword.pascal"
9 },
10 {
11 "captures": {
12 "1": {
13 "name": "storage.type.prototype.pascal"
14 },
15 "2": {
16 "name": "entity.name.function.prototype.pascal"
17 }
18 },
19 "match": "\\b(?i:(function|procedure|constructor|destructor))\\b\\s+(\\w+(\\.\\w+)?)(\\(.*?\\))?;\\s*(?=(?i:attribute|forward|external))",
20 "name": "meta.function.prototype.pascal"
21 },
22 {
23 "captures": {
24 "1": {
25 "name": "storage.type.function.pascal"
26 },
27 "2": {
28 "name": "entity.name.function.pascal"
29 }
30 },
31 "match": "\\b(?i:(function|procedure|constructor|destructor|property|read|write))\\b\\s+(\\w+(\\.\\w+)?)",
32 "name": "meta.function.pascal"
33 },
34 {
35 "match": "\\b(?i:(self|result))\\b",
36 "name": "token.variable"
37 },
38 {
39 "match": "\\b(?i:(and|or))\\b",
40 "name": "keyword.operator.pascal"
41 },
42 {
43 "match": "\\b(?i:(break|continue|exit|abort|while|do|downto|for|raise|repeat|until))\\b",
44 "name": "keyword.control.pascal"
45 },
46 {
47 "begin": "\\{\\$",
48 "captures": {
49 "0": {
50 "name": "string.regexp"
51 }
52 },
53 "end": "\\}",
54 "name": "string.regexp"
55 },
56 {
57 "match": "\\b(?i:(ansichar|ansistring|boolean|byte|cardinal|char|comp|currency|double|dword|extended|file|integer|int64|longint|longword|nativeint|nativeuint|olevariant|pansichar|pchar|pwidechar|pointer|real|shortint|shortstring|single|smallint|string|uint64|variant|widechar|widestring|word|wordbool))\\b",
58 "name": "storage.support.type.pascal"
59 },
60 {
61 "match": "\\b(\\d+)|(\\d*\\.\\d+([eE][\\-+]?\\d+)?)\\b",
62 "name": "constant.numeric.pascal"
63 },
64 {
65 "match": "\\$[0-9a-fA-F]{1,16}\\b",
66 "name": "constant.numeric.hex.pascal"
67 },
68 {
69 "match": "\\b(?i:(true|false|nil))\\b",
70 "name": "constant.language.pascal"
71 },
72 {
73 "match": "\\b(?i:(Assert))\\b",
74 "name": "keyword.control"
75 },
76 {
77 "begin": "(^[ \\t]+)?(?=//)",
78 "beginCaptures": {
79 "1": {
80 "name": "punctuation.whitespace.comment.leading.pascal"
81 }
82 },
83 "end": "(?!\\G)",
84 "patterns": [
85 {
86 "begin": "//",
87 "beginCaptures": {
88 "0": {
89 "name": "punctuation.definition.comment.pascal"
90 }
91 },
92 "end": "\\n",
93 "name": "comment.line.double-slash.pascal.two"
94 }
95 ]
96 },
97 {
98 "begin": "\\(\\*",
99 "captures": {
100 "0": {
101 "name": "punctuation.definition.comment.pascal"
102 }
103 },
104 "end": "\\*\\)",
105 "name": "comment.block.pascal.one"
106 },
107 {
108 "begin": "\\{(?!\\$)",
109 "captures": {
110 "0": {
111 "name": "punctuation.definition.comment.pascal"
112 }
113 },
114 "end": "\\}",
115 "name": "comment.block.pascal.two"
116 },
117 {
118 "begin": "'",
119 "beginCaptures": {
120 "0": {
121 "name": "punctuation.definition.string.begin.pascal"
122 }
123 },
124 "end": "'",
125 "endCaptures": {
126 "0": {
127 "name": "punctuation.definition.string.end.pascal"
128 }
129 },
130 "name": "string.quoted.single.pascal",
131 "patterns": [
132 {
133 "match": "''",
134 "name": "constant.character.escape.apostrophe.pascal"
135 }
136 ]
137 },
138 {
139 "match": "\\#\\d+",
140 "name": "string.other.pascal"
141 }
142 ],
143 "scopeName": "source.pascal",
144 "uuid": "F42FA544-6B1C-11D9-9517-000D93589AF6"
145 }
146