htmlembedded.js
37 lines
| 1.7 KiB
| application/javascript
|
JavascriptLexer
r1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others | |||
r4105 | // Distributed under an MIT license: https://codemirror.net/LICENSE | |||
r1 | ||||
(function(mod) { | ||||
if (typeof exports == "object" && typeof module == "object") // CommonJS | ||||
mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), | ||||
require("../../addon/mode/multiplex")); | ||||
else if (typeof define == "function" && define.amd) // AMD | ||||
define(["../../lib/codemirror", "../htmlmixed/htmlmixed", | ||||
"../../addon/mode/multiplex"], mod); | ||||
else // Plain browser env | ||||
mod(CodeMirror); | ||||
})(function(CodeMirror) { | ||||
"use strict"; | ||||
CodeMirror.defineMode("htmlembedded", function(config, parserConfig) { | ||||
r4105 | var closeComment = parserConfig.closeComment || "--%>" | |||
r1 | return CodeMirror.multiplexingMode(CodeMirror.getMode(config, "htmlmixed"), { | |||
r4105 | open: parserConfig.openComment || "<%--", | |||
close: closeComment, | ||||
delimStyle: "comment", | ||||
mode: {token: function(stream) { | ||||
stream.skipTo(closeComment) || stream.skipToEnd() | ||||
return "comment" | ||||
}} | ||||
}, { | ||||
r1 | open: parserConfig.open || parserConfig.scriptStartRegex || "<%", | |||
close: parserConfig.close || parserConfig.scriptEndRegex || "%>", | ||||
mode: CodeMirror.getMode(config, parserConfig.scriptingModeSpec) | ||||
}); | ||||
}, "htmlmixed"); | ||||
CodeMirror.defineMIME("application/x-ejs", {name: "htmlembedded", scriptingModeSpec:"javascript"}); | ||||
CodeMirror.defineMIME("application/x-aspx", {name: "htmlembedded", scriptingModeSpec:"text/x-csharp"}); | ||||
CodeMirror.defineMIME("application/x-jsp", {name: "htmlembedded", scriptingModeSpec:"text/x-java"}); | ||||
CodeMirror.defineMIME("application/x-erb", {name: "htmlembedded", scriptingModeSpec:"ruby"}); | ||||
}); | ||||