{
  "scopeName": "meta.embedded.block.cics",
  "injectionSelector": ["R:cics.embedded.code", "L:string.quoted.cics.cobol"],
  "patterns": [
    {
      "include": "#cics-injection"
    }
  ],
  "repository": {
    "cics-injection": {
      "patterns": [
        {
          "include": "#cics-keywords"
        },
        {
          "include": "#number-constant"
        },
        {
          "include": "#string-quoted-constant"
        },
        {
          "include": "#string-double-quoted-constant"
        },
        {
          "include": "#comment-cics-source"
        },
        {
          "include": "#sequence-number-area"
        }
      ]
    },
    "cics-keywords": {
      "match": "(?<![\\-\\w])(?i:ABCODE|ABDUMP|ABEND|ABENDCODE|ABOFFSET|ABORT|ABPROGRAM|ABSTIME|ACAPPLNAME|ACCESSMETHOD|ACCOUNTREC|ACCUM|ACEE|ACMAJORVER|ACMICROVER|ACMINORVER|ACOPERNAME|ACPLATNAME|ACQACTIVITY|ACQPROCESS|ACQSTATUS|ACQUACTIVITY|ACQUIRE|ACQUIRED|ACTION|ACTIONCOUNT|ACTIONTYPE|ACTIVE|ACTIVITY|ACTIVITYBUSY|ACTIVITYERR|ACTIVITYID|ACTOPENTCBS|ACTPARTN|ACTSOCKETS|ACTSSLTCBS|ACTTHRDTCBS|ACTXPTCBS|ADAPTERTYPE|ADD|ADDABLE|ADDRESS|ADDRESS64|ADJUSTMENT|ADVANCE|AFFINITY|AFTER|AGE|AIBRIDGE|AID|AIDCOUNT|AKP|ALARM|ALL|ALLOCATE|ALLOCERR|ALTER|ALTERNATE|ALTPAGEHT|ALTPAGEWD|ALTPRINTER|ALTPRTCOPY|ALTPRTCOPYST|ALTSCRNHT|ALTSCRNWD|ALTSUFFIX|ANALYZERSTAT|AND|ANY|ANYKEY|AP|APIST|APLKYBD|APLKYBDST|APLTEXT|APLTEXTST|APOST|APPEND|APPENDCRLF|APPID|APPIDLEN|APPLDATA|APPLICATION|APPLID|APPLMAJORVER|APPLMICROVER|APPLMINORVER|APPLNAMEST|APPNOTFOUND|ARCHIVEFILE|AS|ASA|ASCII|ASIS|ASKTIME|ASRAINTRPT|ASRAKEY|ASRAPSW|ASRAPSW16|ASRAREGS|ASRAREGS64|ASRASPC|ASRASTG|ASSIGN|ASSOCIATION|ASYNCHRONOUS|ASYNCSERVICE|AT|ATI|ATIFACILITY|ATISTATUS|ATITERMID|ATITRANID|ATIUSERID|ATOMSERVICE|ATOMTYPE|ATTACH|ATTACHID|ATTACHSEC|ATTACHTIME|ATTLS|ATTRIBUTES|ATTRLEN|AUDALARMST|AUDITLEVEL|AUDITLOG|AUTHENTICATE|AUTHID|AUTHORITY|AUTHTYPE|AUTHUSERID|AUTINSTMODEL|AUTOACTIVE|AUTOCONNECT|AUTOINACTIVE|AUTOINSTALL|AUTOPAGE|AUTOPAGEABLE|AUTOSTART|AUTOSTATUS|AUXILIARY|AUXPAUSE|AUXSTART|AUXSTATUS|AUXSTOP|AVAIL|AVAILABILITY|AVAILABLE|AVAILSTATUS|BA|BACKLOG|BACKOUT|BACKTRANSST|BACKUPTYPE|BASE64|BASEDSNAME|BASESCOPE|BASICAUTH|BEFORE|BELOW|BIF|BINARY|BINDFILE|BINDING|BIT|BLOCKFORMAT|BLOCKKEYLEN|BLOCKSIZE|BM|BODYCHARSET|BOOKMARK|BR|BRANCHQUAL|BRDATA|BRDATALENGTH|BREXIT|BRFACILITY|BRIDGE|BROWSABLE|BROWSE|BROWSETOKEN|BTRANS|BUFFER|BUILD|BUNDLE|BUNDLEDIR|BUNDLEID|BUNDLEPART|BUSAPPMGR|BUSY|BYTEOFFSET|CACHESIZE|CADDRLENGTH|CALLER|CALLERLENGTH|CANCEL|CAPDATAPRED|CAPINFOSRCE|CAPOPTPRED|CAPTUREPOINT|CAPTUREPTYPE|CAPTURESPEC|CARD|CAUSE|CBIDERR|CBLCARD|CBUFF|CCSID|CCSIDERR|CDSASIZE|CEDF|CEDFSTATUS|CERTIFICATE|CFDTPOOL|CFTABLE|CGROUP|CHANGE|CHANGEAGENT|CHANGEAGREL|CHANGED|CHANGETIME|CHANGEUSRID|CHANNEL|CHANNELERR|CHAR|CHARACTERSET|CHECK|CHILD|CHUNKEND|CHUNKING|CHUNKNO|CHUNKYES|CICSDATAKEY|CICSSTATUS|CICSSYS|CICSTABLE|CICSTSLEVEL|CIDDOMAIN|CIPHER|CIPHERS|CLASS|CLEAR|CLICONVERT|CLIENT|CLIENTADDR|CLIENTADDRNU|CLIENTCONV|CLIENTIPADDR|CLIENTLOC|CLIENTNAME|CLIENTPORT|CLNTADDR6NU|CLNTCODEPAGE|CLNTIPFAMILY|CLOSE|CLOSED|CLOSELEAVE|CLOSESTATUS|CLOSETIMEOUT|CLRPARTN|CMD|CMDPROTECT|CMDSEC|CNAMELENGTH|CNOTCOMPL|COBOLTYPE|CODEPAGE|CODEPAGEERR|COLDACQ|COLDSTATUS|COLLECT|COLOR|COLORST|COMAUTHID|COMAUTHTYPE|COMMAREA|COMMIT|COMMONNAME|COMMONNAMLEN|COMPAREMAX|COMPAREMIN|COMPAT|COMPATMODE|COMPID|COMPLETE|COMPOSITE|COMPRESS|COMPRESSST|COMPSTATUS|COMTHREADLIM|COMTHREADS|CONCURRENCY|CONCURRENTST|CONDITION|CONFIG|CONFIGDATA1|CONFIGFILE|CONFIRM|CONFIRMATION|CONNECT|CONNECTED|CONNECTERROR|CONNECTION|CONNECTIONS|CONNECTST|CONNSTATUS|CONNTYPE|CONSISTENT|CONSNAME|CONSOLE|CONSOLES|CONTAINER|CONTAINERCNT|CONTAINERERR|CONTENTION|CONTEXTTYPE|CONTROL|CONVDATA|CONVERSE|CONVERSEST|CONVERSET|CONVERTER|CONVERTST|CONVERTTIME|CONVID|COPID|COPY|COPYST|CORBASERVER|CORRELID|COUNTER|COUNTRY|COUNTRYLEN|CP|CPI|CPSM|CQP|CREATE|CREATESESS|CRITICAL|CRITICALST|CRLPROFILE|CSD|CSDERR|CSIGN|CTERM|CTLCHAR|CTLGALL|CTLGMODIFY|CTLGNONE|CTX|CURAUXDS|CURRENT|CURRENTDDS|CURRENTHEAP|CURRENTPROG|CURREQS|CURRPGM|CURRPGMOP|CURRTRANID|CURRTRANIDOP|CURRUSERID|CURRUSERIDOP|CURSOR|CUSERID|CWA|CWALENG|DAE|DAEOPTION|DATA|DATA1|DATA2|DATABUFFERS|DATAFORMAT|DATALENGTH|DATALOCATION|DATAONLY|DATAPOINTER|DATASET|DATASTR|DATASTREAM|DATATOJSON|DATATOXML|DATATYPE|DATCONTAINER|DATE|DATEFORM|DATESEP|DATESTRING|DAYCOUNT|DAYOFMONTH|DAYOFWEEK|DAYOFYEAR|DAYS|DAYSLEFT|DB2|DB2CONN|DB2ENTRY|DB2GROUPID|DB2ID|DB2PLAN|DB2RELEASE|DB2TRAN|DBCS|DC|DCOUNTER|DCT|DD|DDMMYY|DDMMYYYY|DDNAME|DEBKEY|DEBREC|DEBUG|DEBUGTOOL|DEEDIT|DEFAULT|DEFINE|DEFINESOURCE|DEFINETIME|DEFPAGEHT|DEFPAGEWD|DEFRESP|DEFSCRNHT|DEFSCRNWD|DELAY|DELETABLE|DELETE|DELETEQ|DELETSHIPPED|DELIMITER|DEQ|DEREGISTERED|DESTCOUNT|DESTID|DESTIDLENG|DETAIL|DETAILLENGTH|DEVICE|DFHRESP|DFHVALUE|DFLTUSER|DH|DIAGNOSTICS|DIGEST|DIGESTTYPE|DIRMGR|DISABLE|DISABLED|DISABLEDACT|DISCARD|DISCONNECT|DISCOVERALL|DISCREQ|DISCREQST|DISPATCHABLE|DISPATCHER|DISPOSITION|DJAR|DLI|DM|DNAME|DNAMELEN|DOCDELETE|DOCSIZE|DOCSTATUS|DOCTEMPLATE|DOCTOKEN|DOCUMENT|DOMAINMGR|DP|DPLIST|DPLLIMIT|DPLSUBSET|DRAIN|DROLLBACK|DS|DS3270|DSALIMIT|DSANAME|DSIDERR|DSNAME|DSNAME01|DSNAME02|DSNAME03|DSNAME04|DSNAME05|DSNAME06|DSNAME07|DSNAME08|DSNAME09|DSNAME10|DSNAME11|DSNAME12|DSNAME13|DSNAME14|DSNAME15|DSNAME16|DSNAMELIST|DSNNOTFOUND|DSPLIST|DSRTPROGRAM|DSSCS|DSSTAT|DTIMEOUT|DTRPROGRAM|DU|DUALCASEST|DUMP|DUMPCODE|DUMPDS|DUMPID|DUMPING|DUMPSCOPE|DUMPTYPE|DUPACTION|DUPERROR|DUPKEY|DUPNOREPLACE|DUPREC|DUPREPLACE|DUPRES|DURATION|DYNAMSTATUS|EC|ECADDR|ECBLIST|ECDSASIZE|EDSALIMIT|EI|EIB|EJ|ELEMENT|ELEMENT64|ELEMENTLIST|ELEMNAME|ELEMNAMELEN|ELEMNS|ELEMNSLEN|EM|EMITMODE|EMPTY|EMPTYREQ|EMPTYSTATUS|ENABLE|ENABLED|ENABLEDCOUNT|ENABLESTATUS|ENCRYPTKEY|ENCRYPTPTKT|END|ENDACTIVITY|ENDAFFINITY|ENDBR|ENDBRGROUP|ENDBRLIST|ENDBROWSE|ENDBRRSRCE|ENDDATA|ENDFILE|ENDINPT|ENDOFDAY|ENDOFDAYHRS|ENDOFDAYMINS|ENDOFDAYSECS|ENDOUTPUT|ENDPOINT|ENQ|ENQBUSY|ENQFAILS|ENQMODEL|ENQNAME|ENQSCOPE|ENQUEUE|ENTER|ENTJAVA|ENTRY|ENTRYNAME|ENTRYPOINT|ENVDEFERR|EOC|EODS|EOF|EP|EPADAPTER|EPADAPTERNUM|EPADAPTERRES|EPADAPTERSET|EPADAPTINSET|EPCDSASIZE|EPRFIELD|EPRFROM|EPRINTO|EPRLENGTH|EPRSET|EPRTYPE|EPSTATUS|EPUDSASIZE|EQUAL|ERASE|ERASEAUP|ERDSASIZE|ERROR|ERRORMSG|ERRORMSGLEN|ERROROPTION|ERRTERM|ESDSASIZE|ESMAPPNAME|ESMREASON|ESMRESP|EUDSASIZE|EVENT|EVENTBINDING|EVENTCAPTURE|EVENTERR|EVENTMGR|EVENTNAME|EVENTPROC|EVENTPROCESS|EVENTTYPE|EVENTUAL|EWASUPP|EXACTMATCH|EXCEPT|EXCEPTCLASS|EXCEPTION|EXCI|EXCLUSIVE|EXCTL|EXECKEY|EXECUTABLE|EXECUTIONSET|EXIT|EXITALL|EXITPGM|EXITPROGRAM|EXITTRACE|EXITTRACING|EXPECT|EXPIRED|EXPIRYINT|EXPIRYINTMIN|EXPIRYTIME|EXTDS|EXTENDEDDSST|EXTERNAL|EXTRACT|FACILITY|FACILITYLIKE|FACILITYTOKN|FACILITYTYPE|FACILNAME|FACILTYPE|FALSE|FAULTACTLEN|FAULTACTOR|FAULTCODE|FAULTCODELEN|FAULTCODESTR|FAULTSTRING|FAULTSTRLEN|FC|FCI|FCT|FEATUREKEY|FETCH|FIELD|FIELDLENGTH|FIELDOFFSET|FILE|FILECOUNT|FILELIMIT|FILENAME|FILENOTFOUND|FILEPATH|FILTERVALUE|FIRESTATUS|FLAGSET|FLAGSTATUS|FLENGTH|FLUSH|FMH|FMHPARM|FMHPARMST|FMHSTATUS|FOR|FORCE|FORCECANCEL|FORCECLOSE|FORCEPURGE|FORCEQR|FORCEUOW|FORMATEDF|FORMATEDFST|FORMATTIME|FORMFEED|FORMFEEDST|FORMFIELD|FREE|FREEKB|FREEMAIN|FREEMAIN64|FREQUENCY|FREQUENCYHRS|FREQUENCYMIN|FREQUENCYMINS|FREQUENCYSEC|FREQUENCYSECS|FROM|FROMACTIVITY|FROMCCSID|FROMCHANNEL|FROMCODEPAGE|FROMDOC|FROMFLENGTH|FROMLENGTH|FROMPROCESS|FRSET|FULL|FULLAPI|FULLDATE|FUNCERR|FUNCTION|FWDRECOVLOG|FWDRECOVLSN|FWDRECSTATUS|GAENTRYNAME|GAEXECUTABLE|GALENGTH|GALOCATION|GARBAGEINT|GASET|GATHER|GATHERTYPE|GAUSECOUNT|GC|GCDSASIZE|GCHARS|GCODES|GCPOLICY|GDS|GENERIC|GENERICTCPS|GET|GET64|GETMAIN|GETMAIN64|GETNEXT|GETNEXTGROUP|GETNEXTLIST|GETNEXTRSRCE|GLOBALCATLG|GMEXITOPT|GMMI|GMMLENGTH|GMMTEXT|GMMTRANID|GRNAME|GROUP|GROUPID|GROUPRESYNC|GRSTATUS|GSDSASIZE|GSKRESP|GTEQ|GTFSTART|GTFSTATUS|GTFSTOP|GUDSASIZE|HA|HANDLE|HEAD|HEADER|HEALTH|HEALTHABSTIM|HEALTHCHECK|HEAP|HEX|HFORMST|HFS|HFSFILE|HIGH-VALUE|HIGH-VALUES|HIGH|HILIGHT|HILIGHTST|HOLD|HOLDSTATUS|HONEOM|HOST|HOSTCODEPAGE|HOSTLENGTH|HOSTTYPE|HOURS|HTTP|HTTPS|HTTPHEADER|HTTPMETHOD|HTTPRNUM|HTTPVERSION|HTTPVNUM|IC|IDENTIFIER|IDLE|IDLEHRS|IDLEMINS|IDLESECS|IDLIST|IDLISTLENGTH|IDNTY|IDNTYCLASS|IDPROP|IE|IGNORE|IGREQCD|IGREQID|ILLOGIC|IMMCLOSE|IMMEDIATE|IMMQUIESCED|IN|INBFMH|INCOMPLETE|INCONTAINER|INCREMENT|INDIRECTNAME|INDOUBT|INDOUBTMINS|INDOUBTST|INDOUBTWAIT|INITHEAP|INITIALDDS|INITIMG|INITPARM|INITPARMLEN|INITQNAME|INITSTATUS|INITUSERID|INPARTN|INPUT|INPUTEVENT|INPUTMSG|INPUTMSGLEN|INQUIRE|INQUIREGROUP|INQUIRELIST|INQUIRERSRCE|INSERT|INSERVICE|INSTALL|INSTALLAGENT|INSTALLTIME|INSTALLUSRID|INTEGER|INTERVAL|INTERVALHRS|INTERVALMINS|INTERVALSECS|INTO|INTOCCSID|INTOCODEPAGE|INTSTART|INTSTATUS|INTSTOP|INVALIDCOUNT|INVERRTERM|INVEXITREQ|INVITE|INVLDC|INVMPSZ|INVOKE|INVOKETYPE|INVOKINGPROG|INVPARTN|INVPARTNSET|INVREQ|INVTSREQ|IOERR|IOTYPE|IPADDRESS|IPCONN|IPECI|IPFACILITIES|IPFACILITY|IPFACILTYPE|IPFAMILY|IPFLISTSIZE|IPRESOLVED|IRC|IS|ISCINVREQ|ISOLATEST|ISSUE|ISSUER|ISUSERID|ITEM|ITEMERR|ITEMNAME|IUTYPE|JAVACORE|JAVAHOME|JCT|JIDERR|JOBLIST|JOBNAME|JOURNALMODEL|JOURNALNAME|JOURNALNUM|JOURNALSTATUS|JRNL|JSONTODATA|JTYPEID|JUSFIRST|JUSLAST|JUSTIFY|JVM|JVMACTION|JVMCLASS|JVMENDPOINT|JVMPROFILE|JVMPROGRAM|JVMSERVER|JVMTYPE|JWT|KATAKANA|KATAKANAST|KC|KE|KEEP|KEEPTIME|KERBEROS|KERNEL|KEYLENGTH|KEYNUMBER|KEYPOSITION|KILL|L40|L64|L80|LABEL|LANGDEDUCED|LANGINUSE|LANGUAGE|LANGUAGECODE|LAST|LASTACTTIME|LASTCOLDTIME|LASTEMERTIME|LASTINITTIME|LASTMODTIME|LASTRESET|LASTRESETABS|LASTRESETHRS|LASTRESETMIN|LASTRESETSEC|LASTSECDTIME|LASTUSEDINT|LASTUSETIME|LASTWARMTIME|LASTWRITTIME|LD|LDC|LDCMNEM|LDCNUM|LEAVEKB|LENGERR|LENGTH|LENGTHLIST|LERUNOPTS|LEVEL|LG|LIBERTY|LIBRARY|LIBRARYDSN|LIBRTYACTION|LIGHTPEN|LIGHTPENST|LINAGE-COUNTER|LINE|LINEADDR|LINK|LINKABEND|LINKAGE|LINKAUTH|LINKEDITMODE|LINKLEVEL|LINKSYSNET|LINKSYSTEM|LIST|LISTACTION|LISTLENGTH|LISTSIZE|LLID|LM|LOAD|LOADER|LOADING|LOADPOINT|LOADTYPE|LOCAL|LOCALCATLG|LOCALCCSID|LOCALITY|LOCALITYLEN|LOCATION|LOCK|LOCKED|LOCKING|LOCKMGR|LOG|LOGDEFER|LOGGER|LOGMESSAGE|LOGMODE|LOGONLOGMODE|LOGONMSG|LOGREPSTATUS|LOSTLOCKS|LOW-VALUE|LOW-VALUES|LOW|LPASTATUS|LSRPOOL|LSRPOOLNUM|LUNAME|MAIN|MAJORVERSION|MANAGEDPLAT|MAP|MAPCOLUMN|MAPFAIL|MAPHEIGHT|MAPLINE|MAPNAME|MAPONLY|MAPPED|MAPPINGDEV|MAPPINGLEVEL|MAPPINGRNUM|MAPPINGVNUM|MAPSET|MAPSETNAME|MAPWIDTH|MASSINSERT|MAXACTIVE|MAXDATALEN|MAXFLENGTH|MAXHEAP|MAXIMUM|MAXITEMLEN|MAXLENGTH|MAXLIFETIME|MAXNUMRECS|MAXOPENTCBS|MAXPERSIST|MAXPROCLEN|MAXQTIME|MAXREQS|MAXSOCKETS|MAXSSLTCBS|MAXTASKS|MAXTHRDTCBS|MAXWINNERS|MAXXPTCBS|MCC|ME|MEDIATYPE|MEMBER|MEMBERNAME|MEMLIMIT|MESSAGE|MESSAGECASE|MESSAGEID|METADATA|METADATAFILE|METADATALEN|METHOD|METHODLENGTH|MGMTPART|MICROVERSION|MILLISECONDS|MILLISECS|MINIMUM|MINITEMLEN|MINORVERSION|MINRUNLEVEL|MINRUNRNUM|MINRUNVNUM|MINUTES|MIRRORLIFE|ML|MMDDYY|MMDDYYYY|MN|MODE|MODELIDERR|MODENAME|MODIFY|MONDATA|MONITOR|MONSTATUS|MONTH|MONTHOFYEAR|MONUSERID|MOVE|MP|MQCONN|MQINI|MQMONITOR|MQNAME|MQQMGR|MQRELEASE|MROBATCH|MSGFORMAT|MSGQUEUE1|MSGQUEUE2|MSGQUEUE3|MSR|MSRCONTROL|MSRCONTROLST|MTOMNOXOPST|MTOMST|MVSIMAGE|MVSSMFID|MVSSYSNAME|MVSTCB|NAME|NAMELENGTH|NAMESPACE|NATLANG|NATLANGINUSE|NATURE|NETID|NETNAME|NETNAMEIDERR|NETUOWID|NETWORK|NETWORKID|NEWCOPY|NEWMAXSOCKET|NEWMAXTASKS|NEWPASSWORD|NEWPHRASE|NEWPHRASELEN|NEWSECDCOUNT|NEXT|NEXTTIME|NEXTTIMEHRS|NEXTTIMEMINS|NEXTTIMESECS|NEXTTRANSID|NLEOM|NO|NOALTPRTCOPY|NOATI|NOAUTOPAGE|NOAUTOSTART|NOCC|NOCEDF|NOCHECK|NOCLICONVERT|NOCLOSE|NOCOMPAT|NOCOMPRESS|NOCONNECT|NOCONVERSE|NOCREATE|NODAE|NODATA|NODE|NODEBUG|NODEHOME|NODEIDERR|NODEJSAPP|NODISCREQ|NODOCDELETE|NODUMP|NOEDIT|NOEMPTYREQ|NOEXCEPT|NOEXCTL|NOEXITTRACE|NOFLUSH|NOFORCE|NOHANDLE|NOIDNTY|NOINCONVERT|NOJBUFSP|NOJVM|NOLOAD|NOLOG|NONCRITICAL|NONE|NONTERMREL|NONVAL|NOOBFORMAT|NOOTELTRACE|NOOUTCONVERT|NOPASSBKRD|NOPASSBKWR|NOPERF|NOPRTCOPY|NOQUEUE|NOQUIESCE|NORECOVDATA|NORELEASE|NORELREQ|NOREPLICATOR|NORESRCE|NORESTART|NORESYNC|NORMAL|NOSDTRAN|NOSHUTDOWN|NOSPACE|NOSPOOL|NOSRVCONVERT|NOSTART|NOSTG|NOSUSPEND|NOSWITCH|NOSYNCPOINT|NOSYSDUMP|NOTADDABLE|NOTADDBALE|NOTALLOC|NOTAUTH|NOTBROWSABLE|NOTCONNECTED|NOTDELETABLE|NOTE|NOTERMINAL|NOTFINISHED|NOTFND|NOTOPEN|NOTPENDING|NOTPURGEABLE|NOTRANDUMP|NOTREADABLE|NOTRLS|NOTRUNCATE|NOTSUPERUSER|NOTTABLE|NOTTI|NOTUPDATABLE|NOTWAIT|NOUCTRAN|NOVALIDATION|NOWAIT|NOWRITE|NOZCPTRACE|NQ|NQNAME|NSCONTAINER|NULL|NULLS|NUMCIPHERS|NUMDATAPRED|NUMDSNAMES|NUMELEMENTS|NUMEVENTS|NUMEXITS|NUMINFOSRCE|NUMITEMS|NUMOPTPRED|NUMREC|NUMROUTES|NUMSEGMENTS|NUMTAB|OBFORMAT|OBFORMATST|OBJECT|OBJECTNAME|OBJECTTRAN|OBOPERIDST|OCCUPANCY|ODADPTRDATA1|ODADPTRDATA2|ODADPTRDATA3|ODADPTRID|ODAPPLID|ODCLNTIPADDR|ODCLNTPORT|ODFACILNAME|ODFACILTYPE|ODIPFAMILY|ODLUNAME|ODNETID|ODNETWORKID|ODSERVERPORT|ODSTARTTIME|ODTASKID|ODTCPIPS|ODTRANSID|ODUSERID|OF|OFF|OIDCARD|OK|OLD|ON|OPCLASS|OPEN|OPENAPI|OPENERR|OPENOUTPUT|OPENSTATUS|OPERATION|OPERATOR|OPERID|OPERKEYS|OPERPURGE|OPID|OPREL|OPSECURITY|OPSYS|OPTIONNAME|OPTIONS|OPTIONSPGM|OR|ORGABCODE|ORGANIZATION|ORGANIZATLEN|ORGUNIT|ORGUNITLEN|OSGI|OSGIACTION|OSGIBUNDLE|OSGIBUNDLEID|OSGISERVICE|OSGISTATUS|OSGIVERSION|OSLEVEL|OT|OTEL|OTELTRACE|OTSTID|OTSTIMEOUT|OUTCONTAINER|OUTDESCR|OUTDESCRERR|OUTLINE|OUTLINEST|OUTPARTN|OUTPUT|OUTSERVICE|OUTTOKEN|OUTTOKENLEN|OVERFLOW|OWNER|PA|PA1|PA2|PA3|PAGE-COUNTER|PAGE|PAGEABLE|PAGEHT|PAGENUM|PAGESTATUS|PAGEWD|PAGING|PARAMGR|PARSE|PARTCLASS|PARTCOUNT|PARTIAL|PARTITIONSET|PARTITIONSST|PARTN|PARTNER|PARTNERIDERR|PARTNFAIL|PARTNPAGE|PARTNS|PARTNSET|PARTTYPE|PASS|PASSBK|PASSTICKET|PASSWORD|PASSWORDLEN|PATCH|PATH|PATHLENGTH|PC|PCDSASIZE|PCT|PENDSTATUS|PERF|PERFCLASS|PERFORM|PERMANENT|PF1|PF2|PF3|PF4|PF5|PF6|PF7|PF8|PF9|PF10|PF11|PF12|PF13|PF14|PF15|PF16|PF17|PF18|PF19|PF20|PF21|PF22|PF23|PF24|PFXLENG|PG|PGMIDERR|PGMINTERFACE|PHAPPLID|PHASEIN|PHASEOUT|PHCOUNT|PHNETWORKID|PHRASE|PHRASELEN|PHSTARTTIME|PHTASKID|PHTRANSID|PI|PID|PIPELINE|PIPEMGR|PIPLENGTH|PIPLIST|PLAN|PLANEXITNAME|PLATFORM|PLT|PLTNAME|PLTPIUSR|POINT|POLICY|POLICYRULE|POOL|POOLERR|POOLNAME|POP|PORT|PORTNUMBER|PORTNUMNU|POST|PPT|PREDICATE|PREFIX|PREPARE|PREPEND|PRIMPRED|PRIMPREDOP|PRIMPREDTYPE|PRINCONVID|PRINSYSID|PRINT|PRINTADAPTST|PRINTCONTROL|PRINTER|PRIORITY|PRIVACY|PRIVATE|PROCESS|PROCESSBUSY|PROCESSERR|PROCESSTYPE|PROCLENGTH|PROCNAME|PROFILE|PROFILEDIR|PROFILEIDERR|PROGAUTO|PROGAUTOCTLG|PROGAUTOEXIT|PROGAUTOINST|PROGMGR|PROGRAM|PROGRAMDEF|PROGSYMBOLST|PROGTYPE|PROP|PROPEMIT|PROPINIT|PROPINITEMIT|PROTECT|PROTECTNUM|PROTOCOL|PRTCOPY|PRTCOPYST|PRTYAGING|PS|PSB|PSDINTERVAL|PSDINTHRS|PSDINTMINS|PSDINTSECS|PSTYPE|PT|PTCOUNT|PTHREADS|PTSTARTTIME|PTTASKID|PTTRANSID|PUDSASIZE|PUNCH|PURGE|PURGEABILITY|PURGEABLE|PURGEABLEST|PURGEACTION|PURGECYCLEM|PURGECYCLES|PURGETHRESH|PURGETYPE|PUSH|PUT|PUT64|QALL|QBUSY|QIDERR|QNAME|QNOTENAB|QSESSLIM|QUALIFIER|QUALLEN|QUASIRENT|QUERY|QUERYPARM|QUERYST|QUERYSTRING|QUERYSTRLEN|QUESCESTATE|QUEUE|QUEUED|QUEUELIMIT|QUIESCED|QUIESCESTATE|QUOTE|QUOTES|QZERO|RA|RANDOM|RANKING|RBA|RBATYPE|RBN|RDATT|RDSASIZE|READ|READABLE|READINTEG|READNEXT|READPREV|READQ|REALM|REALMLEN|REASON|REATTACH|REBUILD|RECEIVE|RECEIVECOUNT|RECEIVER|RECFM|RECONNECT|RECORD|RECORDBUSY|RECORDFORMAT|RECORDING|RECORDLEN|RECORDLENGTH|RECORDNOW|RECORDSIZE|RECOVERED|RECOVERY|RECOVSTATUS|REDIRECTTYPE|REDUCE|REENTPROTECT|REFPARMS|REFPARMSLEN|REFRESH|REFRESHPKGS|REGIONSTAT|REGIONUSERID|RELATED|RELATESINDEX|RELATESTYPE|RELATESURI|RELATION|RELEASE|RELEASED|RELREQ|RELREQST|RELTYPE|REMOTENAME|REMOTEPREFIX|REMOTESYSNET|REMOTESYSTEM|REMOTETABLE|REMOVE|RENAME|REPEATABLE|REPETABLE|REPLACE|REPLICATION|REPLICATOR|REPLY|REPLYLENGTH|REQID|REQTYPE|REQUEST|REQUESTMODEL|REQUESTSTRM|REQUESTTYPE|REQUIRED|RES|RESCLASS|RESCOUNT|RESET|RESETBR|RESETLOCKS|RESETNOW|RESETTIME|RESID|RESIDENCY|RESIDERR|RESIDLEN|RESIDLENGTH|RESLEN|RESLIFEMGR|RESNAME|RESOURCE|RESOURCENAME|RESOURCETYPE|RESP|RESP2|RESPWAIT|RESRCE|RESRCECLASS|RESSEC|RESTART|RESTYPE|RESULT|RESUME|RESUNAVAIL|RESYNC|RESYNCMEMBER|RESYNCNUMBER|RESYNCSTATUS|RETAIN|RETCODE|RETCORD|RETLOCKS|RETPAGE|RETRIECE|RETRIEVE|RETRY|RETURN|RETURNPROG|REUSELIMIT|REWIND|REWRITE|RI|RIDFLD|RL|RLS|RLSACCESS|RLSSTATUS|RM|RMI|RMIADAPTERS|RMIQFY|RMIST|ROLE|ROLELENGTH|ROLLBACK|ROLLEDBACK|ROUTE|ROUTECODES|ROUTESTATUS|ROUTING|RPROCESS|RREPL|RRESOURCE|RRMS|RRN|RRS|RS|RTEFAIL|RTERMID|RTESOME|RTIMEOUT|RTRANSID|RULEGROUP|RULEITEM|RULETYPE|RUN|RUNAWAY|RUNAWAYTYPE|RUNNING|RUNSTATUS|RUNTIME|RX|RZ|SADDRLENGTH|SC|SCAN|SCANDELAY|SCHEDULER|SCHEMALEVEL|SCHEME|SCHEMENAME|SCOPE|SCOPELEN|SCRNHT|SCRNSIZE|SCRNWD|SDSASIZE|SDTMEMLIMIT|SDTRAN|SEARCHPOS|SECDCOUNT|SECDISCOVERY|SECONDS|SECPORT|SECRECORDING|SECURITY|SECURITYMGR|SECURITYNAME|SECURITYST|SEGIDERR|SEGMENTLIST|SELNERR|SEND|SENDCOUNT|SENDER|SENDMTOMST|SERIALNUM|SERIALNUMLEN|SERVER|SERVERADDR|SERVERADDRNU|SERVERCONV|SERVERDUMP|SERVERIPADDR|SERVERNAME|SERVERPORT|SERVICE|SERVSTATUS|SESSBUSY|SESSION|SESSIONERR|SESSIONS|SESSIONTYPE|SESSTOKEN|SET|SETTRANSID|SH|SHARE|SHARED|SHARELOCKS|SHARESTATUS|SHELF|SHUTDISABLED|SHUTDOWN|SHUTDOWNST|SHUTENABLED|SHUTOPTION|SHUTSTATUS|SIGDATA|SIGN|SIGNAL|SIGNID|SIGNOFF|SIGNON|SIGNONSTATUS|SINGLEOFF|SINGLEON|SINGLESTATUS|SIT|SJ|SJVM|SM|SNAMELENGTH|SNAPTRACE|SO|SOAPFAULT|SOAPLEVEL|SOAPRNUM|SOAPVNUM|SOCKETCLOSE|SOCKETS|SOCKPOOLSIZE|SOSABOVEBAR|SOSABOVELINE|SOSBELOWLINE|SOSI|SOSIST|SOSSTATUS|SPACE|SPACES|SPECIAL|SPECIFTCPS|SPECTRACE|SPI|SPIST|SPOLBUSY|SPOLERR|SPOOLCLOSE|SPOOLOPEN|SPOOLREAD|SPOOLWRITE|SPRSTRACE|SQLCODE|SRRACTIVE|SRRINACTIVE|SRRSTATUS|SRRTASKS|SRVCNAME|SRVCONVERT|SRVCSTATUS|SRVRADDR6NU|SRVRIPFAMILY|SSL|SSLCACHE|SSLTYPE|ST|STACKTRACE|STANDARD|STANDBYMODE|STANTRACE|START|STARTBR|STARTBRGROUP|STARTBRLIST|STARTBROWSE|STARTBRRSRCE|STARTCODE|STARTED|STARTSCRIPT|STARTSTATUS|STARTTIME|STARTUP|STARTUPDATE|STATE|STATELEN|STATIONID|STATISTICS|STATS|STATSQUEUE|STATUS|STATUSCODE|STATUSLEN|STATUSTEXT|STDERR|STDOUT|STOP|STOPPED|STORAGE|STORAGE64|STORAGECLEAR|STOREPROTECT|STREAMNAME|STRELERR|STRFIELD|STRINGFORMAT|STRINGS|STRINGZONE|STRUCTNAME|SUBADDR|SUBCODELEN|SUBCODESTR|SUBEVENT|SUBEVENT1|SUBEVENT2|SUBEVENT3|SUBEVENT4|SUBEVENT5|SUBEVENT6|SUBEVENT7|SUBEVENT8|SUBPOOL|SUBRESID|SUBRESIDLEN|SUBRESTYPE|SUBTASKS|SUM|SUPPRESSED|SUSPEND|SUSPENDED|SUSPENDTIME|SUSPENDTYPE|SUSPENDVALUE|SUSPSTATUS|SWITCH|SWITCHACTION|SWITCHALL|SWITCHNEXT|SWITCHSTATUS|SYMBOL|SYMBOLERR|SYMBOLLIST|SYNCHRONOUS|SYNCLEVEL|SYNCONRETURN|SYNCPOINT|SYNCPOINTST|SYSBUSY|SYSDUMP|SYSDUMPCODE|SYSDUMPING|SYSID|SYSIDERR|SYSOUTCLASS|SYSTEM|SYSTEMLOG|SYSTEMOFF|SYSTEMON|SYSTEMSTATUS|SZ|TABLE|TABLEMGR|TABLENAME|TABLEONLY|TABLES|TABLESIZE|TAEXECUTABLE|TAG|TAGS|TAKEOVER|TALENGTH|TARGET|TARGETCOUNT|TASK|TASKDATAKEY|TASKDATALOC|TASKID|TASKIDERR|TASKPRIORITY|TASKS|TASKSTART|TASKSTARTST|TASKSUBPOOL|TC|TCAMCONTROL|TCB|TCBLIMIT|TCBS|TCEXITALL|TCEXITALLOFF|TCEXITNONE|TCEXITSTATUS|TCEXITSYSTEM|TCIDERR|TCLASS|TCPIP|TCPIPJOB|TCPIPSERVICE|TCPIPZONE|TCT|TCTUA|TCTUALENG|TD|TDQUEUE|TELLERID|TEMPLATE|TEMPLATENAME|TEMPLATERR|TEMPLATETYPE|TEMPORARY|TEMPSTORAGE|TERM|TERMCODE|TERMERR|TERMID|TERMIDERR|TERMINAL|TERMMODEL|TERMPRIORITY|TERMSTATUS|TEST|TEXT|TEXTKYBD|TEXTKYBDST|TEXTLENGTH|TEXTPRINT|TEXTPRINTST|THREADCOUNT|THREADERROR|THREADLIMIT|THREADS|THREADSAFE|THREADWAIT|THRESHOLD|TI|TIME|TIMEDOUT|TIMEOUT|TIMEOUTINT|TIMER|TIMERERR|TIMESEP|TITLE|TITLELENGTH|TNADDR|TNIPFAMILY|TNPORT|TO|TOACTIVITY|TOCHANNEL|TOCONTAINER|TOFLENGTH|TOKEN|TOKENERR|TOKENLEN|TOKENTYPE|TOLENGTH|TOPROCESS|TPNAME|TPNAMELEN|TPOOL|TR|TRACE|TRACEDEST|TRACEFLAG|TRACENUM|TRACETYPE|TRACING|TRAILER|TRAN|TRANCLASS|TRANDUMP|TRANDUMPCODE|TRANDUMPING|TRANIDONLY|TRANISOLATE|TRANMGR|TRANPRIORITY|TRANSACTION|TRANSCLASS|TRANSFORM|TRANSFORMER|TRANSID|TRANSIDERR|TRANSMODE|TRIGGER|TRIGGERLEVEL|TRIGMONTASKS|TRNGRPID|TRPROF|TRT|TRUE|TS|TSIOERR|TSMAININUSE|TSMAINLIMIT|TSMODEL|TSPOOL|TSQNAME|TSQUEUE|TSQUEUELIMIT|TST|TTI|TTISTATUS|TWA|TWAIT|TWALENG|TWASIZE|TX|TXID|TYPE|TYPENAME|TYPENAMELEN|TYPENS|TYPENSLEN|TYPETERM|UCTRAN|UCTRANST|UDSASIZE|UE|UNATTEND|UNAVAILABLE|UNCOMMITTED|UNESCAPED|UNEXPIN|UNLOCK|UNQUIESCED|UNTIL|UOW|UOWACTION|UOWDSNFAIL|UOWENQ|UOWLINK|UOWLNOTFOUND|UOWNOTFOUND|UOWSTATE|UPDATABLE|UPDATE|UPDATEMODEL|URI|URID|URIMAP|URIMAPLIMIT|URL|URLLENGTH|URM|US|USAGE|USECOUNT|USER|USERAREA|USERAREALEN|USERAUTH|USERCORRDATA|USERDATA|USERDATAKEY|USERDATALEN|USERDEFINE|USERID|USERIDERR|USERNAME|USERNAMELEN|USEROFF|USERON|USERPRIORITY|USERSTATUS|USERTABLE|USERTAG|USING|VALIDATION|VALIDATIONST|VALIDITY|VALUE|VALUELENGTH|VARIABLENAME|VERIFY|VERSION|VERSIONLEN|VFORMST|VOLIDERR|VOLUME|VOLUMELENG|VTAM|W2|WAIT|WAITCAUSE|WAITCICS|WAITSTATE|WB|WEB|WEB2|WEBRESTMGR|WEBSERVICE|WEBSERVLIMIT|WHEN-COMPILED|WLMHEALTH|WLMOPENST|WORKDIR|WPMEDIA1|WPMEDIA2|WPMEDIA3|WPMEDIA4|WRAP|WRBRK|WRITE|WRITEQ|WSACONTEXT|WSAEPR|WSBIND|WSDIR|WSDLFILE|WU|XCFGROUP|XCTL|XID|XLNSTATUS|XLT|XM|XMLCONTAINER|XMLSCHEMA|XMLTODATA|XMLTRANSFORM|XOPDIRECTST|XOPSUPPORTST|XRBA|XRFSTATUS|XS|XSDBIND|YEAR|YES|YYDDD|YYDDMM|YYMMDD|YYYYDDD|YYYYDDMM|YYYYMMDD|ZCPTRACE|ZCPTRACING|ZERO|ZEROES|ZEROS)(?![\\-\\w])",
      "name": "keyword.verb.cics"
    },
    "number-constant": {
      "match": "(?<![\\+\\-\\w])(\\+|\\-)?\\d+(\\.\\d+)?([Ee](\\-|\\+)\\d+)?(?![\\-\\w])",
      "name": "constant.numeric.integer"
    },
    "string-quoted-constant": {
      "begin": "'",
      "end": "'|$",
      "name": "string.quoted.single.cics"
    },
    "string-double-quoted-constant": {
      "begin": "\"",
      "end": "\"|$",
      "name": "string.quoted.double.cics"
    },
    "comment-cics-source": {
      "match": "^(.{6})(\\/.*|\\*.*)$",
      "captures": {
        "1": {
          "name": "constant.numeric.integer"
        },
        "2": {
          "name": "comment.line.cics.fixed"
        }
      }
    },
    "sequence-number-area": {
      "match": "^.{6}",
      "name": "constant.numeric.integer"
    }
  }
}
