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/jsx
File: jsx.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
(function(mod) {
[3] Fix | Delete
if (typeof exports == "object" && typeof module == "object") // CommonJS
[4] Fix | Delete
mod(require("../../lib/codemirror"), require("../xml/xml"), require("../javascript/javascript"))
[5] Fix | Delete
else if (typeof define == "function" && define.amd) // AMD
[6] Fix | Delete
define(["../../lib/codemirror", "../xml/xml", "../javascript/javascript"], mod)
[7] Fix | Delete
else // Plain browser env
[8] Fix | Delete
mod(CodeMirror)
[9] Fix | Delete
})(function(CodeMirror) {
[10] Fix | Delete
"use strict"
[11] Fix | Delete
[12] Fix | Delete
// Depth means the amount of open braces in JS context, in XML
[13] Fix | Delete
// context 0 means not in tag, 1 means in tag, and 2 means in tag
[14] Fix | Delete
// and js block comment.
[15] Fix | Delete
function Context(state, mode, depth, prev) {
[16] Fix | Delete
this.state = state; this.mode = mode; this.depth = depth; this.prev = prev
[17] Fix | Delete
}
[18] Fix | Delete
[19] Fix | Delete
function copyContext(context) {
[20] Fix | Delete
return new Context(CodeMirror.copyState(context.mode, context.state),
[21] Fix | Delete
context.mode,
[22] Fix | Delete
context.depth,
[23] Fix | Delete
context.prev && copyContext(context.prev))
[24] Fix | Delete
}
[25] Fix | Delete
[26] Fix | Delete
CodeMirror.defineMode("jsx", function(config, modeConfig) {
[27] Fix | Delete
var xmlMode = CodeMirror.getMode(config, {name: "xml", allowMissing: true, multilineTagIndentPastTag: false})
[28] Fix | Delete
var jsMode = CodeMirror.getMode(config, modeConfig && modeConfig.base || "javascript")
[29] Fix | Delete
[30] Fix | Delete
function flatXMLIndent(state) {
[31] Fix | Delete
var tagName = state.tagName
[32] Fix | Delete
state.tagName = null
[33] Fix | Delete
var result = xmlMode.indent(state, "")
[34] Fix | Delete
state.tagName = tagName
[35] Fix | Delete
return result
[36] Fix | Delete
}
[37] Fix | Delete
[38] Fix | Delete
function token(stream, state) {
[39] Fix | Delete
if (state.context.mode == xmlMode)
[40] Fix | Delete
return xmlToken(stream, state, state.context)
[41] Fix | Delete
else
[42] Fix | Delete
return jsToken(stream, state, state.context)
[43] Fix | Delete
}
[44] Fix | Delete
[45] Fix | Delete
function xmlToken(stream, state, cx) {
[46] Fix | Delete
if (cx.depth == 2) { // Inside a JS /* */ comment
[47] Fix | Delete
if (stream.match(/^.*?\*\//)) cx.depth = 1
[48] Fix | Delete
else stream.skipToEnd()
[49] Fix | Delete
return "comment"
[50] Fix | Delete
}
[51] Fix | Delete
[52] Fix | Delete
if (stream.peek() == "{") {
[53] Fix | Delete
xmlMode.skipAttribute(cx.state)
[54] Fix | Delete
[55] Fix | Delete
var indent = flatXMLIndent(cx.state), xmlContext = cx.state.context
[56] Fix | Delete
// If JS starts on same line as tag
[57] Fix | Delete
if (xmlContext && stream.match(/^[^>]*>\s*$/, false)) {
[58] Fix | Delete
while (xmlContext.prev && !xmlContext.startOfLine)
[59] Fix | Delete
xmlContext = xmlContext.prev
[60] Fix | Delete
// If tag starts the line, use XML indentation level
[61] Fix | Delete
if (xmlContext.startOfLine) indent -= config.indentUnit
[62] Fix | Delete
// Else use JS indentation level
[63] Fix | Delete
else if (cx.prev.state.lexical) indent = cx.prev.state.lexical.indented
[64] Fix | Delete
// Else if inside of tag
[65] Fix | Delete
} else if (cx.depth == 1) {
[66] Fix | Delete
indent += config.indentUnit
[67] Fix | Delete
}
[68] Fix | Delete
[69] Fix | Delete
state.context = new Context(CodeMirror.startState(jsMode, indent),
[70] Fix | Delete
jsMode, 0, state.context)
[71] Fix | Delete
return null
[72] Fix | Delete
}
[73] Fix | Delete
[74] Fix | Delete
if (cx.depth == 1) { // Inside of tag
[75] Fix | Delete
if (stream.peek() == "<") { // Tag inside of tag
[76] Fix | Delete
xmlMode.skipAttribute(cx.state)
[77] Fix | Delete
state.context = new Context(CodeMirror.startState(xmlMode, flatXMLIndent(cx.state)),
[78] Fix | Delete
xmlMode, 0, state.context)
[79] Fix | Delete
return null
[80] Fix | Delete
} else if (stream.match("//")) {
[81] Fix | Delete
stream.skipToEnd()
[82] Fix | Delete
return "comment"
[83] Fix | Delete
} else if (stream.match("/*")) {
[84] Fix | Delete
cx.depth = 2
[85] Fix | Delete
return token(stream, state)
[86] Fix | Delete
}
[87] Fix | Delete
}
[88] Fix | Delete
[89] Fix | Delete
var style = xmlMode.token(stream, cx.state), cur = stream.current(), stop
[90] Fix | Delete
if (/\btag\b/.test(style)) {
[91] Fix | Delete
if (/>$/.test(cur)) {
[92] Fix | Delete
if (cx.state.context) cx.depth = 0
[93] Fix | Delete
else state.context = state.context.prev
[94] Fix | Delete
} else if (/^</.test(cur)) {
[95] Fix | Delete
cx.depth = 1
[96] Fix | Delete
}
[97] Fix | Delete
} else if (!style && (stop = cur.indexOf("{")) > -1) {
[98] Fix | Delete
stream.backUp(cur.length - stop)
[99] Fix | Delete
}
[100] Fix | Delete
return style
[101] Fix | Delete
}
[102] Fix | Delete
[103] Fix | Delete
function jsToken(stream, state, cx) {
[104] Fix | Delete
if (stream.peek() == "<" && jsMode.expressionAllowed(stream, cx.state)) {
[105] Fix | Delete
jsMode.skipExpression(cx.state)
[106] Fix | Delete
state.context = new Context(CodeMirror.startState(xmlMode, jsMode.indent(cx.state, "")),
[107] Fix | Delete
xmlMode, 0, state.context)
[108] Fix | Delete
return null
[109] Fix | Delete
}
[110] Fix | Delete
[111] Fix | Delete
var style = jsMode.token(stream, cx.state)
[112] Fix | Delete
if (!style && cx.depth != null) {
[113] Fix | Delete
var cur = stream.current()
[114] Fix | Delete
if (cur == "{") {
[115] Fix | Delete
cx.depth++
[116] Fix | Delete
} else if (cur == "}") {
[117] Fix | Delete
if (--cx.depth == 0) state.context = state.context.prev
[118] Fix | Delete
}
[119] Fix | Delete
}
[120] Fix | Delete
return style
[121] Fix | Delete
}
[122] Fix | Delete
[123] Fix | Delete
return {
[124] Fix | Delete
startState: function() {
[125] Fix | Delete
return {context: new Context(CodeMirror.startState(jsMode), jsMode)}
[126] Fix | Delete
},
[127] Fix | Delete
[128] Fix | Delete
copyState: function(state) {
[129] Fix | Delete
return {context: copyContext(state.context)}
[130] Fix | Delete
},
[131] Fix | Delete
[132] Fix | Delete
token: token,
[133] Fix | Delete
[134] Fix | Delete
indent: function(state, textAfter, fullLine) {
[135] Fix | Delete
return state.context.mode.indent(state.context.state, textAfter, fullLine)
[136] Fix | Delete
},
[137] Fix | Delete
[138] Fix | Delete
innerMode: function(state) {
[139] Fix | Delete
return state.context
[140] Fix | Delete
}
[141] Fix | Delete
}
[142] Fix | Delete
}, "xml", "javascript")
[143] Fix | Delete
[144] Fix | Delete
CodeMirror.defineMIME("text/jsx", "jsx")
[145] Fix | Delete
CodeMirror.defineMIME("text/typescript-jsx", {name: "jsx", base: {name: "javascript", typescript: true}})
[146] Fix | Delete
});
[147] Fix | Delete
[148] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function