diff options
author | Wu Cheng-Han | 2016-11-28 01:36:48 +0800 |
---|---|---|
committer | Wu Cheng-Han | 2016-11-28 01:36:48 +0800 |
commit | 9f79ed929e4156dc8b5b45161895d70d51cfa5a2 (patch) | |
tree | 760e0491a52558036b93b0c986e96aa95b4c0127 /public/vendor/codemirror/mode/jsx | |
parent | 3a305b8258782797b328f2ce46e8bb74e9603594 (diff) |
Update to move custom CodeMirror codebase to our own repo and update webpack build config
Diffstat (limited to 'public/vendor/codemirror/mode/jsx')
-rw-r--r-- | public/vendor/codemirror/mode/jsx/index.html | 89 | ||||
-rw-r--r-- | public/vendor/codemirror/mode/jsx/jsx.js | 148 | ||||
-rw-r--r-- | public/vendor/codemirror/mode/jsx/test.js | 69 |
3 files changed, 0 insertions, 306 deletions
diff --git a/public/vendor/codemirror/mode/jsx/index.html b/public/vendor/codemirror/mode/jsx/index.html deleted file mode 100644 index 1054bbcc..00000000 --- a/public/vendor/codemirror/mode/jsx/index.html +++ /dev/null @@ -1,89 +0,0 @@ -<!doctype html> - -<title>CodeMirror: JSX 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="../javascript/javascript.js"></script> -<script src="../xml/xml.js"></script> -<script src="jsx.js"></script> -<style type="text/css">.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="#">JSX</a> - </ul> -</div> - -<article> -<h2>JSX mode</h2> - -<div><textarea id="code" name="code">// Code snippets from http://facebook.github.io/react/docs/jsx-in-depth.html - -// Rendering HTML tags -var myDivElement = <div className="foo" />; -ReactDOM.render(myDivElement, document.getElementById('example')); - -// Rendering React components -var MyComponent = React.createClass({/*...*/}); -var myElement = <MyComponent someProperty={true} />; -ReactDOM.render(myElement, document.getElementById('example')); - -// Namespaced components -var Form = MyFormComponent; - -var App = ( - <Form> - <Form.Row> - <Form.Label /> - <Form.Input /> - </Form.Row> - </Form> -); - -// Attribute JavaScript expressions -var person = <Person name={window.isLoggedIn ? window.name : ''} />; - -// Boolean attributes -<input type="button" disabled />; -<input type="button" disabled={true} />; - -// Child JavaScript expressions -var content = <Container>{window.isLoggedIn ? <Nav /> : <Login />}</Container>; - -// Comments -var content = ( - <Nav> - {/* child comment, put {} around */} - <Person - /* multi - line - comment */ - name={window.isLoggedIn ? window.name : ''} // end of line comment - /> - </Nav> -); -</textarea></div> - -<script> -var editor = CodeMirror.fromTextArea(document.getElementById("code"), { - lineNumbers: true, - mode: "jsx" -}) -</script> - -<p>JSX Mode for <a href="http://facebook.github.io/react">React</a>'s -JavaScript syntax extension.</p> - -<p><strong>MIME types defined:</strong> <code>text/jsx</code>, <code>text/typescript-jsx</code>.</p> - -</article> diff --git a/public/vendor/codemirror/mode/jsx/jsx.js b/public/vendor/codemirror/mode/jsx/jsx.js deleted file mode 100644 index 45c3024a..00000000 --- a/public/vendor/codemirror/mode/jsx/jsx.js +++ /dev/null @@ -1,148 +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")) - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror", "../xml/xml", "../javascript/javascript"], mod) - else // Plain browser env - mod(CodeMirror) -})(function(CodeMirror) { - "use strict" - - // Depth means the amount of open braces in JS context, in XML - // context 0 means not in tag, 1 means in tag, and 2 means in tag - // and js block comment. - function Context(state, mode, depth, prev) { - this.state = state; this.mode = mode; this.depth = depth; this.prev = prev - } - - function copyContext(context) { - return new Context(CodeMirror.copyState(context.mode, context.state), - context.mode, - context.depth, - context.prev && copyContext(context.prev)) - } - - CodeMirror.defineMode("jsx", function(config, modeConfig) { - var xmlMode = CodeMirror.getMode(config, {name: "xml", allowMissing: true, multilineTagIndentPastTag: false}) - var jsMode = CodeMirror.getMode(config, modeConfig && modeConfig.base || "javascript") - - function flatXMLIndent(state) { - var tagName = state.tagName - state.tagName = null - var result = xmlMode.indent(state, "") - state.tagName = tagName - return result - } - - function token(stream, state) { - if (state.context.mode == xmlMode) - return xmlToken(stream, state, state.context) - else - return jsToken(stream, state, state.context) - } - - function xmlToken(stream, state, cx) { - if (cx.depth == 2) { // Inside a JS /* */ comment - if (stream.match(/^.*?\*\//)) cx.depth = 1 - else stream.skipToEnd() - return "comment" - } - - if (stream.peek() == "{") { - xmlMode.skipAttribute(cx.state) - - var indent = flatXMLIndent(cx.state), xmlContext = cx.state.context - // If JS starts on same line as tag - if (xmlContext && stream.match(/^[^>]*>\s*$/, false)) { - while (xmlContext.prev && !xmlContext.startOfLine) - xmlContext = xmlContext.prev - // If tag starts the line, use XML indentation level - if (xmlContext.startOfLine) indent -= config.indentUnit - // Else use JS indentation level - else if (cx.prev.state.lexical) indent = cx.prev.state.lexical.indented - // Else if inside of tag - } else if (cx.depth == 1) { - indent += config.indentUnit - } - - state.context = new Context(CodeMirror.startState(jsMode, indent), - jsMode, 0, state.context) - return null - } - - if (cx.depth == 1) { // Inside of tag - if (stream.peek() == "<") { // Tag inside of tag - xmlMode.skipAttribute(cx.state) - state.context = new Context(CodeMirror.startState(xmlMode, flatXMLIndent(cx.state)), - xmlMode, 0, state.context) - return null - } else if (stream.match("//")) { - stream.skipToEnd() - return "comment" - } else if (stream.match("/*")) { - cx.depth = 2 - return token(stream, state) - } - } - - var style = xmlMode.token(stream, cx.state), cur = stream.current(), stop - if (/\btag\b/.test(style)) { - if (/>$/.test(cur)) { - if (cx.state.context) cx.depth = 0 - else state.context = state.context.prev - } else if (/^</.test(cur)) { - cx.depth = 1 - } - } else if (!style && (stop = cur.indexOf("{")) > -1) { - stream.backUp(cur.length - stop) - } - return style - } - - function jsToken(stream, state, cx) { - if (stream.peek() == "<" && jsMode.expressionAllowed(stream, cx.state)) { - jsMode.skipExpression(cx.state) - state.context = new Context(CodeMirror.startState(xmlMode, jsMode.indent(cx.state, "")), - xmlMode, 0, state.context) - return null - } - - var style = jsMode.token(stream, cx.state) - if (!style && cx.depth != null) { - var cur = stream.current() - if (cur == "{") { - cx.depth++ - } else if (cur == "}") { - if (--cx.depth == 0) state.context = state.context.prev - } - } - return style - } - - return { - startState: function() { - return {context: new Context(CodeMirror.startState(jsMode), jsMode)} - }, - - copyState: function(state) { - return {context: copyContext(state.context)} - }, - - token: token, - - indent: function(state, textAfter, fullLine) { - return state.context.mode.indent(state.context.state, textAfter, fullLine) - }, - - innerMode: function(state) { - return state.context - } - } - }, "xml", "javascript") - - CodeMirror.defineMIME("text/jsx", "jsx") - CodeMirror.defineMIME("text/typescript-jsx", {name: "jsx", base: {name: "javascript", typescript: true}}) -}); diff --git a/public/vendor/codemirror/mode/jsx/test.js b/public/vendor/codemirror/mode/jsx/test.js deleted file mode 100644 index c54a8b24..00000000 --- a/public/vendor/codemirror/mode/jsx/test.js +++ /dev/null @@ -1,69 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: http://codemirror.net/LICENSE - -(function() { - var mode = CodeMirror.getMode({indentUnit: 2}, "jsx") - function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)) } - - MT("selfclose", - "[keyword var] [def x] [operator =] [bracket&tag <] [tag foo] [bracket&tag />] [operator +] [number 1];") - - MT("openclose", - "([bracket&tag <][tag foo][bracket&tag >]hello [atom &][bracket&tag </][tag foo][bracket&tag >][operator ++])") - - MT("attr", - "([bracket&tag <][tag foo] [attribute abc]=[string 'value'][bracket&tag >]hello [atom &][bracket&tag </][tag foo][bracket&tag >][operator ++])") - - MT("braced_attr", - "([bracket&tag <][tag foo] [attribute abc]={[number 10]}[bracket&tag >]hello [atom &][bracket&tag </][tag foo][bracket&tag >][operator ++])") - - MT("braced_text", - "([bracket&tag <][tag foo][bracket&tag >]hello {[number 10]} [atom &][bracket&tag </][tag foo][bracket&tag >][operator ++])") - - MT("nested_tag", - "([bracket&tag <][tag foo][bracket&tag ><][tag bar][bracket&tag ></][tag bar][bracket&tag ></][tag foo][bracket&tag >][operator ++])") - - MT("nested_jsx", - "[keyword return] (", - " [bracket&tag <][tag foo][bracket&tag >]", - " say {[number 1] [operator +] [bracket&tag <][tag bar] [attribute attr]={[number 10]}[bracket&tag />]}!", - " [bracket&tag </][tag foo][bracket&tag >][operator ++]", - ")") - - MT("preserve_js_context", - "[variable x] [operator =] [string-2 `quasi${][bracket&tag <][tag foo][bracket&tag />][string-2 }quoted`]") - - MT("line_comment", - "([bracket&tag <][tag foo] [comment // hello]", - " [bracket&tag ></][tag foo][bracket&tag >][operator ++])") - - MT("line_comment_not_in_tag", - "([bracket&tag <][tag foo][bracket&tag >] // hello", - " [bracket&tag </][tag foo][bracket&tag >][operator ++])") - - MT("block_comment", - "([bracket&tag <][tag foo] [comment /* hello]", - "[comment line 2]", - "[comment line 3 */] [bracket&tag ></][tag foo][bracket&tag >][operator ++])") - - MT("block_comment_not_in_tag", - "([bracket&tag <][tag foo][bracket&tag >]/* hello", - " line 2", - " line 3 */ [bracket&tag </][tag foo][bracket&tag >][operator ++])") - - MT("missing_attr", - "([bracket&tag <][tag foo] [attribute selected][bracket&tag />][operator ++])") - - MT("indent_js", - "([bracket&tag <][tag foo][bracket&tag >]", - " [bracket&tag <][tag bar] [attribute baz]={[keyword function]() {", - " [keyword return] [number 10]", - " }}[bracket&tag />]", - " [bracket&tag </][tag foo][bracket&tag >])") - - MT("spread", - "([bracket&tag <][tag foo] [attribute bar]={[meta ...][variable baz] [operator /][number 2]}[bracket&tag />])") - - MT("tag_attribute", - "([bracket&tag <][tag foo] [attribute bar]=[bracket&tag <][tag foo][bracket&tag />/>][operator ++])") -})() |