📄 cobol.vim
字号:
" Vim syntax file" Language: COBOL" Maintainers: Davyd Ondrejko <vondraco@columbus.rr.com>" (formerly Sitaram Chamarty <sitaram@diac.com> and" James Mitchell <james_mitchell@acm.org>)" Last change: 2001 May 09" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600 syntax clearelseif exists("b:current_syntax") finishendif" MOST important - else most of the keywords wont work!if version < 600 set isk=@,48-57,-else setlocal isk=@,48-57,-endifsyn case ignoresyn match cobolKeys "^\a\{1,6\}" contains=cobolReservedsyn keyword cobolReserved contained ACCEPT ACCESS ADD ADDRESS ADVANCING AFTER ALPHABET ALPHABETICsyn keyword cobolReserved contained ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALSsyn keyword cobolReserved contained ALTERNATE AND ANY ARE AREA AREAS ASCENDING ASSIGN AT AUTHOR BEFORE BINARYsyn keyword cobolReserved contained BLANK BLOCK BOTTOM BY CANCEL CBLL CD CF CH CHARACTER CHARACTERS CLASSsyn keyword cobolReserved contained CLOCK-UNITS CLOSE COBOL CODE CODE-SET COLLATING COLUMN COMMA COMMONsyn keyword cobolReserved contained COMMUNICATIONS COMPUTATIONAL COMPUTE CONFIGURATION CONTENT CONTINUEsyn keyword cobolReserved contained CONTROL CONVERTING CORR CORRESPONDING COUNT CURRENCY DATA DATE DATE-COMPILEDsyn keyword cobolReserved contained DATE-WRITTEN DAY DAY-OF-WEEK DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINEsyn keyword cobolReserved contained DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING DECIMAL-POINTsyn keyword cobolReserved contained DELARATIVES DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESTINATIONsyn keyword cobolReserved contained DETAIL DISABLE DISPLAY DIVIDE DIVISION DOWN DUPLICATES DYNAMIC EGI ELSE EMIsyn keyword cobolReserved contained ENABLE END-ADD END-COMPUTE END-DELETE END-DIVIDE END-EVALUATE END-IFsyn keyword cobolReserved contained END-MULTIPLY END-OF-PAGE END-PERFORM END-READ END-RECEIVE END-RETURNsyn keyword cobolReserved contained END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRINGsyn keyword cobolReserved contained END-WRITE ENVIRONMENT EQUAL ERROR ESI EVALUATE EVERY EXCEPTION EXITsyn keyword cobolReserved contained EXTEND EXTERNAL FALSE FD FILE FILE-CONTROL FILLER FINAL FIRST FOOTING FOR FROMsyn keyword cobolReserved contained GENERATE GIVING GLOBAL GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES I-Osyn keyword cobolReserved contained I-O-CONTROL IDENTIFICATION IN INDEX INDEXED INDICATE INITIAL INITIALIZEsyn keyword cobolReserved contained INITIATE INPUT INPUT-OUTPUT INSPECT INSTALLATION INTO IS JUSTsyn keyword cobolReserved contained JUSTIFIED KEY LABEL LAST LEADING LEFT LENGTH LOCK MEMORYsyn keyword cobolReserved contained MERGE MESSAGE MODE MODULES MOVE MULTIPLE MULTIPLY NATIVE NEGATIVE NEXT NO NOTsyn keyword cobolReserved contained NUMBER NUMERIC NUMERIC-EDITED OBJECT-COMPUTER OCCURS OF OFF OMITTED ON OPENsyn keyword cobolReserved contained OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW PACKED-DECIMAL PADDINGsyn keyword cobolReserved contained PAGE PAGE-COUNTER PERFORM PF PH PIC PICTURE PLUS POINTER POSITION POSITIVEsyn keyword cobolReserved contained PRINTING PROCEDURE PROCEDURES PROCEDD PROGRAM PROGRAM-ID PURGE QUEUE QUOTESsyn keyword cobolReserved contained RANDOM RD READ RECEIVE RECORD RECORDS REDEFINES REEL REFERENCE REFERENCESsyn keyword cobolReserved contained RELATIVE RELEASE REMAINDER REMOVAL REPLACE REPLACING REPORT REPORTINGsyn keyword cobolReserved contained REPORTS RERUN RESERVE RESET RETURN RETURNING REVERSED REWIND REWRITE RF RHsyn keyword cobolReserved contained RIGHT ROUNDED RUN SAME SD SEARCH SECTION SECURITY SEGMENT SEGMENT-LIMITEDsyn keyword cobolReserved contained SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SIGN SIZE SORTsyn keyword cobolReserved contained SORT-MERGE SOURCE SOURCE-COMPUTER SPECIAL-NAMES STANDARDsyn keyword cobolReserved contained STANDARD-1 STANDARD-2 START STATUS STOP STRING SUB-QUEUE-1 SUB-QUEUE-2syn keyword cobolReserved contained SUB-QUEUE-3 SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED TABLE TALLYINGsyn keyword cobolReserved contained TAPE TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TO TOPsyn keyword cobolReserved contained TRAILING TRUE TYPE UNIT UNSTRING UNTIL UP UPON USAGE USE USING VALUE VALUESsyn keyword cobolReserved contained VARYING WHEN WITH WORDS WORKING-STORAGE WRITEsyn match cobolReserved contained "\<CONTAINS\>"syn match cobolReserved contained "\<\(IF\|INVALID\|END\|EOP\)\>"syn match cobolReserved contained "\<ALL\>"syn keyword cobolConstant SPACE SPACES NULL ZERO ZEROES ZEROS LOW-VALUE LOW-VALUESsyn match cobolMarker "^.\{6\}"syn match cobolBadLine "^.\{6\}[^ D\-*$/].*"hs=s+6" If comment mark somehow gets into column past Column 7.syn match cobolBadLine "^.\{6\}\s\+\*.*"syn match cobolNumber "\<-\=\d*\.\=\d\+\>" contains=cobolMarker,cobolCommentsyn match cobolPic "\<S*9\+\>" contains=cobolMarker,cobolCommentsyn match cobolPic "\<$*\.\=9\+\>" contains=cobolMarker,cobolCommentsyn match cobolPic "\<Z*\.\=9\+\>" contains=cobolMarker,cobolCommentsyn match cobolPic "\<V9\+\>" contains=cobolMarker,cobolCommentsyn match cobolPic "\<9\+V\>" contains=cobolMarker,cobolCommentsyn match cobolPic "\<-\+[Z9]\+\>" contains=cobolMarker,cobolCommentsyn match cobolTodo "todo" containedsyn match cobolComment "^.\{6\}\*.*"hs=s+6 contains=cobolTodo,cobolMarkersyn match cobolComment "^.\{6\}/.*"hs=s+6 contains=cobolTodo,cobolMarkersyn match cobolComment "^.\{6\}C.*"hs=s+6 contains=cobolTodo,cobolMarkersyn match cobolCompiler "^.\{6\}$.*"hs=s+6" For MicroFocus or other inline comments, include this line." syn region cobolComment start="*>" end="$" contains=cobolTodo,cobolMarkersyn keyword cobolGoTo GO GOTOsyn keyword cobolCopy COPY" cobolBAD: things that are BAD NEWS!syn keyword cobolBAD ALTER ENTER RENAMES" cobolWatch: things that are important when trying to understand a programsyn keyword cobolWatch OCCURS DEPENDING VARYING BINARY COMP REDEFINESsyn keyword cobolWatch REPLACING RUNsyn match cobolWatch "COMP-[123456XN]"syn keyword cobolEXECs EXEC END-EXECsyn match cobolDecl "^.\{6} \{1,4}\(0\=1\|77\|78\) "hs=s+7,he=e-1 contains=cobolMarkersyn match cobolDecl "^.\{6} \+[1-4]\d "hs=s+7,he=e-1 contains=cobolMarkersyn match cobolDecl "^.\{6} \+0\=[2-9] "hs=s+7,he=e-1 contains=cobolMarkersyn match cobolDecl "^.\{6} \+66 "hs=s+7,he=e-1 contains=cobolMarkersyn match cobolWatch "^.\{6} \+88 "hs=s+7,he=e-1 contains=cobolMarkersyn match cobolBadID "\k\+-\($\|[^-A-Z0-9]\)"syn keyword cobolCALLs CALL CANCEL GOBACK PERFORM INVOKEsyn match cobolCALLs "EXIT \+PROGRAM"syn match cobolExtras /\<VALUE \+\d\+\./hs=s+6,he=e-1syn match cobolString /"[^"]*\("\|$\)/syn match cobolString /'[^']*\('\|$\)/syn region cobolLine start="^.\{6} " end="$" contains=ALLif exists("cobol_legacy_code")syn region cobolCondFlow contains=ALLBUT,cobolLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keependendifif ! exists("cobol_legacy_code") " catch junk in columns 1-6 for modern code syn match cobolBAD "^ \{0,5\}[^ ].*"endif" many legacy sources have junk in columns 1-6: must be before others" Stuff after column 72 is in error - must be after all other "match" entriesif exists("cobol_legacy_code") syn match cobolBadLine "^.\{6}[^*/].\{66,\}"else syn match cobolBadLine "^.\{6}.\{67,\}"endif" Define the default highlighting." For version 5.7 and earlier: only when not done already" For version 5.8 and later: only when an item doesn't have highlighting yetif version >= 508 || !exists("did_cobol_syntax_inits") if version < 508 let did_cobol_syntax_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink cobolBAD Error HiLink cobolBadID Error HiLink cobolBadLine Error HiLink cobolMarker Comment HiLink cobolCALLs Function HiLink cobolComment Comment HiLink cobolKeys Comment HiLink cobolAreaB Special HiLink cobolCompiler PreProc HiLink cobolCondFlow Special HiLink cobolCopy PreProc HiLink cobolDecl Type HiLink cobolExtras Special HiLink cobolGoTo Special HiLink cobolConstant Constant HiLink cobolNumber Constant HiLink cobolPic Constant HiLink cobolReserved Statement HiLink cobolString Constant HiLink cobolTodo Todo HiLink cobolWatch Special delcommand HiLinkendiflet b:current_syntax = "cobol"" vim: ts=6 nowrap
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -