diff --git a/autotests/folding/test.jcl.fold b/autotests/folding/test.jcl.fold new file mode 100644 index 0000000..7eee772 --- /dev/null +++ b/autotests/folding/test.jcl.fold @@ -0,0 +1,43 @@ +//KATEJOB1 JOB (INFO),'TEST for Highlighting', +// NOTIFY=&SYSUID, +// MSGCLASS=H, +// MSGLEVEL=(1,1), +// REGION=0M +//* Example JCL to be used to test kate syntax highlighting +//* License MIT +//GREP EXEC PGM=ISRSUPC, +// PARM=(SRCHCMP,ANYC,IDPFX,NOPRTCC) +//NEWDD DD DSN=KATE.REXXLIB,DISP=OLD +//* OUTDD DD SYSOUT=* +//OUTDD DD PATHOPTS=(ORDWR,OTRUNC,OCREAT), +// PATHMODE=(SIRWXU,SIRWXO), +// PATHDISP=(KEEP,DELETE), +// FILEDATA=TEXT, +// PATH='/tmp/searched.3' +//SYSIN DD * + SRCHFOR 'STORAGE' +/* +//RACFSR EXEC PGM=IKJEFT01 +//SYSTSPRT DD DISP=SHR,DSN=&&KATE(SRCHABC) +//SYSOUT DD SYSOUT=* +//SYSTSIN DD * + SEARCH CLASS(DATASET) FILTER(**) NOMASK +//LIST EXEC PGM=IKJEFT01 +//SYSTSPRT DD DISP=SHR,DSN=&&REPORT(LISTABC) +//SYSOUT DD SYSOUT=* +//SYSTSIN DD DISP=SHR,DSN=&&KATE(SRCHABC) +// IF (RC GT 0) THEN +//CATFILE EXEC PGM=IEBGENER +//SYSUT1 DD DSN=&&REPORT(LISTABC) +// DISP=SHR +//SYSUT2 DD SYSOUT=* +//SYSPRINT DD SYSOUT=* +//SYSIN DD DUMMY +// ELSE +//UNIXID EXEC PGM=BPXBATCH,REGION=8M +//STDIN DD SYSOUT=* +//STDOUT DD SYSOUT=* +//STDPARM DD * +SH id +/* +// ENDIF diff --git a/autotests/html/test.jcl.html b/autotests/html/test.jcl.html new file mode 100644 index 0000000..7e75653 --- /dev/null +++ b/autotests/html/test.jcl.html @@ -0,0 +1,50 @@ + + + +test.jcl + +
+//KATEJOB1 JOB (INFO),'TEST for Highlighting',
+//   NOTIFY=&SYSUID,
+//   MSGCLASS=H,
+//   MSGLEVEL=(1,1),
+//   REGION=0M
+//* Example JCL to be used to test kate syntax highlighting
+//* License MIT
+//GREP     EXEC PGM=ISRSUPC,
+//         PARM=(SRCHCMP,ANYC,IDPFX,NOPRTCC)
+//NEWDD    DD DSN=KATE.REXXLIB,DISP=OLD
+//* OUTDD    DD SYSOUT=*
+//OUTDD    DD PATHOPTS=(ORDWR,OTRUNC,OCREAT),
+//             PATHMODE=(SIRWXU,SIRWXO),
+//             PATHDISP=(KEEP,DELETE),
+//             FILEDATA=TEXT,
+//             PATH='/tmp/searched.3'
+//SYSIN    DD *
+ SRCHFOR  'STORAGE'
+/*
+//RACFSR   EXEC PGM=IKJEFT01
+//SYSTSPRT DD DISP=SHR,DSN=&&KATE(SRCHABC)
+//SYSOUT   DD SYSOUT=*
+//SYSTSIN  DD *
+ SEARCH CLASS(DATASET) FILTER(**) NOMASK
+//LIST     EXEC PGM=IKJEFT01
+//SYSTSPRT DD DISP=SHR,DSN=&&REPORT(LISTABC)
+//SYSOUT   DD SYSOUT=*
+//SYSTSIN  DD DISP=SHR,DSN=&&KATE(SRCHABC)   
+// IF (RC GT 0) THEN
+//CATFILE  EXEC PGM=IEBGENER
+//SYSUT1   DD  DSN=&&REPORT(LISTABC)
+//         DISP=SHR
+//SYSUT2   DD  SYSOUT=*
+//SYSPRINT DD  SYSOUT=*
+//SYSIN    DD  DUMMY
+// ELSE
+//UNIXID   EXEC PGM=BPXBATCH,REGION=8M
+//STDIN    DD SYSOUT=*
+//STDOUT   DD SYSOUT=*
+//STDPARM  DD   *
+SH id
+/*
+// ENDIF
+
diff --git a/autotests/input/test.jcl b/autotests/input/test.jcl new file mode 100644 index 0000000..7eee772 --- /dev/null +++ b/autotests/input/test.jcl @@ -0,0 +1,43 @@ +//KATEJOB1 JOB (INFO),'TEST for Highlighting', +// NOTIFY=&SYSUID, +// MSGCLASS=H, +// MSGLEVEL=(1,1), +// REGION=0M +//* Example JCL to be used to test kate syntax highlighting +//* License MIT +//GREP EXEC PGM=ISRSUPC, +// PARM=(SRCHCMP,ANYC,IDPFX,NOPRTCC) +//NEWDD DD DSN=KATE.REXXLIB,DISP=OLD +//* OUTDD DD SYSOUT=* +//OUTDD DD PATHOPTS=(ORDWR,OTRUNC,OCREAT), +// PATHMODE=(SIRWXU,SIRWXO), +// PATHDISP=(KEEP,DELETE), +// FILEDATA=TEXT, +// PATH='/tmp/searched.3' +//SYSIN DD * + SRCHFOR 'STORAGE' +/* +//RACFSR EXEC PGM=IKJEFT01 +//SYSTSPRT DD DISP=SHR,DSN=&&KATE(SRCHABC) +//SYSOUT DD SYSOUT=* +//SYSTSIN DD * + SEARCH CLASS(DATASET) FILTER(**) NOMASK +//LIST EXEC PGM=IKJEFT01 +//SYSTSPRT DD DISP=SHR,DSN=&&REPORT(LISTABC) +//SYSOUT DD SYSOUT=* +//SYSTSIN DD DISP=SHR,DSN=&&KATE(SRCHABC) +// IF (RC GT 0) THEN +//CATFILE EXEC PGM=IEBGENER +//SYSUT1 DD DSN=&&REPORT(LISTABC) +// DISP=SHR +//SYSUT2 DD SYSOUT=* +//SYSPRINT DD SYSOUT=* +//SYSIN DD DUMMY +// ELSE +//UNIXID EXEC PGM=BPXBATCH,REGION=8M +//STDIN DD SYSOUT=* +//STDOUT DD SYSOUT=* +//STDPARM DD * +SH id +/* +// ENDIF diff --git a/autotests/reference/test.jcl.ref b/autotests/reference/test.jcl.ref new file mode 100644 index 0000000..fc81f56 --- /dev/null +++ b/autotests/reference/test.jcl.ref @@ -0,0 +1,43 @@ +//KATEJOB1 JOB (INFO),'TEST for Highlighting',
+// NOTIFY=&SYSUID,
+// MSGCLASS=H,
+// MSGLEVEL=(1,1),
+// REGION=0M
+//* Example JCL to be used to test kate syntax highlighting
+//* License MIT
+//GREP EXEC PGM=ISRSUPC,
+// PARM=(SRCHCMP,ANYC,IDPFX,NOPRTCC)
+//NEWDD DD DSN=KATE.REXXLIB,DISP=OLD
+//* OUTDD DD SYSOUT=*
+//OUTDD DD PATHOPTS=(ORDWR,OTRUNC,OCREAT),
+// PATHMODE=(SIRWXU,SIRWXO),
+// PATHDISP=(KEEP,DELETE),
+// FILEDATA=TEXT,
+// PATH='/tmp/searched.3'
+//SYSIN DD *
+ SRCHFOR 'STORAGE'
+/*
+//RACFSR EXEC PGM=IKJEFT01
+//SYSTSPRT DD DISP=SHR,DSN=&&KATE(SRCHABC)
+//SYSOUT DD SYSOUT=*
+//SYSTSIN DD *
+ SEARCH CLASS(DATASET) FILTER(**) NOMASK
+//LIST EXEC PGM=IKJEFT01
+//SYSTSPRT DD DISP=SHR,DSN=&&REPORT(LISTABC)
+//SYSOUT DD SYSOUT=*
+//SYSTSIN DD DISP=SHR,DSN=&&KATE(SRCHABC)
+// IF (RC GT 0) THEN
+//CATFILE EXEC PGM=IEBGENER
+//SYSUT1 DD DSN=&&REPORT(LISTABC)
+// DISP=SHR
+//SYSUT2 DD SYSOUT=*
+//SYSPRINT DD SYSOUT=*
+//SYSIN DD DUMMY
+// ELSE
+//UNIXID EXEC PGM=BPXBATCH,REGION=8M
+//STDIN DD SYSOUT=*
+//STDOUT DD SYSOUT=*
+//STDPARM DD *
+SH id
+/*
+// ENDIF
diff --git a/data/syntax/jcl.xml b/data/syntax/jcl.xml new file mode 100644 index 0000000..e674bac --- /dev/null +++ b/data/syntax/jcl.xml @@ -0,0 +1,170 @@ + + + + + + + JOB + CLASS + PRTY + NOTIFY + MSGCLASS + MSGLEVEL + TYPRUN + TIME + REGION + + + IF + THEN + ELSE + ENDIF + + + AND + OR + GT + LT + RC + EQ + + + COND + MEMBER + ORDER + PARM + PGM + EXEC + PROC + RETAIN + SYSDA + DD + + + ACCODE + AMP + AVGREC + SET + BLKSZLIM + BLKSIZE + BURST + CCSID + CHARS + CHKPT + CNTL + COPIES + DATA + DATACLAS + DCB + DDNAME + DEST + DISP + DLM + DSID + DSNAME + DSN + DSNTYPE + DSORG + DUMMY + DYNAM + EATTR + EXPDT + FCB + FILEDATA + FLASH + FREE + FREEVOL + GDGORDER + HOLD + KEYENCD1 + KEYENCD2 + KEYLABL1 + KEYLABL2 + KEYLEN + KEYOFF + LABEL + LGSTREAM + LIKE + LRECL + MAXGENS + MGMTCLAS + MODIFY + OUTLIM + OUTPUT + PATH + PATHDISP + PATHMODE + PATHOPTS + PROTECT + RECFM + RECORG + REFDD + RETPD + RLS + RLSE + SECMODEL + SEGMENT + SPACE + SPIN + STORCLAS + SUBSYS + SYMBOLS + SYMLIST + SYSOUT + TERM + UCS + UNIT + VOLUME + JCLLIB + STEPLIB + SYSEXEC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +