xref: /vim-8.2.3635/runtime/syntax/cobol.vim (revision 63b74a83)
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