1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: COBOL 3*63b74a83SBram Moolenaar" Maintainer: Ankit Jain <[email protected]> 4*63b74a83SBram Moolenaar" (formerly Tim Pope <[email protected]>) 5c81e5e79SBram Moolenaar" (formerly Davyd Ondrejko <[email protected]>) 6071d4279SBram Moolenaar" (formerly Sitaram Chamarty <[email protected]> and 7071d4279SBram Moolenaar" James Mitchell <[email protected]>) 8*63b74a83SBram Moolenaar" Last Change: 2019 Mar 22 9*63b74a83SBram Moolenaar" Ankit Jain 22.03.2019 Changes & fixes: 10*63b74a83SBram Moolenaar" 1. Include inline comments 11*63b74a83SBram Moolenaar" 2. Use comment highlight for bad lines 12*63b74a83SBram Moolenaar" 3. Change certain 'keywords' to 'matches' 13*63b74a83SBram Moolenaar" for additional highlighting 14*63b74a83SBram Moolenaar" 4. Different highlighting for COPY, GO TO & 15*63b74a83SBram Moolenaar" CALL lines 16*63b74a83SBram Moolenaar" 5. Fix for COMP keyword 17*63b74a83SBram Moolenaar" 6. Fix for PROCEDURE DIVISION highlighting 18*63b74a83SBram Moolenaar" 7. Highlight EXIT PROGRAM like STOP RUN 19*63b74a83SBram Moolenaar" 8. Highlight X & A in PIC clause 20*63b74a83SBram Moolenaar" Tag: #C22032019 21071d4279SBram Moolenaar 2289bcfda6SBram Moolenaar" quit when a syntax file was already loaded 2389bcfda6SBram Moolenaarif exists("b:current_syntax") 24071d4279SBram Moolenaar finish 25071d4279SBram Moolenaarendif 26071d4279SBram Moolenaar 27071d4279SBram Moolenaar" MOST important - else most of the keywords wont work! 28*63b74a83SBram Moolenaarsetlocal isk=@,48-57,-,_ 29*63b74a83SBram Moolenaar 30*63b74a83SBram Moolenaarif !exists('g:cobol_inline_comment') 31*63b74a83SBram Moolenaar let g:cobol_inline_comment=0 32*63b74a83SBram Moolenaarendif 33071d4279SBram Moolenaar 34071d4279SBram Moolenaarsyn case ignore 35071d4279SBram Moolenaar 36c81e5e79SBram Moolenaarsyn cluster cobolStart contains=cobolAreaA,cobolAreaB,cobolComment,cobolCompiler 37c81e5e79SBram Moolenaarsyn cluster cobolAreaA contains=cobolParagraph,cobolSection,cobolDivision 38c81e5e79SBram Moolenaar"syn cluster cobolAreaB contains= 39c81e5e79SBram Moolenaarsyn cluster cobolAreaAB contains=cobolLine 40c81e5e79SBram Moolenaarsyn cluster cobolLine contains=cobolReserved 41c81e5e79SBram Moolenaarsyn match cobolMarker "^\%( \{,5\}[^ ]\)\@=.\{,6}" nextgroup=@cobolStart 42c81e5e79SBram Moolenaarsyn match cobolSpace "^ \{6\}" nextgroup=@cobolStart 43c81e5e79SBram Moolenaarsyn match cobolAreaA " \{1,4\}" contained nextgroup=@cobolAreaA,@cobolAreaAB 44c81e5e79SBram Moolenaarsyn match cobolAreaB " \{5,\}\|- *" contained nextgroup=@cobolAreaB,@cobolAreaAB 45c81e5e79SBram Moolenaarsyn match cobolComment "[/*C].*$" contained 46c81e5e79SBram Moolenaarsyn match cobolCompiler "$.*$" contained 47c81e5e79SBram Moolenaarsyn match cobolLine ".*$" contained contains=cobolReserved,@cobolLine 48c81e5e79SBram Moolenaar 49*63b74a83SBram Moolenaar"#C22032019: Fix for PROCEDURE DIVISION USING highlighting, removed . from the 50*63b74a83SBram Moolenaar"end of the regex 51*63b74a83SBram Moolenaar"syn match cobolDivision \"[A-Z][A-Z0-9-]*[A-Z0-9]\s\+DIVISION\."he=e-1 contained contains=cobolDivisionName 52*63b74a83SBram Moolenaarsyn match cobolDivision "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+DIVISION" contained contains=cobolDivisionName 53c81e5e79SBram Moolenaarsyn keyword cobolDivisionName contained IDENTIFICATION ENVIRONMENT DATA PROCEDURE 54c81e5e79SBram Moolenaarsyn match cobolSection "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+SECTION\."he=e-1 contained contains=cobolSectionName 55c81e5e79SBram Moolenaarsyn keyword cobolSectionName contained CONFIGURATION INPUT-OUTPUT FILE WORKING-STORAGE LOCAL-STORAGE LINKAGE 56c81e5e79SBram Moolenaarsyn match cobolParagraph "\a[A-Z0-9-]*[A-Z0-9]\.\|\d[A-Z0-9-]*[A-Z]\."he=e-1 contained contains=cobolParagraphName 57c81e5e79SBram Moolenaarsyn keyword cobolParagraphName contained PROGRAM-ID SOURCE-COMPUTER OBJECT-COMPUTER SPECIAL-NAMES FILE-CONTROL I-O-CONTROL 58c81e5e79SBram Moolenaar 59c81e5e79SBram Moolenaar 60c81e5e79SBram Moolenaar"syn match cobolKeys "^\a\{1,6\}" contains=cobolReserved 61*63b74a83SBram Moolenaar"#C22032019: Remove BY, REPLACING, PROGRAM, TO, IN from 'keyword' group and add 62*63b74a83SBram Moolenaar"to 'match' group or other 'keyword' group 63071d4279SBram Moolenaarsyn keyword cobolReserved contained ACCEPT ACCESS ADD ADDRESS ADVANCING AFTER ALPHABET ALPHABETIC 64071d4279SBram Moolenaarsyn keyword cobolReserved contained ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALS 65071d4279SBram Moolenaarsyn keyword cobolReserved contained ALTERNATE AND ANY ARE AREA AREAS ASCENDING ASSIGN AT AUTHOR BEFORE BINARY 66*63b74a83SBram Moolenaarsyn keyword cobolReserved contained BLANK BLOCK BOTTOM CANCEL CBLL CD CF CH CHARACTER CHARACTERS CLASS 67071d4279SBram Moolenaarsyn keyword cobolReserved contained CLOCK-UNITS CLOSE COBOL CODE CODE-SET COLLATING COLUMN COMMA COMMON 68c81e5e79SBram Moolenaarsyn keyword cobolReserved contained COMMUNICATIONS COMPUTATIONAL COMPUTE CONTENT CONTINUE 69c81e5e79SBram Moolenaarsyn keyword cobolReserved contained CONTROL CONVERTING CORR CORRESPONDING COUNT CURRENCY DATE DATE-COMPILED 70071d4279SBram Moolenaarsyn keyword cobolReserved contained DATE-WRITTEN DAY DAY-OF-WEEK DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE 71071d4279SBram Moolenaarsyn keyword cobolReserved contained DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING DECIMAL-POINT 72071d4279SBram Moolenaarsyn keyword cobolReserved contained DELARATIVES DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESTINATION 73071d4279SBram Moolenaarsyn keyword cobolReserved contained DETAIL DISABLE DISPLAY DIVIDE DIVISION DOWN DUPLICATES DYNAMIC EGI ELSE EMI 74071d4279SBram Moolenaarsyn keyword cobolReserved contained ENABLE END-ADD END-COMPUTE END-DELETE END-DIVIDE END-EVALUATE END-IF 75c81e5e79SBram Moolenaarsyn keyword cobolReserved contained END-MULTIPLY END-OF-PAGE END-READ END-RECEIVE END-RETURN 76071d4279SBram Moolenaarsyn keyword cobolReserved contained END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRING 77c81e5e79SBram Moolenaarsyn keyword cobolReserved contained END-WRITE EQUAL ERROR ESI EVALUATE EVERY EXCEPTION EXIT 78c81e5e79SBram Moolenaarsyn keyword cobolReserved contained EXTEND EXTERNAL FALSE FD FILLER FINAL FIRST FOOTING FOR FROM 79071d4279SBram Moolenaarsyn keyword cobolReserved contained GENERATE GIVING GLOBAL GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES I-O 80*63b74a83SBram Moolenaarsyn keyword cobolReserved contained INDEX INDEXED INDICATE INITIAL INITIALIZE 81c81e5e79SBram Moolenaarsyn keyword cobolReserved contained INITIATE INPUT INSPECT INSTALLATION INTO IS JUST 82071d4279SBram Moolenaarsyn keyword cobolReserved contained JUSTIFIED KEY LABEL LAST LEADING LEFT LENGTH LOCK MEMORY 83071d4279SBram Moolenaarsyn keyword cobolReserved contained MERGE MESSAGE MODE MODULES MOVE MULTIPLE MULTIPLY NATIVE NEGATIVE NEXT NO NOT 84c81e5e79SBram Moolenaarsyn keyword cobolReserved contained NUMBER NUMERIC NUMERIC-EDITED OCCURS OF OFF OMITTED ON OPEN 85071d4279SBram Moolenaarsyn keyword cobolReserved contained OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW PACKED-DECIMAL PADDING 86071d4279SBram Moolenaarsyn keyword cobolReserved contained PAGE PAGE-COUNTER PERFORM PF PH PIC PICTURE PLUS POINTER POSITION POSITIVE 87*63b74a83SBram Moolenaarsyn keyword cobolReserved contained PRINTING PROCEDURES PROCEDD PURGE QUEUE QUOTES 88071d4279SBram Moolenaarsyn keyword cobolReserved contained RANDOM RD READ RECEIVE RECORD RECORDS REDEFINES REEL REFERENCE REFERENCES 89*63b74a83SBram Moolenaarsyn keyword cobolReserved contained RELATIVE RELEASE REMAINDER REMOVAL REPLACE REPORT REPORTING 90071d4279SBram Moolenaarsyn keyword cobolReserved contained REPORTS RERUN RESERVE RESET RETURN RETURNING REVERSED REWIND REWRITE RF RH 91071d4279SBram Moolenaarsyn keyword cobolReserved contained RIGHT ROUNDED RUN SAME SD SEARCH SECTION SECURITY SEGMENT SEGMENT-LIMITED 92071d4279SBram Moolenaarsyn keyword cobolReserved contained SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SIGN SIZE SORT 93c81e5e79SBram Moolenaarsyn keyword cobolReserved contained SORT-MERGE SOURCE STANDARD 94071d4279SBram Moolenaarsyn keyword cobolReserved contained STANDARD-1 STANDARD-2 START STATUS STOP STRING SUB-QUEUE-1 SUB-QUEUE-2 95071d4279SBram Moolenaarsyn keyword cobolReserved contained SUB-QUEUE-3 SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED TABLE TALLYING 96*63b74a83SBram Moolenaarsyn keyword cobolReserved contained TAPE TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TOP 97071d4279SBram Moolenaarsyn keyword cobolReserved contained TRAILING TRUE TYPE UNIT UNSTRING UNTIL UP UPON USAGE USE USING VALUE VALUES 98c81e5e79SBram Moolenaarsyn keyword cobolReserved contained VARYING WHEN WITH WORDS WRITE 99071d4279SBram Moolenaarsyn match cobolReserved contained "\<CONTAINS\>" 100071d4279SBram Moolenaarsyn match cobolReserved contained "\<\(IF\|INVALID\|END\|EOP\)\>" 101071d4279SBram Moolenaarsyn match cobolReserved contained "\<ALL\>" 102*63b74a83SBram Moolenaar" #C22032019: Add BY as match instead of keyword: BY not followed by == 103*63b74a83SBram Moolenaarsyn match cobolReserved contained "\<BY\>\s\+\(==\)\@!" 104*63b74a83SBram Moolenaarsyn match cobolReserved contained "\<TO\>" 105071d4279SBram Moolenaar 106c81e5e79SBram Moolenaarsyn cluster cobolLine add=cobolConstant,cobolNumber,cobolPic 107071d4279SBram Moolenaarsyn keyword cobolConstant SPACE SPACES NULL ZERO ZEROES ZEROS LOW-VALUE LOW-VALUES 108071d4279SBram Moolenaar 109*63b74a83SBram Moolenaar" #C22032019: Fix for many pic clauses 110c81e5e79SBram Moolenaarsyn match cobolNumber "\<-\=\d*\.\=\d\+\>" contained 111*63b74a83SBram Moolenaar" syn match cobolPic \"\<S*9\+\>" contained 112*63b74a83SBram Moolenaarsyn match cobolPic "\<S*9\+V*9*\>" contained 113c81e5e79SBram Moolenaarsyn match cobolPic "\<$*\.\=9\+\>" contained 114c81e5e79SBram Moolenaarsyn match cobolPic "\<Z*\.\=9\+\>" contained 115c81e5e79SBram Moolenaarsyn match cobolPic "\<V9\+\>" contained 116c81e5e79SBram Moolenaarsyn match cobolPic "\<9\+V\>" contained 117*63b74a83SBram Moolenaar" syn match cobolPic \"\<-\+[Z9]\+\>" contained 118*63b74a83SBram Moolenaarsyn match cobolPic "\<-*[Z9]\+-*\>" contained 119*63b74a83SBram Moolenaar" #C22032019: Add Z,X and A to cobolPic 120*63b74a83SBram Moolenaarsyn match cobolPic "\<[ZXA]\+\>" contained 121*63b74a83SBram Moolenaarsyn match cobolTodo "todo" contained containedin=cobolInlineComment,cobolComment 122071d4279SBram Moolenaar 123071d4279SBram Moolenaar" For MicroFocus or other inline comments, include this line. 124*63b74a83SBram Moolenaarif g:cobol_inline_comment == 1 125*63b74a83SBram Moolenaar syn region cobolInlineComment start="*>" end="$" contains=cobolTodo,cobolMarker 126*63b74a83SBram Moolenaar syn cluster cobolLine add=cobolInlineComment 127*63b74a83SBram Moolenaarendif 128071d4279SBram Moolenaar 129c81e5e79SBram Moolenaarsyn match cobolBadLine "[^ D\*$/-].*" contained 130*63b74a83SBram Moolenaar 131c81e5e79SBram Moolenaar" If comment mark somehow gets into column past Column 7. 132*63b74a83SBram Moolenaarif g:cobol_inline_comment == 1 133*63b74a83SBram Moolenaar " #C22032019: It is a bad line only if * is not followed by > when inline 134*63b74a83SBram Moolenaar " comments enabled 135*63b74a83SBram Moolenaar syn match cobolBadLine "\s\+\*\(>\)\@!.*" contained 136*63b74a83SBram Moolenaarelse 137c81e5e79SBram Moolenaar syn match cobolBadLine "\s\+\*.*" contained 138*63b74a83SBram Moolenaarendif 139c81e5e79SBram Moolenaarsyn cluster cobolStart add=cobolBadLine 140c81e5e79SBram Moolenaar 141*63b74a83SBram Moolenaar" #C22032019: Different highlighting for GO TO statements 142*63b74a83SBram Moolenaar" syn keyword cobolGoTo GO GOTO 143*63b74a83SBram Moolenaarsyn keyword cobolGoTo GOTO 144*63b74a83SBram Moolenaarsyn match cobolGoTo /\<GO\>\s\+\<TO\>/ 145*63b74a83SBram Moolenaarsyn match cobolGoToPara /\<GO\>\s\+\<TO\>\s\+[A-Z0-9-]\+/ contains=cobolGoTo 146*63b74a83SBram Moolenaar" #C22032019: Highlight copybook name and location in using different group 147*63b74a83SBram Moolenaar" syn keyword cobolCopy COPY 148*63b74a83SBram Moolenaarsyn match cobolCopy "\<COPY\>\|\<IN\>" 149*63b74a83SBram Moolenaarsyn match cobolCopy "\<REPLACING\>\s\+\(==\)\@=" 150*63b74a83SBram Moolenaarsyn match cobolCopy "\<BY\>\s\+\(==\)\@=" 151*63b74a83SBram Moolenaarsyn match cobolCopyName "\<COPY\>\s\+[A-Z0-9]\+\(\s\+\<IN\>\s\+[A-Z0-9]\+\)\?" contains=cobolCopy 152*63b74a83SBram Moolenaarsyn cluster cobolLine add=cobolGoToPara,cobolCopyName 153071d4279SBram Moolenaar 154071d4279SBram Moolenaar" cobolBAD: things that are BAD NEWS! 155071d4279SBram Moolenaarsyn keyword cobolBAD ALTER ENTER RENAMES 156071d4279SBram Moolenaar 157c81e5e79SBram Moolenaarsyn cluster cobolLine add=cobolGoTo,cobolCopy,cobolBAD,cobolWatch,cobolEXECs 158c81e5e79SBram Moolenaar 159071d4279SBram Moolenaar" cobolWatch: things that are important when trying to understand a program 160071d4279SBram Moolenaarsyn keyword cobolWatch OCCURS DEPENDING VARYING BINARY COMP REDEFINES 161*63b74a83SBram Moolenaar" #C22032019: Remove REPLACING from cobolWatch 'keyword' group and add to cobolCopy & 162*63b74a83SBram Moolenaar" cobolWatch 'match' group 163*63b74a83SBram Moolenaar" syn keyword cobolWatch REPLACING RUN 164*63b74a83SBram Moolenaarsyn keyword cobolWatch RUN PROGRAM 165*63b74a83SBram Moolenaarsyn match cobolWatch contained "\<REPLACING\>\s\+\(==\)\@!" 166*63b74a83SBram Moolenaar" #C22032019: Look for word starting with COMP 167*63b74a83SBram Moolenaar" syn match cobolWatch \"COMP-[123456XN]" 168*63b74a83SBram Moolenaarsyn match cobolWatch "\<COMP-[123456XN]" 169071d4279SBram Moolenaar 170071d4279SBram Moolenaarsyn keyword cobolEXECs EXEC END-EXEC 171071d4279SBram Moolenaar 172071d4279SBram Moolenaar 173c81e5e79SBram Moolenaarsyn cluster cobolAreaA add=cobolDeclA 174c81e5e79SBram Moolenaarsyn cluster cobolAreaAB add=cobolDecl 175c81e5e79SBram Moolenaarsyn match cobolDeclA "\(0\=1\|77\|78\) " contained nextgroup=cobolLine 176c81e5e79SBram Moolenaarsyn match cobolDecl "[1-4]\d " contained nextgroup=cobolLine 177c81e5e79SBram Moolenaarsyn match cobolDecl "0\=[2-9] " contained nextgroup=cobolLine 178c81e5e79SBram Moolenaarsyn match cobolDecl "66 " contained nextgroup=cobolLine 179071d4279SBram Moolenaar 180c81e5e79SBram Moolenaarsyn match cobolWatch "88 " contained nextgroup=cobolLine 181071d4279SBram Moolenaar 182c81e5e79SBram Moolenaar"syn match cobolBadID "\k\+-\($\|[^-A-Z0-9]\)" contained 183071d4279SBram Moolenaar 184c81e5e79SBram Moolenaarsyn cluster cobolLine add=cobolCALLs,cobolString,cobolCondFlow 185*63b74a83SBram Moolenaar" #C22032019: Changes for cobolCALLs group to include thru 186*63b74a83SBram Moolenaar" syn keyword cobolCALLs CALL END-CALL CANCEL GOBACK PERFORM END-PERFORM INVOKE 187*63b74a83SBram Moolenaarsyn keyword cobolCALLs END-CALL CANCEL GOBACK PERFORM END-PERFORM INVOKE THRU 188*63b74a83SBram Moolenaar" #C22032019: Highlight called program 189*63b74a83SBram Moolenaar" syn match cobolCALLs \"EXIT \+PROGRAM" 190*63b74a83SBram Moolenaarsyn match cobolCALLs "\<CALL\>" 191*63b74a83SBram Moolenaarsyn match cobolCALLProg /\<CALL\>\s\+"\{0,1\}[A-Z0-9]\+"\{0,1\}/ contains=cobolCALLs 192071d4279SBram Moolenaarsyn match cobolExtras /\<VALUE \+\d\+\./hs=s+6,he=e-1 193*63b74a83SBram Moolenaarsyn cluster cobolLine add=cobolCALLProg 194071d4279SBram Moolenaar 195071d4279SBram Moolenaarsyn match cobolString /"[^"]*\("\|$\)/ 196071d4279SBram Moolenaarsyn match cobolString /'[^']*\('\|$\)/ 197071d4279SBram Moolenaar 198c81e5e79SBram Moolenaar"syn region cobolLine start="^.\{6}[ D-]" end="$" contains=ALL 199c81e5e79SBram Moolenaarsyn match cobolIndicator "\%7c[D-]" contained 200071d4279SBram Moolenaar 201071d4279SBram Moolenaarif exists("cobol_legacy_code") 202*63b74a83SBram Moolenaar syn region cobolCondFlow contains=ALLBUT,cobolLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keepend 203071d4279SBram Moolenaarendif 204071d4279SBram Moolenaar 205071d4279SBram Moolenaar" many legacy sources have junk in columns 1-6: must be before others 206071d4279SBram Moolenaar" Stuff after column 72 is in error - must be after all other "match" entries 207071d4279SBram Moolenaarif exists("cobol_legacy_code") 208c81e5e79SBram Moolenaar syn match cobolBadLine "\%73c.*" containedin=ALLBUT,cobolComment 209071d4279SBram Moolenaarelse 210*63b74a83SBram Moolenaar " #C22032019: Use comment highlighting for bad lines 211*63b74a83SBram Moolenaar " syn match cobolBadLine \"\%73c.*" containedin=ALL 212*63b74a83SBram Moolenaar syn match cobolBadLine "\%73c.*" containedin=ALL,cobolInlineComment,cobolComment 213071d4279SBram Moolenaarendif 214071d4279SBram Moolenaar 215071d4279SBram Moolenaar" Define the default highlighting. 21689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 217071d4279SBram Moolenaar 218f37506f6SBram Moolenaarhi def link cobolBAD Error 219f37506f6SBram Moolenaarhi def link cobolBadID Error 220f37506f6SBram Moolenaarhi def link cobolBadLine Error 221c81e5e79SBram Moolenaarif exists("g:cobol_legacy_code") 222f37506f6SBram Moolenaar hi def link cobolMarker Comment 223c81e5e79SBram Moolenaarelse 224f37506f6SBram Moolenaar hi def link cobolMarker Error 225c81e5e79SBram Moolenaarendif 226f37506f6SBram Moolenaarhi def link cobolCALLs Function 227*63b74a83SBram Moolenaarhi def link cobolCALLProg Special 228f37506f6SBram Moolenaarhi def link cobolComment Comment 229*63b74a83SBram Moolenaarhi def link cobolInlineComment Comment 230f37506f6SBram Moolenaarhi def link cobolKeys Comment 231f37506f6SBram Moolenaarhi def link cobolAreaB Special 232f37506f6SBram Moolenaarhi def link cobolCompiler PreProc 233f37506f6SBram Moolenaarhi def link cobolCondFlow Special 234f37506f6SBram Moolenaarhi def link cobolCopy PreProc 235*63b74a83SBram Moolenaarhi def link cobolCopyName Special 236f37506f6SBram Moolenaarhi def link cobolDeclA cobolDecl 237f37506f6SBram Moolenaarhi def link cobolDecl Type 238f37506f6SBram Moolenaarhi def link cobolExtras Special 239f37506f6SBram Moolenaarhi def link cobolGoTo Special 240*63b74a83SBram Moolenaarhi def link cobolGoToPara Function 241f37506f6SBram Moolenaarhi def link cobolConstant Constant 242f37506f6SBram Moolenaarhi def link cobolNumber Constant 243f37506f6SBram Moolenaarhi def link cobolPic Constant 244f37506f6SBram Moolenaarhi def link cobolReserved Statement 245f37506f6SBram Moolenaarhi def link cobolDivision Label 246f37506f6SBram Moolenaarhi def link cobolSection Label 247f37506f6SBram Moolenaarhi def link cobolParagraph Label 248f37506f6SBram Moolenaarhi def link cobolDivisionName Keyword 249f37506f6SBram Moolenaarhi def link cobolSectionName Keyword 250f37506f6SBram Moolenaarhi def link cobolParagraphName Keyword 251f37506f6SBram Moolenaarhi def link cobolString Constant 252f37506f6SBram Moolenaarhi def link cobolTodo Todo 253f37506f6SBram Moolenaarhi def link cobolWatch Special 254f37506f6SBram Moolenaarhi def link cobolIndicator Special 255*63b74a83SBram Moolenaarhi def link cobolStart Comment 256071d4279SBram Moolenaar 257071d4279SBram Moolenaar 258071d4279SBram Moolenaarlet b:current_syntax = "cobol" 259071d4279SBram Moolenaar 260071d4279SBram Moolenaar" vim: ts=6 nowrap 261