Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/wp-file-.../lib/codemirr.../mode/cobol
File: cobol.js
// CodeMirror, copyright (c) by Marijn Haverbeke and others
[0] Fix | Delete
// Distributed under an MIT license: http://codemirror.net/LICENSE
[1] Fix | Delete
[2] Fix | Delete
/**
[3] Fix | Delete
* Author: Gautam Mehta
[4] Fix | Delete
* Branched from CodeMirror's Scheme mode
[5] Fix | Delete
*/
[6] Fix | Delete
(function(mod) {
[7] Fix | Delete
if (typeof exports == "object" && typeof module == "object") // CommonJS
[8] Fix | Delete
mod(require("../../lib/codemirror"));
[9] Fix | Delete
else if (typeof define == "function" && define.amd) // AMD
[10] Fix | Delete
define(["../../lib/codemirror"], mod);
[11] Fix | Delete
else // Plain browser env
[12] Fix | Delete
mod(CodeMirror);
[13] Fix | Delete
})(function(CodeMirror) {
[14] Fix | Delete
"use strict";
[15] Fix | Delete
[16] Fix | Delete
CodeMirror.defineMode("cobol", function () {
[17] Fix | Delete
var BUILTIN = "builtin", COMMENT = "comment", STRING = "string",
[18] Fix | Delete
ATOM = "atom", NUMBER = "number", KEYWORD = "keyword", MODTAG = "header",
[19] Fix | Delete
COBOLLINENUM = "def", PERIOD = "link";
[20] Fix | Delete
function makeKeywords(str) {
[21] Fix | Delete
var obj = {}, words = str.split(" ");
[22] Fix | Delete
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
[23] Fix | Delete
return obj;
[24] Fix | Delete
}
[25] Fix | Delete
var atoms = makeKeywords("TRUE FALSE ZEROES ZEROS ZERO SPACES SPACE LOW-VALUE LOW-VALUES ");
[26] Fix | Delete
var keywords = makeKeywords(
[27] Fix | Delete
"ACCEPT ACCESS ACQUIRE ADD ADDRESS " +
[28] Fix | Delete
"ADVANCING AFTER ALIAS ALL ALPHABET " +
[29] Fix | Delete
"ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED " +
[30] Fix | Delete
"ALSO ALTER ALTERNATE AND ANY " +
[31] Fix | Delete
"ARE AREA AREAS ARITHMETIC ASCENDING " +
[32] Fix | Delete
"ASSIGN AT ATTRIBUTE AUTHOR AUTO " +
[33] Fix | Delete
"AUTO-SKIP AUTOMATIC B-AND B-EXOR B-LESS " +
[34] Fix | Delete
"B-NOT B-OR BACKGROUND-COLOR BACKGROUND-COLOUR BEEP " +
[35] Fix | Delete
"BEFORE BELL BINARY BIT BITS " +
[36] Fix | Delete
"BLANK BLINK BLOCK BOOLEAN BOTTOM " +
[37] Fix | Delete
"BY CALL CANCEL CD CF " +
[38] Fix | Delete
"CH CHARACTER CHARACTERS CLASS CLOCK-UNITS " +
[39] Fix | Delete
"CLOSE COBOL CODE CODE-SET COL " +
[40] Fix | Delete
"COLLATING COLUMN COMMA COMMIT COMMITMENT " +
[41] Fix | Delete
"COMMON COMMUNICATION COMP COMP-0 COMP-1 " +
[42] Fix | Delete
"COMP-2 COMP-3 COMP-4 COMP-5 COMP-6 " +
[43] Fix | Delete
"COMP-7 COMP-8 COMP-9 COMPUTATIONAL COMPUTATIONAL-0 " +
[44] Fix | Delete
"COMPUTATIONAL-1 COMPUTATIONAL-2 COMPUTATIONAL-3 COMPUTATIONAL-4 COMPUTATIONAL-5 " +
[45] Fix | Delete
"COMPUTATIONAL-6 COMPUTATIONAL-7 COMPUTATIONAL-8 COMPUTATIONAL-9 COMPUTE " +
[46] Fix | Delete
"CONFIGURATION CONNECT CONSOLE CONTAINED CONTAINS " +
[47] Fix | Delete
"CONTENT CONTINUE CONTROL CONTROL-AREA CONTROLS " +
[48] Fix | Delete
"CONVERTING COPY CORR CORRESPONDING COUNT " +
[49] Fix | Delete
"CRT CRT-UNDER CURRENCY CURRENT CURSOR " +
[50] Fix | Delete
"DATA DATE DATE-COMPILED DATE-WRITTEN DAY " +
[51] Fix | Delete
"DAY-OF-WEEK DB DB-ACCESS-CONTROL-KEY DB-DATA-NAME DB-EXCEPTION " +
[52] Fix | Delete
"DB-FORMAT-NAME DB-RECORD-NAME DB-SET-NAME DB-STATUS DBCS " +
[53] Fix | Delete
"DBCS-EDITED DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE " +
[54] Fix | Delete
"DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING " +
[55] Fix | Delete
"DECIMAL-POINT DECLARATIVES DEFAULT DELETE DELIMITED " +
[56] Fix | Delete
"DELIMITER DEPENDING DESCENDING DESCRIBED DESTINATION " +
[57] Fix | Delete
"DETAIL DISABLE DISCONNECT DISPLAY DISPLAY-1 " +
[58] Fix | Delete
"DISPLAY-2 DISPLAY-3 DISPLAY-4 DISPLAY-5 DISPLAY-6 " +
[59] Fix | Delete
"DISPLAY-7 DISPLAY-8 DISPLAY-9 DIVIDE DIVISION " +
[60] Fix | Delete
"DOWN DROP DUPLICATE DUPLICATES DYNAMIC " +
[61] Fix | Delete
"EBCDIC EGI EJECT ELSE EMI " +
[62] Fix | Delete
"EMPTY EMPTY-CHECK ENABLE END END. END-ACCEPT END-ACCEPT. " +
[63] Fix | Delete
"END-ADD END-CALL END-COMPUTE END-DELETE END-DISPLAY " +
[64] Fix | Delete
"END-DIVIDE END-EVALUATE END-IF END-INVOKE END-MULTIPLY " +
[65] Fix | Delete
"END-OF-PAGE END-PERFORM END-READ END-RECEIVE END-RETURN " +
[66] Fix | Delete
"END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT " +
[67] Fix | Delete
"END-UNSTRING END-WRITE END-XML ENTER ENTRY " +
[68] Fix | Delete
"ENVIRONMENT EOP EQUAL EQUALS ERASE " +
[69] Fix | Delete
"ERROR ESI EVALUATE EVERY EXCEEDS " +
[70] Fix | Delete
"EXCEPTION EXCLUSIVE EXIT EXTEND EXTERNAL " +
[71] Fix | Delete
"EXTERNALLY-DESCRIBED-KEY FD FETCH FILE FILE-CONTROL " +
[72] Fix | Delete
"FILE-STREAM FILES FILLER FINAL FIND " +
[73] Fix | Delete
"FINISH FIRST FOOTING FOR FOREGROUND-COLOR " +
[74] Fix | Delete
"FOREGROUND-COLOUR FORMAT FREE FROM FULL " +
[75] Fix | Delete
"FUNCTION GENERATE GET GIVING GLOBAL " +
[76] Fix | Delete
"GO GOBACK GREATER GROUP HEADING " +
[77] Fix | Delete
"HIGH-VALUE HIGH-VALUES HIGHLIGHT I-O I-O-CONTROL " +
[78] Fix | Delete
"ID IDENTIFICATION IF IN INDEX " +
[79] Fix | Delete
"INDEX-1 INDEX-2 INDEX-3 INDEX-4 INDEX-5 " +
[80] Fix | Delete
"INDEX-6 INDEX-7 INDEX-8 INDEX-9 INDEXED " +
[81] Fix | Delete
"INDIC INDICATE INDICATOR INDICATORS INITIAL " +
[82] Fix | Delete
"INITIALIZE INITIATE INPUT INPUT-OUTPUT INSPECT " +
[83] Fix | Delete
"INSTALLATION INTO INVALID INVOKE IS " +
[84] Fix | Delete
"JUST JUSTIFIED KANJI KEEP KEY " +
[85] Fix | Delete
"LABEL LAST LD LEADING LEFT " +
[86] Fix | Delete
"LEFT-JUSTIFY LENGTH LENGTH-CHECK LESS LIBRARY " +
[87] Fix | Delete
"LIKE LIMIT LIMITS LINAGE LINAGE-COUNTER " +
[88] Fix | Delete
"LINE LINE-COUNTER LINES LINKAGE LOCAL-STORAGE " +
[89] Fix | Delete
"LOCALE LOCALLY LOCK " +
[90] Fix | Delete
"MEMBER MEMORY MERGE MESSAGE METACLASS " +
[91] Fix | Delete
"MODE MODIFIED MODIFY MODULES MOVE " +
[92] Fix | Delete
"MULTIPLE MULTIPLY NATIONAL NATIVE NEGATIVE " +
[93] Fix | Delete
"NEXT NO NO-ECHO NONE NOT " +
[94] Fix | Delete
"NULL NULL-KEY-MAP NULL-MAP NULLS NUMBER " +
[95] Fix | Delete
"NUMERIC NUMERIC-EDITED OBJECT OBJECT-COMPUTER OCCURS " +
[96] Fix | Delete
"OF OFF OMITTED ON ONLY " +
[97] Fix | Delete
"OPEN OPTIONAL OR ORDER ORGANIZATION " +
[98] Fix | Delete
"OTHER OUTPUT OVERFLOW OWNER PACKED-DECIMAL " +
[99] Fix | Delete
"PADDING PAGE PAGE-COUNTER PARSE PERFORM " +
[100] Fix | Delete
"PF PH PIC PICTURE PLUS " +
[101] Fix | Delete
"POINTER POSITION POSITIVE PREFIX PRESENT " +
[102] Fix | Delete
"PRINTING PRIOR PROCEDURE PROCEDURE-POINTER PROCEDURES " +
[103] Fix | Delete
"PROCEED PROCESS PROCESSING PROGRAM PROGRAM-ID " +
[104] Fix | Delete
"PROMPT PROTECTED PURGE QUEUE QUOTE " +
[105] Fix | Delete
"QUOTES RANDOM RD READ READY " +
[106] Fix | Delete
"REALM RECEIVE RECONNECT RECORD RECORD-NAME " +
[107] Fix | Delete
"RECORDS RECURSIVE REDEFINES REEL REFERENCE " +
[108] Fix | Delete
"REFERENCE-MONITOR REFERENCES RELATION RELATIVE RELEASE " +
[109] Fix | Delete
"REMAINDER REMOVAL RENAMES REPEATED REPLACE " +
[110] Fix | Delete
"REPLACING REPORT REPORTING REPORTS REPOSITORY " +
[111] Fix | Delete
"REQUIRED RERUN RESERVE RESET RETAINING " +
[112] Fix | Delete
"RETRIEVAL RETURN RETURN-CODE RETURNING REVERSE-VIDEO " +
[113] Fix | Delete
"REVERSED REWIND REWRITE RF RH " +
[114] Fix | Delete
"RIGHT RIGHT-JUSTIFY ROLLBACK ROLLING ROUNDED " +
[115] Fix | Delete
"RUN SAME SCREEN SD SEARCH " +
[116] Fix | Delete
"SECTION SECURE SECURITY SEGMENT SEGMENT-LIMIT " +
[117] Fix | Delete
"SELECT SEND SENTENCE SEPARATE SEQUENCE " +
[118] Fix | Delete
"SEQUENTIAL SET SHARED SIGN SIZE " +
[119] Fix | Delete
"SKIP1 SKIP2 SKIP3 SORT SORT-MERGE " +
[120] Fix | Delete
"SORT-RETURN SOURCE SOURCE-COMPUTER SPACE-FILL " +
[121] Fix | Delete
"SPECIAL-NAMES STANDARD STANDARD-1 STANDARD-2 " +
[122] Fix | Delete
"START STARTING STATUS STOP STORE " +
[123] Fix | Delete
"STRING SUB-QUEUE-1 SUB-QUEUE-2 SUB-QUEUE-3 SUB-SCHEMA " +
[124] Fix | Delete
"SUBFILE SUBSTITUTE SUBTRACT SUM SUPPRESS " +
[125] Fix | Delete
"SYMBOLIC SYNC SYNCHRONIZED SYSIN SYSOUT " +
[126] Fix | Delete
"TABLE TALLYING TAPE TENANT TERMINAL " +
[127] Fix | Delete
"TERMINATE TEST TEXT THAN THEN " +
[128] Fix | Delete
"THROUGH THRU TIME TIMES TITLE " +
[129] Fix | Delete
"TO TOP TRAILING TRAILING-SIGN TRANSACTION " +
[130] Fix | Delete
"TYPE TYPEDEF UNDERLINE UNEQUAL UNIT " +
[131] Fix | Delete
"UNSTRING UNTIL UP UPDATE UPON " +
[132] Fix | Delete
"USAGE USAGE-MODE USE USING VALID " +
[133] Fix | Delete
"VALIDATE VALUE VALUES VARYING VLR " +
[134] Fix | Delete
"WAIT WHEN WHEN-COMPILED WITH WITHIN " +
[135] Fix | Delete
"WORDS WORKING-STORAGE WRITE XML XML-CODE " +
[136] Fix | Delete
"XML-EVENT XML-NTEXT XML-TEXT ZERO ZERO-FILL " );
[137] Fix | Delete
[138] Fix | Delete
var builtins = makeKeywords("- * ** / + < <= = > >= ");
[139] Fix | Delete
var tests = {
[140] Fix | Delete
digit: /\d/,
[141] Fix | Delete
digit_or_colon: /[\d:]/,
[142] Fix | Delete
hex: /[0-9a-f]/i,
[143] Fix | Delete
sign: /[+-]/,
[144] Fix | Delete
exponent: /e/i,
[145] Fix | Delete
keyword_char: /[^\s\(\[\;\)\]]/,
[146] Fix | Delete
symbol: /[\w*+\-]/
[147] Fix | Delete
};
[148] Fix | Delete
function isNumber(ch, stream){
[149] Fix | Delete
// hex
[150] Fix | Delete
if ( ch === '0' && stream.eat(/x/i) ) {
[151] Fix | Delete
stream.eatWhile(tests.hex);
[152] Fix | Delete
return true;
[153] Fix | Delete
}
[154] Fix | Delete
// leading sign
[155] Fix | Delete
if ( ( ch == '+' || ch == '-' ) && ( tests.digit.test(stream.peek()) ) ) {
[156] Fix | Delete
stream.eat(tests.sign);
[157] Fix | Delete
ch = stream.next();
[158] Fix | Delete
}
[159] Fix | Delete
if ( tests.digit.test(ch) ) {
[160] Fix | Delete
stream.eat(ch);
[161] Fix | Delete
stream.eatWhile(tests.digit);
[162] Fix | Delete
if ( '.' == stream.peek()) {
[163] Fix | Delete
stream.eat('.');
[164] Fix | Delete
stream.eatWhile(tests.digit);
[165] Fix | Delete
}
[166] Fix | Delete
if ( stream.eat(tests.exponent) ) {
[167] Fix | Delete
stream.eat(tests.sign);
[168] Fix | Delete
stream.eatWhile(tests.digit);
[169] Fix | Delete
}
[170] Fix | Delete
return true;
[171] Fix | Delete
}
[172] Fix | Delete
return false;
[173] Fix | Delete
}
[174] Fix | Delete
return {
[175] Fix | Delete
startState: function () {
[176] Fix | Delete
return {
[177] Fix | Delete
indentStack: null,
[178] Fix | Delete
indentation: 0,
[179] Fix | Delete
mode: false
[180] Fix | Delete
};
[181] Fix | Delete
},
[182] Fix | Delete
token: function (stream, state) {
[183] Fix | Delete
if (state.indentStack == null && stream.sol()) {
[184] Fix | Delete
// update indentation, but only if indentStack is empty
[185] Fix | Delete
state.indentation = 6 ; //stream.indentation();
[186] Fix | Delete
}
[187] Fix | Delete
// skip spaces
[188] Fix | Delete
if (stream.eatSpace()) {
[189] Fix | Delete
return null;
[190] Fix | Delete
}
[191] Fix | Delete
var returnType = null;
[192] Fix | Delete
switch(state.mode){
[193] Fix | Delete
case "string": // multi-line string parsing mode
[194] Fix | Delete
var next = false;
[195] Fix | Delete
while ((next = stream.next()) != null) {
[196] Fix | Delete
if (next == "\"" || next == "\'") {
[197] Fix | Delete
state.mode = false;
[198] Fix | Delete
break;
[199] Fix | Delete
}
[200] Fix | Delete
}
[201] Fix | Delete
returnType = STRING; // continue on in string mode
[202] Fix | Delete
break;
[203] Fix | Delete
default: // default parsing mode
[204] Fix | Delete
var ch = stream.next();
[205] Fix | Delete
var col = stream.column();
[206] Fix | Delete
if (col >= 0 && col <= 5) {
[207] Fix | Delete
returnType = COBOLLINENUM;
[208] Fix | Delete
} else if (col >= 72 && col <= 79) {
[209] Fix | Delete
stream.skipToEnd();
[210] Fix | Delete
returnType = MODTAG;
[211] Fix | Delete
} else if (ch == "*" && col == 6) { // comment
[212] Fix | Delete
stream.skipToEnd(); // rest of the line is a comment
[213] Fix | Delete
returnType = COMMENT;
[214] Fix | Delete
} else if (ch == "\"" || ch == "\'") {
[215] Fix | Delete
state.mode = "string";
[216] Fix | Delete
returnType = STRING;
[217] Fix | Delete
} else if (ch == "'" && !( tests.digit_or_colon.test(stream.peek()) )) {
[218] Fix | Delete
returnType = ATOM;
[219] Fix | Delete
} else if (ch == ".") {
[220] Fix | Delete
returnType = PERIOD;
[221] Fix | Delete
} else if (isNumber(ch,stream)){
[222] Fix | Delete
returnType = NUMBER;
[223] Fix | Delete
} else {
[224] Fix | Delete
if (stream.current().match(tests.symbol)) {
[225] Fix | Delete
while (col < 71) {
[226] Fix | Delete
if (stream.eat(tests.symbol) === undefined) {
[227] Fix | Delete
break;
[228] Fix | Delete
} else {
[229] Fix | Delete
col++;
[230] Fix | Delete
}
[231] Fix | Delete
}
[232] Fix | Delete
}
[233] Fix | Delete
if (keywords && keywords.propertyIsEnumerable(stream.current().toUpperCase())) {
[234] Fix | Delete
returnType = KEYWORD;
[235] Fix | Delete
} else if (builtins && builtins.propertyIsEnumerable(stream.current().toUpperCase())) {
[236] Fix | Delete
returnType = BUILTIN;
[237] Fix | Delete
} else if (atoms && atoms.propertyIsEnumerable(stream.current().toUpperCase())) {
[238] Fix | Delete
returnType = ATOM;
[239] Fix | Delete
} else returnType = null;
[240] Fix | Delete
}
[241] Fix | Delete
}
[242] Fix | Delete
return returnType;
[243] Fix | Delete
},
[244] Fix | Delete
indent: function (state) {
[245] Fix | Delete
if (state.indentStack == null) return state.indentation;
[246] Fix | Delete
return state.indentStack.indent;
[247] Fix | Delete
}
[248] Fix | Delete
};
[249] Fix | Delete
});
[250] Fix | Delete
[251] Fix | Delete
CodeMirror.defineMIME("text/x-cobol", "cobol");
[252] Fix | Delete
[253] Fix | Delete
});
[254] Fix | Delete
[255] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function