diff options
Diffstat (limited to 'public/vendor/codemirror/mode/pegjs')
-rw-r--r-- | public/vendor/codemirror/mode/pegjs/index.html | 66 | ||||
-rw-r--r-- | public/vendor/codemirror/mode/pegjs/pegjs.js | 114 |
2 files changed, 0 insertions, 180 deletions
diff --git a/public/vendor/codemirror/mode/pegjs/index.html b/public/vendor/codemirror/mode/pegjs/index.html deleted file mode 100644 index 0c746048..00000000 --- a/public/vendor/codemirror/mode/pegjs/index.html +++ /dev/null @@ -1,66 +0,0 @@ -<!doctype html> -<html> - <head> - <title>CodeMirror: PEG.js 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="pegjs.js"></script> - <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style> - </head> - <body> - <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="#">PEG.js Mode</a> - </ul> - </div> - - <article> - <h2>PEG.js Mode</h2> - <form><textarea id="code" name="code"> -/* - * Classic example grammar, which recognizes simple arithmetic expressions like - * "2*(3+4)". The parser generated from this grammar then computes their value. - */ - -start - = additive - -additive - = left:multiplicative "+" right:additive { return left + right; } - / multiplicative - -multiplicative - = left:primary "*" right:multiplicative { return left * right; } - / primary - -primary - = integer - / "(" additive:additive ")" { return additive; } - -integer "integer" - = digits:[0-9]+ { return parseInt(digits.join(""), 10); } - -letter = [a-z]+</textarea></form> - <script> - var editor = CodeMirror.fromTextArea(document.getElementById("code"), { - mode: {name: "pegjs"}, - lineNumbers: true - }); - </script> - <h3>The PEG.js Mode</h3> - <p> Created by Forbes Lindesay.</p> - </article> - </body> -</html> diff --git a/public/vendor/codemirror/mode/pegjs/pegjs.js b/public/vendor/codemirror/mode/pegjs/pegjs.js deleted file mode 100644 index 6c720746..00000000 --- a/public/vendor/codemirror/mode/pegjs/pegjs.js +++ /dev/null @@ -1,114 +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("../javascript/javascript")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror", "../javascript/javascript"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { -"use strict"; - -CodeMirror.defineMode("pegjs", function (config) { - var jsMode = CodeMirror.getMode(config, "javascript"); - - function identifier(stream) { - return stream.match(/^[a-zA-Z_][a-zA-Z0-9_]*/); - } - - return { - startState: function () { - return { - inString: false, - stringType: null, - inComment: false, - inCharacterClass: false, - braced: 0, - lhs: true, - localState: null - }; - }, - token: function (stream, state) { - if (stream) - - //check for state changes - if (!state.inString && !state.inComment && ((stream.peek() == '"') || (stream.peek() == "'"))) { - state.stringType = stream.peek(); - stream.next(); // Skip quote - state.inString = true; // Update state - } - if (!state.inString && !state.inComment && stream.match(/^\/\*/)) { - state.inComment = true; - } - - //return state - if (state.inString) { - while (state.inString && !stream.eol()) { - if (stream.peek() === state.stringType) { - stream.next(); // Skip quote - state.inString = false; // Clear flag - } else if (stream.peek() === '\\') { - stream.next(); - stream.next(); - } else { - stream.match(/^.[^\\\"\']*/); - } - } - return state.lhs ? "property string" : "string"; // Token style - } else if (state.inComment) { - while (state.inComment && !stream.eol()) { - if (stream.match(/\*\//)) { - state.inComment = false; // Clear flag - } else { - stream.match(/^.[^\*]*/); - } - } - return "comment"; - } else if (state.inCharacterClass) { - while (state.inCharacterClass && !stream.eol()) { - if (!(stream.match(/^[^\]\\]+/) || stream.match(/^\\./))) { - state.inCharacterClass = false; - } - } - } else if (stream.peek() === '[') { - stream.next(); - state.inCharacterClass = true; - return 'bracket'; - } else if (stream.match(/^\/\//)) { - stream.skipToEnd(); - return "comment"; - } else if (state.braced || stream.peek() === '{') { - if (state.localState === null) { - state.localState = CodeMirror.startState(jsMode); - } - var token = jsMode.token(stream, state.localState); - var text = stream.current(); - if (!token) { - for (var i = 0; i < text.length; i++) { - if (text[i] === '{') { - state.braced++; - } else if (text[i] === '}') { - state.braced--; - } - }; - } - return token; - } else if (identifier(stream)) { - if (stream.peek() === ':') { - return 'variable'; - } - return 'variable-2'; - } else if (['[', ']', '(', ')'].indexOf(stream.peek()) != -1) { - stream.next(); - return 'bracket'; - } else if (!stream.eatSpace()) { - stream.next(); - } - return null; - } - }; -}, "javascript"); - -}); |