38 lines
1.7 KiB
JavaScript
Executable File
38 lines
1.7 KiB
JavaScript
Executable File
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
|
// Distributed under an MIT license: https://codemirror.net/LICENSE
|
|
|
|
(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) {
|
|
var closeComment = parserConfig.closeComment || "--%>"
|
|
return CodeMirror.multiplexingMode(CodeMirror.getMode(config, "htmlmixed"), {
|
|
open: parserConfig.openComment || "<%--",
|
|
close: closeComment,
|
|
delimStyle: "comment",
|
|
mode: {token: function(stream) {
|
|
stream.skipTo(closeComment) || stream.skipToEnd()
|
|
return "comment"
|
|
}}
|
|
}, {
|
|
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"});
|
|
});
|