| 1 |
{ |
| 2 |
"_copyright": "The MIT License (MIT)\nCopyright (c) 2015-2023 spgennard\nSource: https://github.com/spgennard/vscode_cobol/blob/main/syntaxes/COBOL.tmLanguage.json", |
| 3 |
"$schema": "https://raw.githubusercontent.com/spgennard/vscode_cobol/main/schemas/tmlanguage.json", |
| 4 |
"fileTypes": [ |
| 5 |
"ccp", |
| 6 |
"scbl", |
| 7 |
"cobol", |
| 8 |
"cbl", |
| 9 |
"cblle", |
| 10 |
"cblsrce", |
| 11 |
"cblcpy", |
| 12 |
"lks", |
| 13 |
"pdv", |
| 14 |
"cpy", |
| 15 |
"copybook", |
| 16 |
"cobcopy", |
| 17 |
"fd", |
| 18 |
"sel", |
| 19 |
"scb", |
| 20 |
"scbl", |
| 21 |
"sqlcblle", |
| 22 |
"cob", |
| 23 |
"dds", |
| 24 |
"def", |
| 25 |
"src", |
| 26 |
"ss", |
| 27 |
"wks", |
| 28 |
"bib", |
| 29 |
"pco" |
| 30 |
], |
| 31 |
"name": "cobol", |
| 32 |
"patterns": [ |
| 33 |
{ |
| 34 |
"match": "(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])([dD]\\s.*$)", |
| 35 |
"name": "token.info-token.cobol" |
| 36 |
}, |
| 37 |
{ |
| 38 |
"match": "(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\/.*$)", |
| 39 |
"captures": { |
| 40 |
"1": { |
| 41 |
"name": "constant.numeric.cobol" |
| 42 |
}, |
| 43 |
"2": { |
| 44 |
"name": "comment.line.cobol.newpage" |
| 45 |
} |
| 46 |
} |
| 47 |
}, |
| 48 |
{ |
| 49 |
"match": "(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\*.*$)", |
| 50 |
"captures": { |
| 51 |
"1": { |
| 52 |
"name": "constant.numeric.cobol" |
| 53 |
}, |
| 54 |
"2": { |
| 55 |
"name": "comment.line.cobol.fixed" |
| 56 |
} |
| 57 |
} |
| 58 |
}, |
| 59 |
{ |
| 60 |
"match": "(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\/.*$)", |
| 61 |
"captures": { |
| 62 |
"1": { |
| 63 |
"name": "constant.numeric.cobol" |
| 64 |
}, |
| 65 |
"2": { |
| 66 |
"name": "comment.line.cobol.newpage" |
| 67 |
} |
| 68 |
} |
| 69 |
}, |
| 70 |
{ |
| 71 |
"match": "^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s]$", |
| 72 |
"name": "constant.numeric.cobol" |
| 73 |
}, |
| 74 |
{ |
| 75 |
"match": "(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\*.*$)", |
| 76 |
"captures": { |
| 77 |
"1": { |
| 78 |
"name": "constant.numeric.cobol" |
| 79 |
}, |
| 80 |
"2": { |
| 81 |
"name": "comment.line.cobol.fixed" |
| 82 |
} |
| 83 |
} |
| 84 |
}, |
| 85 |
{ |
| 86 |
"match": "(^[0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ])(\\*.*$)", |
| 87 |
"captures": { |
| 88 |
"1": { |
| 89 |
"name": "constant.cobol" |
| 90 |
}, |
| 91 |
"2": { |
| 92 |
"name": "comment.line.cobol.fixed" |
| 93 |
} |
| 94 |
} |
| 95 |
}, |
| 96 |
{ |
| 97 |
"match": "^\\s+(78)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)", |
| 98 |
"captures": { |
| 99 |
"1": { |
| 100 |
"name": "constant.numeric.cobol" |
| 101 |
}, |
| 102 |
"2": { |
| 103 |
"name": "variable.other.constant" |
| 104 |
} |
| 105 |
} |
| 106 |
}, |
| 107 |
{ |
| 108 |
"match": "^\\s+([0-9]+)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)\\s+((?i:constant))", |
| 109 |
"captures": { |
| 110 |
"1": { |
| 111 |
"name": "constant.numeric.cobol" |
| 112 |
}, |
| 113 |
"2": { |
| 114 |
"name": "variable.other.constant" |
| 115 |
}, |
| 116 |
"3": { |
| 117 |
"name": "keyword.identifers.cobol" |
| 118 |
} |
| 119 |
} |
| 120 |
}, |
| 121 |
{ |
| 122 |
"match": "(^[0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@])(\\/.*$)", |
| 123 |
"captures": { |
| 124 |
"1": { |
| 125 |
"name": "constant.cobol" |
| 126 |
}, |
| 127 |
"2": { |
| 128 |
"name": "comment.line.cobol.newpage" |
| 129 |
} |
| 130 |
} |
| 131 |
}, |
| 132 |
{ |
| 133 |
"match": "^\\*.*$", |
| 134 |
"name": "comment.line.cobol.fixed" |
| 135 |
}, |
| 136 |
{ |
| 137 |
"match": "((?:^|\\s+)(?i:\\$set)\\s+)((?i:constant)\\s+)([0-9a-zA-Z][a-zA-Z\\-0-9]+\\s*)([a-zA-Z\\-0-9]*)", |
| 138 |
"captures": { |
| 139 |
"1": { |
| 140 |
"name": "keyword.control.directive.conditional.cobol" |
| 141 |
}, |
| 142 |
"2": { |
| 143 |
"name": "entity.name.function.preprocessor.cobol" |
| 144 |
}, |
| 145 |
"3": { |
| 146 |
"name": "entity.name.function.cobol" |
| 147 |
}, |
| 148 |
"4": { |
| 149 |
"name": "keyword.control.directive.conditional.cobol" |
| 150 |
} |
| 151 |
} |
| 152 |
}, |
| 153 |
{ |
| 154 |
"match": "((?i:\\$\\s*set\\s+)(ilusing)(\\()(.*)(\\)))", |
| 155 |
"captures": { |
| 156 |
"1": { |
| 157 |
"name": "entity.name.function.preprocessor.cobol" |
| 158 |
}, |
| 159 |
"2": { |
| 160 |
"name": "storage.modifier.import.cobol" |
| 161 |
}, |
| 162 |
"3": { |
| 163 |
"name": "punctuation.begin.bracket.round.cobol" |
| 164 |
}, |
| 165 |
"4": { |
| 166 |
"name": "string.quoted.other.cobol" |
| 167 |
}, |
| 168 |
"5": { |
| 169 |
"name": "punctuation.end.bracket.round.cobol" |
| 170 |
} |
| 171 |
} |
| 172 |
}, |
| 173 |
{ |
| 174 |
"match": "((?i:\\$\\s*set\\s+)(ilusing)(\")(.*)(\"))", |
| 175 |
"captures": { |
| 176 |
"1": { |
| 177 |
"name": "entity.name.function.preprocessor.cobol" |
| 178 |
}, |
| 179 |
"2": { |
| 180 |
"name": "storage.modifier.import.cobol" |
| 181 |
}, |
| 182 |
"3": { |
| 183 |
"name": "punctuation.definition.string.begin.cobol" |
| 184 |
}, |
| 185 |
"4": { |
| 186 |
"name": "string.quoted.other.cobol" |
| 187 |
}, |
| 188 |
"5": { |
| 189 |
"name": "punctuation.definition.string.begin.cobol" |
| 190 |
} |
| 191 |
} |
| 192 |
}, |
| 193 |
{ |
| 194 |
"match": "((?i:\\$set))\\s+(\\w+)\\s*(\")(\\w*)(\")", |
| 195 |
"captures": { |
| 196 |
"1": { |
| 197 |
"name": "keyword.control.directive.conditional.cobol" |
| 198 |
}, |
| 199 |
"2": { |
| 200 |
"name": "entity.name.function.preprocessor.cobol" |
| 201 |
}, |
| 202 |
"3": { |
| 203 |
"name": "punctuation.definition.string.begin.cobol" |
| 204 |
}, |
| 205 |
"4": { |
| 206 |
"name": "string.quoted.other.cobol" |
| 207 |
}, |
| 208 |
"5": { |
| 209 |
"name": "punctuation.definition.string.begin.cobol" |
| 210 |
} |
| 211 |
} |
| 212 |
}, |
| 213 |
{ |
| 214 |
"match": "((?i:\\$set))\\s+(\\w+)\\s*(\\()(.*)(\\))", |
| 215 |
"captures": { |
| 216 |
"1": { |
| 217 |
"name": "keyword.control.directive.conditional.cobol" |
| 218 |
}, |
| 219 |
"2": { |
| 220 |
"name": "entity.name.function.preprocessor.cobol" |
| 221 |
}, |
| 222 |
"3": { |
| 223 |
"name": "punctuation.begin.bracket.round.cobol" |
| 224 |
}, |
| 225 |
"4": { |
| 226 |
"name": "string.quoted.other.cobol" |
| 227 |
}, |
| 228 |
"5": { |
| 229 |
"name": "punctuation.end.bracket.round.cobol" |
| 230 |
} |
| 231 |
} |
| 232 |
}, |
| 233 |
{ |
| 234 |
"match": "(?:^|\\s+)(?i:\\$\\s*set\\s)((?i:01SHUFFLE|64KPARA|64KSECT|AUXOPT|CHIP|DATALIT|EANIM|EXPANDDATA|FIXING|FLAG-CHIP|MASM|MODEL|OPTSIZE|OPTSPEED|PARAS|PROTMODE|REGPARM|SEGCROSS|SEGSIZE|SIGNCOMPARE|SMALLDD|TABLESEGCROSS|TRICKLECHECK|\\s)+).*$", |
| 235 |
"captures": { |
| 236 |
"0": { |
| 237 |
"name": "keyword.control.directive.conditional.cobol" |
| 238 |
}, |
| 239 |
"1": { |
| 240 |
"name": "invalid.illegal.directive" |
| 241 |
}, |
| 242 |
"2": { |
| 243 |
"name": "comment.line.set.cobol" |
| 244 |
} |
| 245 |
} |
| 246 |
}, |
| 247 |
{ |
| 248 |
"match": "(\\$region|\\$end-region)(.*$)", |
| 249 |
"captures": { |
| 250 |
"1": { |
| 251 |
"name": "keyword.control.directive.cobol" |
| 252 |
}, |
| 253 |
"2": { |
| 254 |
"name": "entity.other.attribute-name.preprocessor.cobol" |
| 255 |
} |
| 256 |
} |
| 257 |
}, |
| 258 |
{ |
| 259 |
"begin": "\\$(?i:doc)(.*$)", |
| 260 |
"end": "\\$(?i:end-doc)(.*$)", |
| 261 |
"name": "invalid.illegal.iscobol" |
| 262 |
}, |
| 263 |
{ |
| 264 |
"match": ">>\\s*(?i:turn|page|listing|leap-seconds|d)\\s+.*$", |
| 265 |
"name": "invalid.illegal.meta.preprocessor.cobolit" |
| 266 |
}, |
| 267 |
{ |
| 268 |
"match": "((((>>|\\$)[\\s]*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*$))", |
| 269 |
"captures": { |
| 270 |
"1": { |
| 271 |
"name": "keyword.control.directive.conditional.cobol" |
| 272 |
}, |
| 273 |
"2": { |
| 274 |
"name": "entity.name.function.preprocessor.cobol" |
| 275 |
}, |
| 276 |
"3": { |
| 277 |
"name": "entity.name.function.preprocessor.cobol" |
| 278 |
} |
| 279 |
} |
| 280 |
}, |
| 281 |
{ |
| 282 |
"match": "(\\*>)\\s+(@[0-9a-zA-Z][a-zA-Z\\-0-9]+)\\s+(.*$)", |
| 283 |
"captures": { |
| 284 |
"1": { |
| 285 |
"name": "comment.line.scantoken.cobol" |
| 286 |
}, |
| 287 |
"2": { |
| 288 |
"name": "keyword.cobol" |
| 289 |
}, |
| 290 |
"3": { |
| 291 |
"name": "string.cobol" |
| 292 |
} |
| 293 |
} |
| 294 |
}, |
| 295 |
{ |
| 296 |
"match": "(\\*>.*$)", |
| 297 |
"name": "comment.line.modern" |
| 298 |
}, |
| 299 |
{ |
| 300 |
"match": "(>>.*)$", |
| 301 |
"name": "strong comment.line.set.acucobol" |
| 302 |
}, |
| 303 |
{ |
| 304 |
"match": "([nNuU][xX]|[hHxX])'\\h*'", |
| 305 |
"name": "constant.numeric.integer.hexadecimal.cobol" |
| 306 |
}, |
| 307 |
{ |
| 308 |
"match": "([nNuU][xX]|[hHxX])'.*'", |
| 309 |
"name": "invalid.illegal.hexadecimal.cobol" |
| 310 |
}, |
| 311 |
{ |
| 312 |
"match": "([nNuU][xX]|[hHxX])\"\\h*\"", |
| 313 |
"name": "constant.numeric.integer.hexadecimal.cobol" |
| 314 |
}, |
| 315 |
{ |
| 316 |
"match": "([nNuU][xX]|[hHxX])\".*\"", |
| 317 |
"name": "invalid.illegal.hexadecimal.cobol" |
| 318 |
}, |
| 319 |
{ |
| 320 |
"match": "[bB]\"[0-1]\"", |
| 321 |
"name": "constant.numeric.integer.boolean.cobol" |
| 322 |
}, |
| 323 |
{ |
| 324 |
"match": "[bB]'[0-1]'", |
| 325 |
"name": "constant.numeric.integer.boolean.cobol" |
| 326 |
}, |
| 327 |
{ |
| 328 |
"match": "[oO]\"[0-7]*\"", |
| 329 |
"name": "constant.numeric.integer.octal.cobol" |
| 330 |
}, |
| 331 |
{ |
| 332 |
"match": "[oO]\".*\"", |
| 333 |
"name": "invalid.illegal.octal.cobol" |
| 334 |
}, |
| 335 |
{ |
| 336 |
"match": "(#)([0-9a-zA-Z][a-zA-Z\\-0-9]+)", |
| 337 |
"name": "meta.symbol.cobol.forced" |
| 338 |
}, |
| 339 |
{ |
| 340 |
"begin": "((?<![-_a-zA-Z0-9()-])(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(\\.|$))", |
| 341 |
"beginCaptures": { |
| 342 |
"0": { |
| 343 |
"name": "keyword.identifiers.cobol" |
| 344 |
} |
| 345 |
}, |
| 346 |
"patterns": [ |
| 347 |
{ |
| 348 |
"match": "(^[0-9 ][0-9 ][0-9 ][0-9 ][0-9 ][0-9 ])", |
| 349 |
"name": "constant.numeric.cobol" |
| 350 |
}, |
| 351 |
{ |
| 352 |
"match": "(?i:with|debugging|mode)", |
| 353 |
"name": "keyword.identifiers.cobol" |
| 354 |
} |
| 355 |
], |
| 356 |
"name": "comment.block.cobol.remark", |
| 357 |
"end": "(?=((?<![-_])(?i:remarks|author|date-written|source-computer|object-computer|installation|date-compiled|special-names|security|environment\\s+division|data\\s+division|working-storage\\s+section|input-output\\s+section|linkage\\s+section|procedure\\s+division|local-storage\\s+section)|^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*]\\*.*$|^\\+$))" |
| 358 |
}, |
| 359 |
{ |
| 360 |
"match": "(?<=(\\(|\\[))((\\-\\+)*\\s*[0-9 ,\\.\\+\\-\\*\\/]+)(?=(\\)|\\]))", |
| 361 |
"name": "constant.numeric.cobol", |
| 362 |
"captures": { |
| 363 |
"1": { |
| 364 |
"name": "keyword.start.bracket.cobol" |
| 365 |
}, |
| 366 |
"2": { |
| 367 |
"name": "constant.numeric.cobol" |
| 368 |
}, |
| 369 |
"3": { |
| 370 |
"name": "keyword.end.bracket.cobol" |
| 371 |
} |
| 372 |
}, |
| 373 |
"comment": "simple numerics in () and []" |
| 374 |
}, |
| 375 |
{ |
| 376 |
"include": "#number-complex-constant" |
| 377 |
}, |
| 378 |
{ |
| 379 |
"include": "#number-simple-constant" |
| 380 |
}, |
| 381 |
{ |
| 382 |
"match": "(?<![-_])(?i:true|false|null|nulls)(?![0-9A-Za-z_-])", |
| 383 |
"name": "constant.language.cobol" |
| 384 |
}, |
| 385 |
{ |
| 386 |
"match": "(?<![-_])(?i:zeroes|alphabetic-lower|alphabetic-upper|alphanumeric-edited|alphabetic|alphabet|alphanumeric|zeros|zeros|zero|spaces|space|quotes|quote|low-values|low-value|high-values|high-value)(?=\\s+|\\.|,|\\))", |
| 387 |
"name": "constant.language.figurative.cobol" |
| 388 |
}, |
| 389 |
{ |
| 390 |
"begin": "(?i:exec\\s+sqlims|exec\\s+sql)", |
| 391 |
"name": "keyword.verb.cobol", |
| 392 |
"contentName": "meta.embedded.block.sql", |
| 393 |
"patterns": [ |
| 394 |
{ |
| 395 |
"match": "(^\\s*\\*.*)$", |
| 396 |
"name": "comment.line.sql" |
| 397 |
}, |
| 398 |
{ |
| 399 |
"match": "(\\:([0-9a-zA-Z\\-_])*)", |
| 400 |
"name": "variable.cobol" |
| 401 |
}, |
| 402 |
{ |
| 403 |
"include": "source.sql" |
| 404 |
} |
| 405 |
], |
| 406 |
"end": "(?i:end\\-exec)" |
| 407 |
}, |
| 408 |
{ |
| 409 |
"begin": "(?i:exec\\s+cics)", |
| 410 |
"name": "keyword.verb.cobol", |
| 411 |
"contentName": "meta.embedded.block.cics", |
| 412 |
"patterns": [ |
| 413 |
{ |
| 414 |
"match": "(\\()", |
| 415 |
"name": "meta.symbol.cobol" |
| 416 |
}, |
| 417 |
{ |
| 418 |
"include": "#cics-keywords" |
| 419 |
}, |
| 420 |
{ |
| 421 |
"include": "#string-double-quoted-constant" |
| 422 |
}, |
| 423 |
{ |
| 424 |
"include": "#string-quoted-constant" |
| 425 |
}, |
| 426 |
{ |
| 427 |
"include": "#number-complex-constant" |
| 428 |
}, |
| 429 |
{ |
| 430 |
"include": "#number-simple-constant" |
| 431 |
}, |
| 432 |
{ |
| 433 |
"match": "([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))", |
| 434 |
"name": "variable.cobol" |
| 435 |
} |
| 436 |
], |
| 437 |
"end": "(?i:end\\-exec)" |
| 438 |
}, |
| 439 |
{ |
| 440 |
"begin": "(?i:exec\\s+dli)", |
| 441 |
"name": "keyword.verb.cobol", |
| 442 |
"contentName": "meta.embedded.block.dli", |
| 443 |
"patterns": [ |
| 444 |
{ |
| 445 |
"match": "(\\()", |
| 446 |
"name": "meta.symbol.cobol" |
| 447 |
}, |
| 448 |
{ |
| 449 |
"include": "#dli-keywords" |
| 450 |
}, |
| 451 |
{ |
| 452 |
"include": "#string-double-quoted-constant" |
| 453 |
}, |
| 454 |
{ |
| 455 |
"include": "#string-quoted-constant" |
| 456 |
}, |
| 457 |
{ |
| 458 |
"include": "#number-complex-constant" |
| 459 |
}, |
| 460 |
{ |
| 461 |
"include": "#number-simple-constant" |
| 462 |
}, |
| 463 |
{ |
| 464 |
"match": "([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))", |
| 465 |
"name": "variable.cobol" |
| 466 |
} |
| 467 |
], |
| 468 |
"end": "(?i:end\\-exec)" |
| 469 |
}, |
| 470 |
{ |
| 471 |
"begin": "(?i:exec\\s+sqlims)", |
| 472 |
"name": "keyword.verb.cobol", |
| 473 |
"contentName": "meta.embedded.block.sql", |
| 474 |
"patterns": [ |
| 475 |
{ |
| 476 |
"match": "(\\:([a-zA-Z\\-])*)", |
| 477 |
"name": "variable.cobol" |
| 478 |
}, |
| 479 |
{ |
| 480 |
"include": "source.sql" |
| 481 |
} |
| 482 |
], |
| 483 |
"end": "(?i:end\\-exec)" |
| 484 |
}, |
| 485 |
{ |
| 486 |
"begin": "(?i:exec\\s+ado)", |
| 487 |
"name": "keyword.verb.cobol", |
| 488 |
"contentName": "meta.embedded.block.sql", |
| 489 |
"patterns": [ |
| 490 |
{ |
| 491 |
"match": "(\\:([a-zA-Z\\-])*)", |
| 492 |
"name": "variable.cobol" |
| 493 |
}, |
| 494 |
{ |
| 495 |
"include": "source.sql" |
| 496 |
} |
| 497 |
], |
| 498 |
"end": "(?i:end\\-exec)" |
| 499 |
}, |
| 500 |
{ |
| 501 |
"begin": "(?i:exec\\s+html)", |
| 502 |
"name": "keyword.verb.cobol", |
| 503 |
"contentName": "meta.embedded.block.html", |
| 504 |
"patterns": [ |
| 505 |
{ |
| 506 |
"include": "text.html.basic" |
| 507 |
} |
| 508 |
], |
| 509 |
"end": "(?i:end\\-exec)" |
| 510 |
}, |
| 511 |
{ |
| 512 |
"begin": "(?i:exec\\s+java)", |
| 513 |
"name": "keyword.verb.cobol", |
| 514 |
"contentName": "meta.embedded.block.java", |
| 515 |
"patterns": [ |
| 516 |
{ |
| 517 |
"include": "source.java" |
| 518 |
} |
| 519 |
], |
| 520 |
"end": "(?i:end\\-exec)" |
| 521 |
}, |
| 522 |
{ |
| 523 |
"match": "(\")(CBL_.*)(\")", |
| 524 |
"captures": { |
| 525 |
"1": { |
| 526 |
"name": "punctuation.definition.string.begin.cobol" |
| 527 |
}, |
| 528 |
"2": { |
| 529 |
"name": "support.function.cobol" |
| 530 |
}, |
| 531 |
"3": { |
| 532 |
"name": "punctuation.definition.string.end.cobol" |
| 533 |
} |
| 534 |
} |
| 535 |
}, |
| 536 |
{ |
| 537 |
"match": "(\")(PC_.*)(\")", |
| 538 |
"captures": { |
| 539 |
"1": { |
| 540 |
"name": "punctuation.definition.string.begin.cobol" |
| 541 |
}, |
| 542 |
"2": { |
| 543 |
"name": "support.function.cobol" |
| 544 |
}, |
| 545 |
"3": { |
| 546 |
"name": "punctuation.definition.string.end.cobol" |
| 547 |
} |
| 548 |
} |
| 549 |
}, |
| 550 |
{ |
| 551 |
"begin": "\"", |
| 552 |
"beginCaptures": { |
| 553 |
"0": { |
| 554 |
"name": "punctuation.definition.string.begin.cobol" |
| 555 |
} |
| 556 |
}, |
| 557 |
"end": "(\"|$)", |
| 558 |
"endCaptures": { |
| 559 |
"0": { |
| 560 |
"name": "punctuation.definition.string.end.cobol" |
| 561 |
} |
| 562 |
}, |
| 563 |
"name": "string.quoted.double.cobol" |
| 564 |
}, |
| 565 |
{ |
| 566 |
"match": "(\\')(CBL_.*)(\\')", |
| 567 |
"captures": { |
| 568 |
"1": { |
| 569 |
"name": "punctuation.definition.string.begin.cobol" |
| 570 |
}, |
| 571 |
"2": { |
| 572 |
"name": "support.function.cobol" |
| 573 |
}, |
| 574 |
"3": { |
| 575 |
"name": "punctuation.definition.string.end.cobol" |
| 576 |
} |
| 577 |
} |
| 578 |
}, |
| 579 |
{ |
| 580 |
"match": "(\\')(PC_.*)(\\')", |
| 581 |
"captures": { |
| 582 |
"1": { |
| 583 |
"name": "punctuation.definition.string.begin.cobol" |
| 584 |
}, |
| 585 |
"2": { |
| 586 |
"name": "support.function.cobol" |
| 587 |
}, |
| 588 |
"3": { |
| 589 |
"name": "punctuation.definition.string.end.cobol" |
| 590 |
} |
| 591 |
} |
| 592 |
}, |
| 593 |
{ |
| 594 |
"begin": "'", |
| 595 |
"beginCaptures": { |
| 596 |
"0": { |
| 597 |
"name": "punctuation.definition.string.begin.cobol" |
| 598 |
} |
| 599 |
}, |
| 600 |
"end": "('|$)", |
| 601 |
"endCaptures": { |
| 602 |
"0": { |
| 603 |
"name": "punctuation.definition.string.end.cobol" |
| 604 |
} |
| 605 |
}, |
| 606 |
"name": "string.quoted.single.cobol" |
| 607 |
}, |
| 608 |
{ |
| 609 |
"begin": "(?<![\\-\\w])[gGzZ]\"", |
| 610 |
"beginCaptures": { |
| 611 |
"0": { |
| 612 |
"name": "punctuation.definition.string.begin.cobol" |
| 613 |
} |
| 614 |
}, |
| 615 |
"end": "(\"|$)", |
| 616 |
"endCaptures": { |
| 617 |
"0": { |
| 618 |
"name": "punctuation.definition.string.end.cobol" |
| 619 |
} |
| 620 |
}, |
| 621 |
"name": "string.quoted.double.cobol" |
| 622 |
}, |
| 623 |
{ |
| 624 |
"begin": "(?<![\\-\\w])[gGzZ]'", |
| 625 |
"beginCaptures": { |
| 626 |
"0": { |
| 627 |
"name": "punctuation.definition.string.begin.cobol" |
| 628 |
} |
| 629 |
}, |
| 630 |
"end": "'", |
| 631 |
"endCaptures": { |
| 632 |
"0": { |
| 633 |
"name": "punctuation.definition.string.end.cobol" |
| 634 |
} |
| 635 |
}, |
| 636 |
"name": "string.quoted.single.cobol" |
| 637 |
}, |
| 638 |
{ |
| 639 |
"begin": "(?<![\\-\\w])[gGnN]\"", |
| 640 |
"beginCaptures": { |
| 641 |
"0": { |
| 642 |
"name": "punctuation.definition.string.begin.cobol" |
| 643 |
} |
| 644 |
}, |
| 645 |
"end": "(\"|$)", |
| 646 |
"endCaptures": { |
| 647 |
"0": { |
| 648 |
"name": "punctuation.definition.string.end.cobol" |
| 649 |
} |
| 650 |
}, |
| 651 |
"name": "string.quoted.double.cobol" |
| 652 |
}, |
| 653 |
{ |
| 654 |
"begin": "(?<![\\-\\w])[gGnN]'", |
| 655 |
"beginCaptures": { |
| 656 |
"0": { |
| 657 |
"name": "punctuation.definition.string.begin.cobol" |
| 658 |
} |
| 659 |
}, |
| 660 |
"end": "'", |
| 661 |
"endCaptures": { |
| 662 |
"0": { |
| 663 |
"name": "punctuation.definition.string.end.cobol" |
| 664 |
} |
| 665 |
}, |
| 666 |
"name": "string.quoted.single.cobol" |
| 667 |
}, |
| 668 |
{ |
| 669 |
"begin": "(?<![\\-\\w])[uU]\"", |
| 670 |
"beginCaptures": { |
| 671 |
"0": { |
| 672 |
"name": "punctuation.definition.string.begin.cobol" |
| 673 |
} |
| 674 |
}, |
| 675 |
"end": "(\"|$)", |
| 676 |
"endCaptures": { |
| 677 |
"0": { |
| 678 |
"name": "punctuation.definition.string.end.cobol" |
| 679 |
} |
| 680 |
}, |
| 681 |
"name": "string.quoted.utf8.double.cobol" |
| 682 |
}, |
| 683 |
{ |
| 684 |
"begin": "(?<![\\-\\w])[uU]'", |
| 685 |
"beginCaptures": { |
| 686 |
"0": { |
| 687 |
"name": "punctuation.definition.string.begin.cobol" |
| 688 |
} |
| 689 |
}, |
| 690 |
"end": "'", |
| 691 |
"endCaptures": { |
| 692 |
"0": { |
| 693 |
"name": "punctuation.definition.string.end.cobol" |
| 694 |
} |
| 695 |
}, |
| 696 |
"name": "string.quoted.utf8.single.cobol" |
| 697 |
}, |
| 698 |
{ |
| 699 |
"match": "(?<![-_])(?i:id\\s+division|identification\\s+division|identification|id|property-id|getter|setter|entry|function-id|end\\s+attribute|attribute|interface-id|indexer-id|factory|ctl|class-control|options|environment\\s+division|environment-name|environment-value|environment|configuration\\s+section|configuration|decimal-point\\s+is|decimal-point|console\\s+is|call-convention|special-names|cursor\\s+is|update|picture\\s+symbol|currency\\s+sign|currency|repository|input-output\\s+section|input-output|file\\s+section|file-control|select|optional|i-o-control|data\\s+division|working-storage\\s+section|working-storage|section|local-storage|linkage\\s+section|linkage|communication|report|screen\\s+section|object-storage|object\\s+section|class-object|fd|rd|cd|sd|printing|procedure\\s+division|procedure|division|references|debugging|end\\s+declaratives|declaratives|end\\s+static|end\\s+factory|end\\s+class-object|based-storage|size|font|national-edited|national)(?![0-9A-Za-z_-])", |
| 700 |
"name": "keyword.identifiers.cobol" |
| 701 |
}, |
| 702 |
{ |
| 703 |
"match": "(?<![-_])((?i:valuetype-id|operator-id|method-id|method|property-id|attribute-id|enum-id|iterator-id|class-id|program-id|operator-id|end\\s+program|end\\s+valuetype|extension))[\\.]*[\\s]+([a-zA-Z0-9_-]*)", |
| 704 |
"captures": { |
| 705 |
"1": { |
| 706 |
"name": "keyword.verb.cobol" |
| 707 |
}, |
| 708 |
"2": { |
| 709 |
"name": "entity.name.function.cobol" |
| 710 |
} |
| 711 |
} |
| 712 |
}, |
| 713 |
{ |
| 714 |
"match": "(?<![-_])(?i:implements|inherits|constraints|constrain)(?=\\s|\\.)", |
| 715 |
"name": "keyword.verb.cobol" |
| 716 |
}, |
| 717 |
{ |
| 718 |
"match": "(?<![-_])(?i:end\\s+enum|end\\s+interface|end\\s+class|end\\s+property|end\\s+method|end\\s+object|end\\s+iterator|end\\s+function|end\\s+operator|end\\s+program|end\\s+indexer|create|reset|instance|delegate|end-delegate|delegate-id|declare|exception-object|as|stop\\s+iterator|stop\\s+run|stop)(?=\\s|\\.|,|\\))", |
| 719 |
"name": "keyword.identifiers.cobol" |
| 720 |
}, |
| 721 |
{ |
| 722 |
"match": "\\s+(?i:attach\\s+method|attach\\s+del|attach|detach\\s+del|detach\\s+method|detach|method|del)(?=\\s|\\.|$)", |
| 723 |
"name": "keyword.identifiers.cobol" |
| 724 |
}, |
| 725 |
{ |
| 726 |
"match": "\\s+(?i:sync\\s+(?i:on))(?=\\s|\\.)", |
| 727 |
"name": "keyword.other.sync.cobol" |
| 728 |
}, |
| 729 |
{ |
| 730 |
"match": "\\s+(?i:try|finally|catch|end-try|throw)(?=\\s|\\.|$)", |
| 731 |
"name": "keyword.control.catch-exception.cobol" |
| 732 |
}, |
| 733 |
{ |
| 734 |
"match": "(?<![-_])(?i:select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|chaining|yielding|\\+\\+include|copy|replace)(?=\\s)", |
| 735 |
"name": "keyword.otherverb.cobol" |
| 736 |
}, |
| 737 |
{ |
| 738 |
"match": "(?i:dynamic)\\s+(?i:length)(?=\\s|\\.)", |
| 739 |
"name": "storage.type.dynamiclength.cobol" |
| 740 |
}, |
| 741 |
{ |
| 742 |
"match": "(?<![-_])(?i:assign|external|prototype|organization|organisation|indexed|column|plus|line\\*s*sequential|sequential|access|dynamic|relative|label|block|contains|standard|records|record\\s+key|record|is|alternate|duplicates|reel|tape|terminal|disk\\sfilename|disk|disc|recording\\smode|mode|random)(?=\\s|\\.)", |
| 743 |
"name": "keyword.identifers.cobol" |
| 744 |
}, |
| 745 |
{ |
| 746 |
"match": "(?<![-_])(?i:max|min|integer-of-date|integer-of-day|integer-part|integer|date-to-yyyymmdd|year-to-yyyy|day-to-yyyyddd|exp|exception-file|exception-location|exception-statement|exception-status|e|variance|integer-of-date|rem|pi|factorial|sqrt|log10|fraction-part|mean|exp|log|char|day-of-integer|date-of-integer|exp10|atan|integer-part|tan|sin|cos|midrange|addr|acos|asin|annuity|present-value|integer-of-day|ord-max|ord-min|ord|random|integer-of-date|sum|standard-deviation|median|reverse|abs|upper-case|lower-case|char-national|numval|mod|range|length|locale-date|locale-time-from-seconds|locale-time|seconds-past-midnight|stored-char-length|substitute-case|substitute|seconds-from-formatted-time|seconds-past-midnight|trim|length-an|numval-c|current-date|national-of|display-of|when-compiled|integer-of-boolean|combined-datetime|concatenate)(?=\\s|\\.|\\(|\\))", |
| 747 |
"name": "support.function.cobol" |
| 748 |
}, |
| 749 |
{ |
| 750 |
"match": "(?<![-_])(?i:DFHRESP|DFHVALUE)(\\s*\\(\\s*)([a-zA-Z]*)(\\s*\\))", |
| 751 |
"captures": { |
| 752 |
"0": { |
| 753 |
"name": "support.function.cics.cobol" |
| 754 |
}, |
| 755 |
"1": { |
| 756 |
"name": "punctuation.definition.string.end.cobol" |
| 757 |
}, |
| 758 |
"2": { |
| 759 |
"name": "keyword.identifers.cobol" |
| 760 |
}, |
| 761 |
"3": { |
| 762 |
"name": "punctuation.definition.string.end.cobol" |
| 763 |
} |
| 764 |
} |
| 765 |
}, |
| 766 |
{ |
| 767 |
"match": "(?<![-_])(?i:function)(?=\\s|\\.)", |
| 768 |
"name": "keyword.verb.cobol" |
| 769 |
}, |
| 770 |
{ |
| 771 |
"match": "(?<![-_])(?i:end-accept|end-add|end-sync|end-compute|end-delete|end-display|end-divide|end-set|end-multiply|end-of-page|end-read|end-receive|end-return|end-rewrite|end-search|end-start|end-string|end-subtract|end-unstring|end-write|program|class|interface|enum|interface)(?![0-9A-Za-z_-])", |
| 772 |
"name": "keyword.verb.cobol" |
| 773 |
}, |
| 774 |
{ |
| 775 |
"match": "(?<![-_])(?:by value|by reference|by content|property-value)(?![0-9A-Za-z_-])", |
| 776 |
"name": "keyword.other.cobol" |
| 777 |
}, |
| 778 |
{ |
| 779 |
"match": "(?<![-_])(?i:attr-string|automatic|auto-skip|footing|next|group|indicate|source|control|full|required|of|input|output|i-o|extend|file|error|exception|overflow|goto|off|on|proceed|procedures|procedure|through|invalid|data|normal|eop|returning|to|for|giving|into|by|params|remainder|also|numeric|free|depending|converting|replacing|after|before|all|leading|first|recursive|initialized|global|common|initial|resident|reference|content|are\\sstandard|are|renames|like|format\\stime|values|omitted|value|constant|ascending|descending|key|retry|until|varying|with|no|advancing|up|down|uccurs|ignore\\s+lock|lock|length|delimited|count|delimiter|redefines|from\\s+console|from\\s+command-line|from\\s+user\\s+name|from\\s+day\\s+yyyyddd|from\\s+day|from\\s+time|from\\s+day-of-week|from\\s+escape|from\\s+day\\s+yyyyddd|from\\s+date\\s+yyyymmdd|from\\s+date|from|raising|crt\\s+status|status|class|upon\\s+crt|upon|lines|columns|step|linage|auto|line|position|col|reports|code-set|reporting|arithmetic|localize|program|class|interface|in|at\\s+end|page|name)(?![0-9A-Za-z_-])", |
| 780 |
"name": "keyword.identifers.cobol" |
| 781 |
}, |
| 782 |
{ |
| 783 |
"match": "(?<![-_])(?i:type|new)\\s+([a-zA-Z][a-zA-Z0-9\\$\\-\\._]*|[a-zA-Z])(?=\\.$)", |
| 784 |
"captures": { |
| 785 |
"0": { |
| 786 |
"name": "keyword.verb.cobol" |
| 787 |
}, |
| 788 |
"1": { |
| 789 |
"name": "storage.type.cobol" |
| 790 |
} |
| 791 |
}, |
| 792 |
"comment": "type ssss " |
| 793 |
}, |
| 794 |
{ |
| 795 |
"match": "(?<![-_])(?i:string)(?=\\s+value|\\.)", |
| 796 |
"name": "storage.type.cobol" |
| 797 |
}, |
| 798 |
{ |
| 799 |
"match": "(?<![-_])(?i:bit|byte|binary-char|binary-char-unsigned|binary-short|binary-short-unsigned|binary.long|binary-c-long|binary-long-unsigned|binary-long|binary-double|binary-double-unsigned|float-short|float-extended|float-long|bit|condition-value|characters|character\\s+type|character|comma|crt|decimal|object\\+sreference|object-reference|object|list|dictionary|unsigned)(?=\\s|\\.|,|\\]|\\[)", |
| 800 |
"name": "storage.type.cobol" |
| 801 |
}, |
| 802 |
{ |
| 803 |
"match": "(operator-id\\s+[+\\-\\*\\/])", |
| 804 |
"name": "keyword.operator-id.cobol", |
| 805 |
"captures": { |
| 806 |
"1": { |
| 807 |
"name": "keyword.other.verb.cobol" |
| 808 |
}, |
| 809 |
"2": { |
| 810 |
"name": "meta.symbol.cobol" |
| 811 |
} |
| 812 |
}, |
| 813 |
"comment": "operator-id ssss " |
| 814 |
}, |
| 815 |
{ |
| 816 |
"match": "(?i:self)(\\:\\:)([0-9a-zA-Z_\\-\\.]*)(?=\\.$)", |
| 817 |
"captures": { |
| 818 |
"1": { |
| 819 |
"name": "punctuation.accessor.cobol.b3" |
| 820 |
}, |
| 821 |
"2": { |
| 822 |
"name": "entity.name.function.b3" |
| 823 |
} |
| 824 |
}, |
| 825 |
"comment": " ::.. " |
| 826 |
}, |
| 827 |
{ |
| 828 |
"match": "(\\:\\:)([0-9a-zA-Z_\\-\\.]*)", |
| 829 |
"captures": { |
| 830 |
"1": { |
| 831 |
"name": "punctuation.accessor.cobol" |
| 832 |
}, |
| 833 |
"2": { |
| 834 |
"name": "entity.name.function.cobol" |
| 835 |
} |
| 836 |
}, |
| 837 |
"comment": " ::.. " |
| 838 |
}, |
| 839 |
{ |
| 840 |
"match": "(?<![-_])(?i:type)\\s+([0-9a-zA-Z\\.]*)", |
| 841 |
"captures": { |
| 842 |
"0": { |
| 843 |
"name": "keyword.verb.cobol.aa" |
| 844 |
}, |
| 845 |
"1": { |
| 846 |
"name": "storage.type.cobol.bb" |
| 847 |
} |
| 848 |
} |
| 849 |
}, |
| 850 |
{ |
| 851 |
"match": "(?<![-_])(?i:if|else|end-if|exit\\s+iterator|exit\\s+program|exit\\s+method|evaluate|end-evaluate|exit\\s+perform|perform|end-perform|when\\s+other|when|continue|call|end-call|chain|end-chain|invoke|end\\s+invoke|go\\s+to|go|sort|merge|use|xml|parse|stop\\s+run|goback\\s+returning|goback|raise|exit\\s+function|exit\\sparagraph|await)(?![0-9A-Za-z_-])", |
| 852 |
"name": "keyword.control.cobol" |
| 853 |
}, |
| 854 |
{ |
| 855 |
"match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)[-|+]", |
| 856 |
"captures": { |
| 857 |
"1": { |
| 858 |
"name": "storage.type.picture10.cobol" |
| 859 |
}, |
| 860 |
"2": { |
| 861 |
"name": "constant.numeric.cobol" |
| 862 |
}, |
| 863 |
"3": { |
| 864 |
"name": "storage.type.picture10.cobol" |
| 865 |
}, |
| 866 |
"4": { |
| 867 |
"name": "constant.numeric.cobol" |
| 868 |
} |
| 869 |
} |
| 870 |
}, |
| 871 |
{ |
| 872 |
"match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)", |
| 873 |
"captures": { |
| 874 |
"1": { |
| 875 |
"name": "storage.type.picture9.cobol" |
| 876 |
}, |
| 877 |
"2": { |
| 878 |
"name": "constant.numeric.cobol" |
| 879 |
}, |
| 880 |
"3": { |
| 881 |
"name": "storage.type.picture9.cobol" |
| 882 |
}, |
| 883 |
"4": { |
| 884 |
"name": "constant.numeric.cobol" |
| 885 |
} |
| 886 |
} |
| 887 |
}, |
| 888 |
{ |
| 889 |
"match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV\\.][-+s\\*$09aAbBsSnNxXuUzZ/,]*[0-9\\.()])*", |
| 890 |
"captures": { |
| 891 |
"1": { |
| 892 |
"name": "storage.type.picture8.cobol" |
| 893 |
}, |
| 894 |
"2": { |
| 895 |
"name": "constant.numeric.cobol" |
| 896 |
}, |
| 897 |
"3": { |
| 898 |
"name": "storage.type.picture8.cobol" |
| 899 |
} |
| 900 |
} |
| 901 |
}, |
| 902 |
{ |
| 903 |
"match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*", |
| 904 |
"name": "storage.type.picture7.cobol" |
| 905 |
}, |
| 906 |
{ |
| 907 |
"match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*", |
| 908 |
"name": "storage.type.picture6.cobol" |
| 909 |
}, |
| 910 |
{ |
| 911 |
"match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxuUXzZ/,.]*)\\(([0-9]*)\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*", |
| 912 |
"captures": { |
| 913 |
"1": { |
| 914 |
"name": "storage.type.picture5.cobol" |
| 915 |
}, |
| 916 |
"2": { |
| 917 |
"name": "constant.numeric.cobol" |
| 918 |
} |
| 919 |
} |
| 920 |
}, |
| 921 |
{ |
| 922 |
"match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpNNxXuUzZ/,.]*\\([0-9]*\\)", |
| 923 |
"name": "storage.type.picture4.cobol" |
| 924 |
}, |
| 925 |
{ |
| 926 |
"match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*\\([0-9]*\\)", |
| 927 |
"name": "storage.type.picture3.cobol" |
| 928 |
}, |
| 929 |
{ |
| 930 |
"match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*", |
| 931 |
"name": "storage.type.picture2.cobol" |
| 932 |
}, |
| 933 |
{ |
| 934 |
"match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+\\*$9aAbBsSnpPNxXuUzZ/,.vV]*", |
| 935 |
"name": "storage.type.picture1.cobol" |
| 936 |
}, |
| 937 |
{ |
| 938 |
"match": "((?<![-_])(?i:binary|computational-4|comp-4|computational-5|comp-5))\\(([0-9]*)\\)", |
| 939 |
"captures": { |
| 940 |
"1": { |
| 941 |
"name": "invalid.illegal.keyword.verb.acu.cobol" |
| 942 |
}, |
| 943 |
"2": { |
| 944 |
"name": "invalid.illegal.constant.numeric.integer" |
| 945 |
} |
| 946 |
} |
| 947 |
}, |
| 948 |
{ |
| 949 |
"match": "(?i:cblt-x1-compx-const|cblt-x2-compx-const|cblt-x4-compx-const|cblt-alphanum-const|cblt-x9-compx|cblt-x8-compx|cblt-x8-comp5|cblt-x4-compx|cblt-x4-comp5|cblt-x2-compx|cblt-x2-comp5|cblt-x1-compx|cblt-x1-comp5|cblt-x1|cblt-vfile-status|cblt-vfile-handle|cblt-sx8-comp5|cblt-sx4-comp5|cblt-sx2-comp5|cblt-sx1-comp5|cblt-subsys-params|cblt-splitjoin-buf|cblt-screen-position|cblt-rtncode|cblt-request-context|cblt-reqhand-service-info|cblt-reqhand-service-funcs|cblt-reqhand-response|cblt-reqhand-funcs|cblt-prog-info-params|cblt-prog-info-arg-info|cblt-printer-properties|cblt-printer-name|cblt-printer-info|cblt-printer-default|cblt-ppointer|cblt-pointer|cblt-os-ssize|cblt-os-size|cblt-os-offset|cblt-os-info-params|cblt-os-flags|cblt-node-name|cblt-nls-msg-params|cblt-nls-msg-number-pair|cblt-nls-msg-ins-struct|cblt-nls-msg-buffer|cblt-mouse-shape|cblt-mouse-rect|cblt-mouse-pos|cblt-mouse-event|cblt-mem-validate-param|cblt-idp-exit-service-funcs|cblt-idp-exit-info|cblt-HWND|cblt-HINSTANCE|cblt-get-scr-line-draw-buffer|cblt-get-scr-graphics-buffer|cblt-generic-attr-value|cblt-generic-attr-rgb-values|cblt-generic-attr-information|cblt-file-status|cblt-fileexist-buf|cblt-exit-params|cblt-exit-info-params|cblt-cancel-proc-params|cblt-bytestream-handle|cblt-alphanum)", |
| 950 |
"name": "support.function.cbltypes.cobol" |
| 951 |
}, |
| 952 |
{ |
| 953 |
"match": "(?<![-_])(?i:computational-1|comp-1|computational-2|comp-2|computational-3|comp-3|computational-4|comp-4|computational-x|comp-x|computational-5|comp-5|computational-6|comp-6|computational-n|comp-n|packed-decimal|index|float|double|signed-short|unsigned-short|signed-int|unsigned-int|signed-long|unsigned-long|comp|computational|group-usage|usage\\sis\\sdisplay|usage\\sis\\sfont|usage\\s+display|binary|mutex-pointer|data-pointer|thread-pointer|sempahore-pointer|event-pointer|program-pointer|procedure-pointer|pointer|window|subwindow|control-type|thread|menu|variant|layout-manager|occurs|typedef|any|times|display\\s+blank\\s+when|blank\\s+when|blank\\s+screen|blank|usage\\sis|is\\spartial|usage|justified|just|right|signed|trailing\\s+separate|sign|seperate|sql)(?=\\s|\\.|\\))", |
| 954 |
"name": "storage.type.picture.cobol" |
| 955 |
}, |
| 956 |
{ |
| 957 |
"match": "(?i:byte-length)\\s+[0-9]+", |
| 958 |
"name": "storage.type.length.cobol" |
| 959 |
}, |
| 960 |
{ |
| 961 |
"match": "(?<![-_])(?i:accept|add|address|allocate|cancel|close|commit|compute|continue|delete|disable|display|bell|divide|eject|enable|enter|evaluate|exhibit|named|exit|free|generate|go\\s+to|initialize\\sonly|initialize|initiate|inspect|merge|end-set|set|end-invoke|invoke\\s+run|invoke|move|corresponding|corr|multiply|otherwise|open|sharing|sort-merge|purge|ready|read|kept|receive|release|return|rewrite|rounded|rollback|search|send|sort|collating\\s+sequence|collating|start|service|subtract|suppress|terminate|then|unlock|string|unstring|validate|write|next|statement|sentence)(?![0-9A-Za-z_-])", |
| 962 |
"name": "keyword.verb.cobol" |
| 963 |
}, |
| 964 |
{ |
| 965 |
"match": "(?<![-_])(?i:thread-local)(?![0-9A-Za-z_-])", |
| 966 |
"name": "keyword.verb.cobol" |
| 967 |
}, |
| 968 |
{ |
| 969 |
"match": "(\\s+|^)(?i:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)(?![0-9A-Za-z_-])", |
| 970 |
"name": "keyword.screens.cobol" |
| 971 |
}, |
| 972 |
{ |
| 973 |
"match": "(\\s+|^)(?i:bold|high|lowlight|low|standard|background-high|background-low|background-standard)(?![0-9A-Za-z_-])", |
| 974 |
"name": "invalid.illegal.screens.acu.cobol" |
| 975 |
}, |
| 976 |
{ |
| 977 |
"match": "(?<![-_])(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property|async-void|async-value|async)(?=\\s|\\.)", |
| 978 |
"name": "storage.modifier.cobol" |
| 979 |
}, |
| 980 |
{ |
| 981 |
"match": "=|<|>|<=|>=|<>|\\+|\\-|\\*|\\/|(?<![-_])(?i:b-and|b-or|b-xor|b-exor|b-not|b-left|b-right|and|or|equals|equal|greater\\s+than|less\\s+than|greater)(?![0-9A-Za-z_-])", |
| 982 |
"name": "keyword.operator.cobol" |
| 983 |
}, |
| 984 |
{ |
| 985 |
"match": "(?i:not\\s+at\\s+end)(?![0-9A-Za-z_-])", |
| 986 |
"name": "keyword.verb.cobol" |
| 987 |
}, |
| 988 |
{ |
| 989 |
"match": "(?<![-_])(?i:not)(?![0-9A-Za-z_-])", |
| 990 |
"name": "keyword.operator.cobol" |
| 991 |
}, |
| 992 |
{ |
| 993 |
"match": "(?<![-_])(?i:sysout-flush|sysin|stderr|stdout|csp|stdin|sysipt|sysout|sysprint|syslist|syslst|printer|syserr|console|c01|c02|c03|c04|c05|c06|c07|c08|c09|c10|c11|c12|formfeed|switch-0|switch-10|switch-11|switch-12|switch-13|switch-13|switch-14|switch-15|switch-1|switch-2|switch-3|switch-4|switch-5|switch-6|switch-7|switch-8|switch-9|sw0|sw11|sw12|sw13|sw14|sw15|sw1|sw2|sw3|sw4|sw5|sw6|sw7|sw8|sw9|sw10|lc_all|lc_collate|lc_ctype|lc_messages|lc_monetary|lc_numeric|lc_time|ucs-4|utf-8|utf-16)(?![0-9A-Za-z_-])", |
| 994 |
"name": "support.type.cobol" |
| 995 |
}, |
| 996 |
{ |
| 997 |
"match": "(?<![-_])(?i:end-xml|processing.*procedure|xml\\sparse|xml|xml-information|xml-text|xml-schemal|xml-declaration)(?![0-9A-Za-z_-])", |
| 998 |
"name": "keyword.xml.cobol" |
| 999 |
}, |
| 1000 |
{ |
| 1001 |
"match": "(?<![-_])(?i:json\\s+generate|json|end-json|name\\sof)(?![0-9A-Za-z_-])", |
| 1002 |
"name": "keyword.json.cobol" |
| 1003 |
}, |
| 1004 |
{ |
| 1005 |
"match": "(?<![-_])(?i:modify|inquire|tab|title|event|center|label-offset|cell|help-id|cells|push-button|radio-button|page-layout-screen|entry-field|list-box|label|default-font|id|no-tab|unsorted|color|height|width|bind|thread|erase|modeless|scroll|system|menu|title-bar|wrap|destroy|resizeable|user-gray|large-font|newline|3-d|data-columns|display-columns|alignment|separation|cursor-frame-width|divider-color|drag-color|heading-color|heading-divider-color|num-rows|record-data|tiled-headings|vpadding|centered-headings|column-headings|self-act|cancel-button|vscroll|report-composer|clsid|primary-interface|active-x-control|default-interface|default-source|auto-minimize|auto-resize|resource|engraved|initial-state|frame|acuactivexcontrol|activex-res|grid|box|message|namespace|class-name|module|constructor|version|strong|culture|method|handle|exception-value|read-only|dividers|graphical|indexed|termination-value|permanent|boxed|visible|centered|record-position|convert)(?=\\s|\\.|,|;|$)", |
| 1006 |
"name": "invalid.illegal.acu.cobol" |
| 1007 |
}, |
| 1008 |
{ |
| 1009 |
"match": "(?<![-_])(?i:actual|auto|automatic|based-storage|complex|connect|contained|core-index|db-access-control-key|db-data-name|db-exception|db-record-name|db-set-name|db-status|dead-lock|endcobol|end-disable|end-enable|end-send|end-transceive|eos|file-limits|file-limit|formatted|sort-status|usage-mode)(?=\\s|\\.|,|;|$)", |
| 1010 |
"name": "invalid.illegal.netcobol.cobol" |
| 1011 |
}, |
| 1012 |
{ |
| 1013 |
"match": "(?<![-_])(?i:System-Info|Terminal-Info)(?![0-9A-Za-z_-])", |
| 1014 |
"name": "support.type.cobol.acu strong" |
| 1015 |
}, |
| 1016 |
{ |
| 1017 |
"match": "(?<![-_])(?i:alter)(?=\\s|\\.)", |
| 1018 |
"name": "invalid.illegal.cobol" |
| 1019 |
}, |
| 1020 |
{ |
| 1021 |
"match": "(?<![-_])(?i:apply|areas|area|clock-units|code|com-reg|controls|dbcs|destination|detail|display-1|ending|every|insert|kanjikey|last|left|less|limits|limit|memory|metaclass|modules|more-labels|multiple|native_binary|native|negative|number|numeric-edited|other|padding|password|pf|ph|postive|processing|queue|recording|reload|removal|rerun|reserve|reserved|rewind|segment-limit|segment|separate|sequence|skip1|skip2|skip3|standard-1|standard-2|sub-queue-1|sub-queue-2|sub-queue-3|sum|symbolic|synchronized|sync|table|test|text|than|top|trace|trailing|unit|words|write-only|at|basis|beginning|bottom|cbl|cf|ch|de|positive|egcs|egi|emi|end|reversed|rf|rh|run|same|order|heading|esi)(?![0-9A-Za-z_-])", |
| 1022 |
"name": "keyword.ibmreserved.cobol" |
| 1023 |
}, |
| 1024 |
{ |
| 1025 |
"match": "(?<![-_])(?i:active-class|aligned|anycase|boolean|cols|col|condition|ec|eo|system-default|function-pointer)(?![0-9A-Za-z_-])", |
| 1026 |
"name": "strong keyword.potential.reserved.cobol" |
| 1027 |
}, |
| 1028 |
{ |
| 1029 |
"match": "(?i:filler)", |
| 1030 |
"name": "keyword.filler.cobol" |
| 1031 |
}, |
| 1032 |
{ |
| 1033 |
"match": "(?<![-_])(?i:address-of|date|day-of-week|day|debug-content|debug-item|debug-line|debug-item|debug-sub-1|debug-sub-2|debug-sub-3|shift-in|shift-out|sort-control|sort-core-size|sort-file-size|sort-message|sort-return|sort-mode-size|sort-return|tally|time|when-compiled|line-counter|page-counter|return-code|linage-counter|debug-line|debug-name|debug-contents|json-code|json-status|xml-code|xml-event|xml-information|xml-namespace-prefix|xml-namespace|xml-nnamespace-repfix|xml-nnamespace|xml-ntext|jnienvptr)(?![0-9A-Za-z_-])", |
| 1034 |
"name": "variable.language" |
| 1035 |
}, |
| 1036 |
{ |
| 1037 |
"match": "(?<![-_])(?i:shortint1|shortint2|shortint3|shortint4|shortint5|shortint6|shortint7|longint1|longint2|longint3|longint4|longint5|longint6|bigint1|bigint2|blob-locator|clob-locator|dbclob-locator|dbclob-file|blob-file|clob-file|clob|dbclob|blob|varbinary|long-varbinary|time-record|timestamp-record|timestamp-offset-record|timestamp-offset|timestamp|rowid|xml|long-varchar)(?=\\s|\\.|\\)|\\()", |
| 1038 |
"name": "storage.type.sql.picture.cobol" |
| 1039 |
}, |
| 1040 |
{ |
| 1041 |
"match": "(?<![-_])(?i:self)", |
| 1042 |
"name": "keyword.other.self.cobol" |
| 1043 |
}, |
| 1044 |
{ |
| 1045 |
"match": "(?<![-_])(?i:super)", |
| 1046 |
"name": "keyword.other.super.cobol" |
| 1047 |
}, |
| 1048 |
{ |
| 1049 |
"match": "(^[0-9][0-9][0-9][0-9][0-9][0-9])", |
| 1050 |
"name": "constant.numeric.cobol" |
| 1051 |
}, |
| 1052 |
{ |
| 1053 |
"match": "(\\()([0-9]*)(:)([0-9]*)(\\))", |
| 1054 |
"captures": { |
| 1055 |
"1": { |
| 1056 |
"name": "meta.symbol.cobol" |
| 1057 |
}, |
| 1058 |
"2": { |
| 1059 |
"name": "constant.numeric.integer" |
| 1060 |
}, |
| 1061 |
"3": { |
| 1062 |
"name": "meta.symbol.cobol" |
| 1063 |
}, |
| 1064 |
"4": { |
| 1065 |
"name": "constant.numeric.integer" |
| 1066 |
}, |
| 1067 |
"5": { |
| 1068 |
"name": "meta.symbol.cobol" |
| 1069 |
} |
| 1070 |
} |
| 1071 |
}, |
| 1072 |
{ |
| 1073 |
"match": "([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))", |
| 1074 |
"name": "meta.symbol.cobol" |
| 1075 |
} |
| 1076 |
], |
| 1077 |
"repository": { |
| 1078 |
"cics-keywords": { |
| 1079 |
"match": "(?<![\\-\\w])(?i:abcode|abdump|abend|abort|abprogram|abstime|accum|acee|acqactivity|acqprocess|acquactivity|action|activity|activityid|actpartn|add|address|after|aid|alarm|all|allocate|alter|alternate|altscrnht|altscrnwd|and|anykey|aplkybd|apltext|applid|as|asa|asis|asktime|asraintrpt|asrakey|asrapsw|asraregs|asraspc|asrastg|assign|asynchronous|at|attach|attachid|attributes|authenticate|autopage|auxiliary|base64|basicauth|below|bif|binary|bit|bodycharset|bookmark|brdata|brdatalength|brexit|bridge|browsetoken|btrans|buffer|build|burgeability|caddrlength|cancel|card|cbuff|ccsid|certificate|change|changetime|channel|char|characterset|check|chunkend|chunking|chunkno|chunkyes|cicsdatakey|ciphers|class|clear|cliconvert|client|clientaddr|clientaddrnu|clientconv|clientname|clntaddr6nu|clntipfamily|close|closestatus|clrpartn|cmdsec|cnamelength|cnotcompl|codepage|color|commarea|commonname|commonnamlen|comparemax|comparemin|complete|composite|compstatus|condition|confirm|confirmation|connect|consistent|console|container|contexttype|control|convdata|converse|convertst|converttime|convid|copy|counter|country|countrylen|create|critical|ctlchar|current|cursor|cwa|cwaleng|data|data1|data2|datalength|datalenth|dataonly|datapointer|dataset|datastr|datatoxml|datatype|datcontainer|date|dateform|datesep|datestring|day|daycount|dayofmonth|dayofweek|dayofyear|days|daysleft|day-of-week|dcounter|ddmmyy|ddmmyyyy|debkey|debrec|debug-contents|debug-item|debug-line|debug-name|debug-sub-1|debug-sub-2|debug-sub-3|deedit|default|define|defresp|defscrnht|defscrnwd|delay|delete|deleteq|delimiter|deq|destcount|destid|destidleng|detail|detaillength|dfhresp|dfhvalue|digest|digesttype|disconnect|docdelete|docsize|docstatus|doctoken|document|ds3270|dsscs|dump|dumpcode|dumpid|duprec|ecaddr|ecblist|eib|elemname|elemnamelen|elemns|elemnslen|end|endactivity|endbr|endbrowse|endfile|endoutput|enq|enter|entry|entryname|eoc|eods|eprfield|eprfrom|eprinto|eprlength|eprset|eprtype|equal|erase|eraseaup|error|errterm|esmreason|esmresp|event|eventtype|eventual|ewasupp|exception|expect|expirytime|extds|external|extract|facility|facilitytokn|false|faultactlen|faultactor|faultcode|faultcodelen|faultcodestr|faultstring|faultstrlen|fci|fct|field|file|firestatus|flength|fmh|fmhparm|for|force|formattime|formfeed|formfield|free|freekb|freemain|from|fromactivity|fromccsid|fromchannel|fromcodepage|fromdoc|fromflength|fromlength|fromprocess|frset|fulldate|function|gchars|gcodes|gds|generic|get|getmain|getnext|gmmi|groupid|gtec|gteq|handle|head|header|hex|high-value|high-values|hilight|hold|honeom|host|hostcodepage|hostlength|hosttype|hours|httpheader|httpmethod|httprnum|httpversion|httpvnum|ignore|immediate|in|increment|initimg|initparm|initparmlen|inpartn|input|inputevent|inputmsg|inputmsglen|inquire|insert|integer|interval|into|intoccsid|intocodepage|invalidcount|invite|invmpsz|invoke|invokingprog|invpartn|invreq|issue|issuer|item|iutype|journalname|jtypeid|jusfirst|juslast|justify|katakana|keep|keylength|keynumber|l40|l64|l80|label|langinuse|languagecode|last|lastusetime|ldc|ldcmnem|ldcnum|leavekb|length|lengthlist|level|lightpen|linage-counter|line|lineaddr|line-counter|link|list|listlength|llid|load|locality|localitylen|logmessage|logmode|logonlogmode|logonmsg|low-value|low-values|luname|main|map|mapcolumn|mapfail|mapheight|mapline|maponly|mapped|mappingdev|mapset|mapwidth|massinsert|maxdatalen|maxflength|maximum|maxlength|maxlifetime|maxproclen|mcc|mediatype|message|messageid|metadata|metadatalen|method|methodlength|milliseconds|minimum|minutes|mmddyy|mmddyyyy|mode|modename|monitor|month|monthofyear|move|msr|msrcontrol|name|namelength|natlang|natlanginuse|netname|newpassword|newphrase|newphraselen|next|nexttransid|nleom|noautopage|nocc|nocheck|nocliconvert|noclose|nodata|node|nodocdelete|nodump|noedit|noflush|nohandle|noinconvert|none|nooutconert|noqueue|noquiesce|nosrvconvert|nosuspend|note|notpurgeable|notruncate|nowait|nscontainer|null|nulls|numciphers|numevents|numitems|numrec|numroutes|numsegments|numtab|of|oidcard|on|opclass|open|operation|operator|operid|operkeys|operpurge|opid|opsecurity|options|or|orgabcode|organization|organizatlen|orgunit|orgunitlen|outdescr|outline|outpartn|output|owner|pa1|pa2|pa3|page|pagenum|page-counter|paging|parse|partn|partner|partnfail|partnpage|partns|partnset|pass|passbk|password|passwordlen|path|pathlength|pct|pf1|pf10|pf11|pf12|pf13|pf14|pf15|pf16|pf17|pf18|pf19|pf2|pf20|pf21|pf22|pf23|pf24|pf3|pf4|pf5|pf6|pf7|pf8|pf9|pfxleng|phrase|phraselen|piplength|piplist|point|pool|pop|portnumber|portnumnu|post|ppt|predicate|prefix|prepare|princonvid|prinsysid|print|priority|privacy|process|processtype|proclength|procname|profile|program|protect|ps|punch|purge|purgeable|push|put|qname|query|queryparm|querystring|querystrlen|queue|quote|quotes|random|rba|rbn|rdatt|read|readnext|readprev|readq|reattach|receive|receiver|recfm|record|recordlen|recordlength|reduce|refparms|refparmslen|relatesindex|relatestype|relatesuri|release|remove|repeatable|repetable|replace|reply|replylength|reqid|requesttype|resclass|reset|resetbr|resid|residlength|resource|resp|resp2|ressec|restart|restype|result|resume|retain|retcode|retcord|retriece|retrieve|return|returnprog|return-code|rewind|rewrite|ridfld|role|rolelength|rollback|route|routecodes|rprocess|rresource|rrn|rtermid|rtransid|run|saddrlength|scheme|schemename|scope|scopelen|scrnht|scrnwd|seconds|security|segmentlist|send|sender|serialnum|serialnumlen|server|serveraddr|serveraddrnu|serverconv|servername|service|session|sesstoken|set|shared|shift-in|shift-out|sigdata|signal|signoff|signon|sit|snamelength|soapfault|sort-control|sort-core-size|sort-file-size|sort-message|sort-mode-size|sort-return|sosi|space|spaces|spoolclose|spoolopen|spoolread|spoolwrite|srvconvert|srvraddr6nu|srvripfamily|ssltype|start|startbr|startbrowse|startcode|state|statelen|stationid|status|statuscode|statuslen|statustext|storage|strfield|stringformat|subaddr|subcodelen|subcodestr|subevent|subevent1|subevent2|subevent3|subevent4|subevent5|subevent6|subevent7|subevent8|sum|suspend|suspstatus|symbol|symbollist|synchronous|synclevel|synconreturn|syncpoint|sysid|tables|tally|task|taskpriority|tcpip|tcpipservice|tct|tctua|tctualeng|td|tellerid|template|termcode|termid|terminal|termpriority|test|text|textkybd|textlength|textprint|time|timeout|timer|timesep|title|to|toactivity|tochannel|tocontainer|toflength|token|tolength|toprocess|trace|tracenum|trailer|tranpriority|transaction|transform|transid|trigger|trt|true|ts|twa|twaleng|type|typename|typenamelen|typens|typenslen|unattend|uncommitted|unescaped|unexpin|unlock|until|uow|update|uri|urimap|url|urllength|userdatakey|userid|username|usernamelen|userpriority|using|validation|value|valuelength|verify|versionlen|volume|volumeleng|wait|waitcics|web|when-compiled|wpmedia1|wpmedia2|wpmedia3|wpmedia4|wrap|write|writeq|wsacontext|wsaepr|xctl|xmlcontainer|xmltodata|xmltransform|xrba|year|yyddd|yyddmm|yymmdd|yyyyddd|yyyyddmm|yyyymmdd|zero|zeroes|zeros)(?![\\-\\w])", |
| 1080 |
"name": "keyword.verb.cics" |
| 1081 |
}, |
| 1082 |
"dli-keywords": { |
| 1083 |
"match": "(?<![\\-\\w])(?i:accept|chkp|deq|dlet|gnp|gn|gu|isrt|load|log|pos|query|refresh|repl|retrieve|rolb|roll|rols|schd|sets|setu|symchkp|term|xrst)(?![\\-\\w])", |
| 1084 |
"name": "keyword.verb.dli" |
| 1085 |
}, |
| 1086 |
"string-quoted-constant": { |
| 1087 |
"begin": "'", |
| 1088 |
"beginCaptures": { |
| 1089 |
"0": { |
| 1090 |
"name": "punctuation.definition.string.begin.cobol" |
| 1091 |
} |
| 1092 |
}, |
| 1093 |
"end": "('|$)", |
| 1094 |
"endCaptures": { |
| 1095 |
"0": { |
| 1096 |
"name": "punctuation.definition.string.end.cobol" |
| 1097 |
} |
| 1098 |
}, |
| 1099 |
"name": "string.quoted.single.cobol" |
| 1100 |
}, |
| 1101 |
"string-double-quoted-constant": { |
| 1102 |
"begin": "\"", |
| 1103 |
"beginCaptures": { |
| 1104 |
"0": { |
| 1105 |
"name": "punctuation.definition.string.begin.cobol" |
| 1106 |
} |
| 1107 |
}, |
| 1108 |
"end": "(\"|$)", |
| 1109 |
"endCaptures": { |
| 1110 |
"0": { |
| 1111 |
"name": "punctuation.definition.string.end.cobol" |
| 1112 |
} |
| 1113 |
} |
| 1114 |
}, |
| 1115 |
"number-complex-constant": { |
| 1116 |
"match": "(\\-|\\+)?((([0-9]+(\\.[0-9]+))|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?(?=\\s|\\.$|,|\\))", |
| 1117 |
"name": "constant.numeric.cobol" |
| 1118 |
}, |
| 1119 |
"number-simple-constant": { |
| 1120 |
"match": "(\\-|\\+)?([0-9]+)(?=\\s|\\.$|,|\\))", |
| 1121 |
"name": "constant.numeric.cobol" |
| 1122 |
} |
| 1123 |
}, |
| 1124 |
"scopeName": "source.cobol" |
| 1125 |
} |
| 1126 |
|