diff options
Diffstat (limited to 'public/vendor/codemirror/mode/htmlmixed')
-rw-r--r-- | public/vendor/codemirror/mode/htmlmixed/htmlmixed.js | 152 | ||||
-rw-r--r-- | public/vendor/codemirror/mode/htmlmixed/index.html | 89 |
2 files changed, 0 insertions, 241 deletions
diff --git a/public/vendor/codemirror/mode/htmlmixed/htmlmixed.js b/public/vendor/codemirror/mode/htmlmixed/htmlmixed.js deleted file mode 100644 index eb21fcc1..00000000 --- a/public/vendor/codemirror/mode/htmlmixed/htmlmixed.js +++ /dev/null @@ -1,152 +0,0 @@ -// 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("../xml/xml"), require("../javascript/javascript"), require("../css/css")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror", "../xml/xml", "../javascript/javascript", "../css/css"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - "use strict"; - - var defaultTags = { - script: [ - ["lang", /(javascript|babel)/i, "javascript"], - ["type", /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^$/i, "javascript"], - ["type", /./, "text/plain"], - [null, null, "javascript"] - ], - style: [ - ["lang", /^css$/i, "css"], - ["type", /^(text\/)?(x-)?(stylesheet|css)$/i, "css"], - ["type", /./, "text/plain"], - [null, null, "css"] - ] - }; - - function maybeBackup(stream, pat, style) { - var cur = stream.current(), close = cur.search(pat); - if (close > -1) { - stream.backUp(cur.length - close); - } else if (cur.match(/<\/?$/)) { - stream.backUp(cur.length); - if (!stream.match(pat, false)) stream.match(cur); - } - return style; - } - - var attrRegexpCache = {}; - function getAttrRegexp(attr) { - var regexp = attrRegexpCache[attr]; - if (regexp) return regexp; - return attrRegexpCache[attr] = new RegExp("\\s+" + attr + "\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*"); - } - - function getAttrValue(text, attr) { - var match = text.match(getAttrRegexp(attr)) - return match ? /^\s*(.*?)\s*$/.exec(match[2])[1] : "" - } - - function getTagRegexp(tagName, anchored) { - return new RegExp((anchored ? "^" : "") + "<\/\s*" + tagName + "\s*>", "i"); - } - - function addTags(from, to) { - for (var tag in from) { - var dest = to[tag] || (to[tag] = []); - var source = from[tag]; - for (var i = source.length - 1; i >= 0; i--) - dest.unshift(source[i]) - } - } - - function findMatchingMode(tagInfo, tagText) { - for (var i = 0; i < tagInfo.length; i++) { - var spec = tagInfo[i]; - if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2]; - } - } - - CodeMirror.defineMode("htmlmixed", function (config, parserConfig) { - var htmlMode = CodeMirror.getMode(config, { - name: "xml", - htmlMode: true, - multilineTagIndentFactor: parserConfig.multilineTagIndentFactor, - multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag - }); - - var tags = {}; - var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes; - addTags(defaultTags, tags); - if (configTags) addTags(configTags, tags); - if (configScript) for (var i = configScript.length - 1; i >= 0; i--) - tags.script.unshift(["type", configScript[i].matches, configScript[i].mode]) - - function html(stream, state) { - var style = htmlMode.token(stream, state.htmlState), tag = /\btag\b/.test(style), tagName - if (tag && !/[<>\s\/]/.test(stream.current()) && - (tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) && - tags.hasOwnProperty(tagName)) { - state.inTag = tagName + " " - } else if (state.inTag && tag && />$/.test(stream.current())) { - var inTag = /^([\S]+) (.*)/.exec(state.inTag) - state.inTag = null - var modeSpec = stream.current() == ">" && findMatchingMode(tags[inTag[1]], inTag[2]) - var mode = CodeMirror.getMode(config, modeSpec) - var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false); - state.token = function (stream, state) { - if (stream.match(endTagA, false)) { - state.token = html; - state.localState = state.localMode = null; - return null; - } - return maybeBackup(stream, endTag, state.localMode.token(stream, state.localState)); - }; - state.localMode = mode; - state.localState = CodeMirror.startState(mode, htmlMode.indent(state.htmlState, "")); - } else if (state.inTag) { - state.inTag += stream.current() - if (stream.eol()) state.inTag += " " - } - return style; - }; - - return { - startState: function () { - var state = CodeMirror.startState(htmlMode); - return {token: html, inTag: null, localMode: null, localState: null, htmlState: state}; - }, - - copyState: function (state) { - var local; - if (state.localState) { - local = CodeMirror.copyState(state.localMode, state.localState); - } - return {token: state.token, inTag: state.inTag, - localMode: state.localMode, localState: local, - htmlState: CodeMirror.copyState(htmlMode, state.htmlState)}; - }, - - token: function (stream, state) { - return state.token(stream, state); - }, - - indent: function (state, textAfter) { - if (!state.localMode || /^\s*<\//.test(textAfter)) - return htmlMode.indent(state.htmlState, textAfter); - else if (state.localMode.indent) - return state.localMode.indent(state.localState, textAfter); - else - return CodeMirror.Pass; - }, - - innerMode: function (state) { - return {state: state.localState || state.htmlState, mode: state.localMode || htmlMode}; - } - }; - }, "xml", "javascript", "css"); - - CodeMirror.defineMIME("text/html", "htmlmixed"); -}); diff --git a/public/vendor/codemirror/mode/htmlmixed/index.html b/public/vendor/codemirror/mode/htmlmixed/index.html deleted file mode 100644 index f94df9e2..00000000 --- a/public/vendor/codemirror/mode/htmlmixed/index.html +++ /dev/null @@ -1,89 +0,0 @@ -<!doctype html> - -<title>CodeMirror: HTML mixed mode</title> -<meta charset="utf-8"/> -<link rel=stylesheet href="../../doc/docs.css"> - -<link rel="stylesheet" href="../../lib/codemirror.css"> -<script src="../../lib/codemirror.js"></script> -<script src="../../addon/selection/selection-pointer.js"></script> -<script src="../xml/xml.js"></script> -<script src="../javascript/javascript.js"></script> -<script src="../css/css.js"></script> -<script src="../vbscript/vbscript.js"></script> -<script src="htmlmixed.js"></script> -<style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style> -<div id=nav> - <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a> - - <ul> - <li><a href="../../index.html">Home</a> - <li><a href="../../doc/manual.html">Manual</a> - <li><a href="https://github.com/codemirror/codemirror">Code</a> - </ul> - <ul> - <li><a href="../index.html">Language modes</a> - <li><a class=active href="#">HTML mixed</a> - </ul> -</div> - -<article> -<h2>HTML mixed mode</h2> -<form><textarea id="code" name="code"> -<html style="color: green"> - <!-- this is a comment --> - <head> - <title>Mixed HTML Example</title> - <style type="text/css"> - h1 {font-family: comic sans; color: #f0f;} - div {background: yellow !important;} - body { - max-width: 50em; - margin: 1em 2em 1em 5em; - } - </style> - </head> - <body> - <h1>Mixed HTML Example</h1> - <script> - function jsFunc(arg1, arg2) { - if (arg1 && arg2) document.body.innerHTML = "achoo"; - } - </script> - </body> -</html> -</textarea></form> - <script> - // Define an extended mixed-mode that understands vbscript and - // leaves mustache/handlebars embedded templates in html mode - var mixedMode = { - name: "htmlmixed", - scriptTypes: [{matches: /\/x-handlebars-template|\/x-mustache/i, - mode: null}, - {matches: /(text|application)\/(x-)?vb(a|script)/i, - mode: "vbscript"}] - }; - var editor = CodeMirror.fromTextArea(document.getElementById("code"), { - mode: mixedMode, - selectionPointer: true - }); - </script> - - <p>The HTML mixed mode depends on the XML, JavaScript, and CSS modes.</p> - - <p>It takes an optional mode configuration - option, <code>scriptTypes</code>, which can be used to add custom - behavior for specific <code><script type="..."></code> tags. If - given, it should hold an array of <code>{matches, mode}</code> - objects, where <code>matches</code> is a string or regexp that - matches the script type, and <code>mode</code> is - either <code>null</code>, for script types that should stay in - HTML mode, or a <a href="../../doc/manual.html#option_mode">mode - spec</a> corresponding to the mode that should be used for the - script.</p> - - <p><strong>MIME types defined:</strong> <code>text/html</code> - (redefined, only takes effect if you load this parser after the - XML parser).</p> - - </article> |