fileTypes pl1 pl pc pci pcx name PL1 patterns match \b(ALIGNED|ANY|AREA|AUTOMATIC|AUTO|BASED|BINARY|BIN|BIT|BUILTIN|CHARACTER|CHAR|CONDITION|COND|CONTROLLED|CTL|DECIMAL|DEC|DEFINED|DEF|DESCRIPTOR|DESC|DIMENSION|DIM|DIRECT|ENTRY|ENVIRONMENT|ENV|EXTERNAL|EXT|FILE|FIXED|FLOAT|GLOBALDEF|GLOBALREF|INITIAL|INIT|INPUT|INTERNAL|INT|KEYED|LABEL|LIKE|LIST|MEMBER|NONVARYING|NONVAR|OFFSET|OPTIONAL|OUTPUT|PARAMETER|PARM|PICTURE|PIC|POINTER|PTR|POSITION|POS|PRECISION|PREC|PRINT|READONLY|RECORD|REFER|REFERENCE|REF|RETURNS|SEQUENTIAL|SEQL|STATIC|STREAM|STRUCTURE|TRUNCATE|TYPE|UNALIGNED|UNAL|UNION|UPDATE|VALUE|VAL|VARIABLE|VARYING|VAR)\b name storage.type.pl1 comment Functions and labels. Both appear in the Symbol list. match (\w+)\s*\: name support.function.cobol meta.function.pl1 comment Not more than 32 character identifiers allowed in PL1 match \w{32,} name invalid.illegal match \b(\!\!|&|==|<=|>=|=|^=|+|-|\^|\/|\|\||\*|\*\*)\b name keyword.operator.pl1 match \b(BASED|BYADDR|BYVALUE|DCL|DECL|DECLARE|DO|ELSE|END|END|IF|NONASGN|PROC|PROCEDURE|RECURSIVE|RETURN|RETURNS|THEN|VAR|WHEN|WHILE|SELECT|ANY|ALL|OTHERWISE|OTHER|GOTO|GO TO|CALL)\b name keyword.control.pl1 match \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b name constant.numeric.pl1 begin \/\* contentName comment.block.pl1 end \*\/ name comment.block.pl1 begin ' beginCaptures 0 name punctuation.definition.string.begin.pl1 contentName string.quoted.single.pl1 end ' endCaptures 0 name punctuation.definition.string.end.pl1 name string.quoted.single.pl1 scopeName source.pl1 uuid FB91C301-3214-42B3-8B56-16288F1C1E17