| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- // CodeMirror, copyright (c) by Marijn Haverbeke and others
 
- // Distributed under an MIT license: http://codemirror.net/LICENSE
 
- (function(mod) {
 
-   if (typeof exports == "object" && typeof module == "object") // CommonJS
 
-     mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"));
 
-   else if (typeof define == "function" && define.amd) // AMD
 
-     define(["../../lib/codemirror", "../htmlmixed/htmlmixed"], mod);
 
-   else // Plain browser env
 
-     mod(CodeMirror);
 
- })(function(CodeMirror) {
 
- "use strict";
 
- CodeMirror.defineMode("htmlembedded", function(config, parserConfig) {
 
-   //config settings
 
-   var scriptStartRegex = parserConfig.scriptStartRegex || /^<%/i,
 
-       scriptEndRegex = parserConfig.scriptEndRegex || /^%>/i;
 
-   //inner modes
 
-   var scriptingMode, htmlMixedMode;
 
-   //tokenizer when in html mode
 
-   function htmlDispatch(stream, state) {
 
-       if (stream.match(scriptStartRegex, false)) {
 
-           state.token=scriptingDispatch;
 
-           return scriptingMode.token(stream, state.scriptState);
 
-           }
 
-       else
 
-           return htmlMixedMode.token(stream, state.htmlState);
 
-     }
 
-   //tokenizer when in scripting mode
 
-   function scriptingDispatch(stream, state) {
 
-       if (stream.match(scriptEndRegex, false))  {
 
-           state.token=htmlDispatch;
 
-           return htmlMixedMode.token(stream, state.htmlState);
 
-          }
 
-       else
 
-           return scriptingMode.token(stream, state.scriptState);
 
-          }
 
-   return {
 
-     startState: function() {
 
-       scriptingMode = scriptingMode || CodeMirror.getMode(config, parserConfig.scriptingModeSpec);
 
-       htmlMixedMode = htmlMixedMode || CodeMirror.getMode(config, "htmlmixed");
 
-       return {
 
-           token :  parserConfig.startOpen ? scriptingDispatch : htmlDispatch,
 
-           htmlState : CodeMirror.startState(htmlMixedMode),
 
-           scriptState : CodeMirror.startState(scriptingMode)
 
-       };
 
-     },
 
-     token: function(stream, state) {
 
-       return state.token(stream, state);
 
-     },
 
-     indent: function(state, textAfter) {
 
-       if (state.token == htmlDispatch)
 
-         return htmlMixedMode.indent(state.htmlState, textAfter);
 
-       else if (scriptingMode.indent)
 
-         return scriptingMode.indent(state.scriptState, textAfter);
 
-     },
 
-     copyState: function(state) {
 
-       return {
 
-        token : state.token,
 
-        htmlState : CodeMirror.copyState(htmlMixedMode, state.htmlState),
 
-        scriptState : CodeMirror.copyState(scriptingMode, state.scriptState)
 
-       };
 
-     },
 
-     innerMode: function(state) {
 
-       if (state.token == scriptingDispatch) return {state: state.scriptState, mode: scriptingMode};
 
-       else return {state: state.htmlState, mode: htmlMixedMode};
 
-     }
 
-   };
 
- }, "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"});
 
- });
 
 
  |