diff options
author | Michael Lustfield <MTecknology@users.noreply.github.com> | 2017-08-23 09:58:05 -0500 |
---|---|---|
committer | Kim "BKC" Carlbäcker <kim.carlbacker@gmail.com> | 2017-08-23 16:58:05 +0200 |
commit | a915a09e4f8edc7734c9374ad9f9a51b39241ee3 (patch) | |
tree | d2498d2cfb579cd5c1d73d750163905cfbc5fab5 /public/plugins/codemirror-5.17.0/mode/ebnf | |
parent | 64b706884635bcac31710d878bbb5e1b2d96ac0c (diff) | |
download | gitea-a915a09e4f8edc7734c9374ad9f9a51b39241ee3.tar.gz gitea-a915a09e4f8edc7734c9374ad9f9a51b39241ee3.zip |
Moved vendored js/css into `public/vendor` and documented sources (#1484) (#2241)
* Cleaning up public/ and documenting js/css libs.
This commit mostly addresses #1484 by moving vendor'ed plugins into a
vendor/ directory and documenting their upstream source and license in
vendor/librejs.html.
This also proves gitea is using only open source js/css libraries which
helps toward reaching #1524.
* Removing unused css file.
The version of this file in use is located at:
vendor/plugins/highlight/github.css
* Cleaned up librejs.html and added javascript header
A SafeJS function was added to templates/helper.go to allow keeping
comments inside of javascript.
A javascript comment was added in the header of templates/base/head.tmpl
to mark all non-inline source as free.
The librejs.html file was updated to meet the current librejs spec. I
have now verified that the librejs plugin detects most of the scripts
included in gitea and suspect the non-free detections are the result of
a bug in the plugin. I believe this commit is enough to meet the C0.0
requirement of #1534.
* Updating SafeJS function per lint suggestion
* Added VERSIONS file, per request
Diffstat (limited to 'public/plugins/codemirror-5.17.0/mode/ebnf')
-rw-r--r-- | public/plugins/codemirror-5.17.0/mode/ebnf/ebnf.js | 195 | ||||
-rw-r--r-- | public/plugins/codemirror-5.17.0/mode/ebnf/index.html | 102 |
2 files changed, 0 insertions, 297 deletions
diff --git a/public/plugins/codemirror-5.17.0/mode/ebnf/ebnf.js b/public/plugins/codemirror-5.17.0/mode/ebnf/ebnf.js deleted file mode 100644 index 9618f8e42b..0000000000 --- a/public/plugins/codemirror-5.17.0/mode/ebnf/ebnf.js +++ /dev/null @@ -1,195 +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")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - "use strict"; - - CodeMirror.defineMode("ebnf", function (config) { - var commentType = {slash: 0, parenthesis: 1}; - var stateType = {comment: 0, _string: 1, characterClass: 2}; - var bracesMode = null; - - if (config.bracesMode) - bracesMode = CodeMirror.getMode(config, config.bracesMode); - - return { - startState: function () { - return { - stringType: null, - commentType: null, - braced: 0, - lhs: true, - localState: null, - stack: [], - inDefinition: false - }; - }, - token: function (stream, state) { - if (!stream) return; - - //check for state changes - if (state.stack.length === 0) { - //strings - if ((stream.peek() == '"') || (stream.peek() == "'")) { - state.stringType = stream.peek(); - stream.next(); // Skip quote - state.stack.unshift(stateType._string); - } else if (stream.match(/^\/\*/)) { //comments starting with /* - state.stack.unshift(stateType.comment); - state.commentType = commentType.slash; - } else if (stream.match(/^\(\*/)) { //comments starting with (* - state.stack.unshift(stateType.comment); - state.commentType = commentType.parenthesis; - } - } - - //return state - //stack has - switch (state.stack[0]) { - case stateType._string: - while (state.stack[0] === stateType._string && !stream.eol()) { - if (stream.peek() === state.stringType) { - stream.next(); // Skip quote - state.stack.shift(); // Clear flag - } else if (stream.peek() === "\\") { - stream.next(); - stream.next(); - } else { - stream.match(/^.[^\\\"\']*/); - } - } - return state.lhs ? "property string" : "string"; // Token style - - case stateType.comment: - while (state.stack[0] === stateType.comment && !stream.eol()) { - if (state.commentType === commentType.slash && stream.match(/\*\//)) { - state.stack.shift(); // Clear flag - state.commentType = null; - } else if (state.commentType === commentType.parenthesis && stream.match(/\*\)/)) { - state.stack.shift(); // Clear flag - state.commentType = null; - } else { - stream.match(/^.[^\*]*/); - } - } - return "comment"; - - case stateType.characterClass: - while (state.stack[0] === stateType.characterClass && !stream.eol()) { - if (!(stream.match(/^[^\]\\]+/) || stream.match(/^\\./))) { - state.stack.shift(); - } - } - return "operator"; - } - - var peek = stream.peek(); - - if (bracesMode !== null && (state.braced || peek === "{")) { - if (state.localState === null) - state.localState = CodeMirror.startState(bracesMode); - - var token = bracesMode.token(stream, state.localState), - text = stream.current(); - - if (!token) { - for (var i = 0; i < text.length; i++) { - if (text[i] === "{") { - if (state.braced === 0) { - token = "matchingbracket"; - } - state.braced++; - } else if (text[i] === "}") { - state.braced--; - if (state.braced === 0) { - token = "matchingbracket"; - } - } - } - } - return token; - } - - //no stack - switch (peek) { - case "[": - stream.next(); - state.stack.unshift(stateType.characterClass); - return "bracket"; - case ":": - case "|": - case ";": - stream.next(); - return "operator"; - case "%": - if (stream.match("%%")) { - return "header"; - } else if (stream.match(/[%][A-Za-z]+/)) { - return "keyword"; - } else if (stream.match(/[%][}]/)) { - return "matchingbracket"; - } - break; - case "/": - if (stream.match(/[\/][A-Za-z]+/)) { - return "keyword"; - } - case "\\": - if (stream.match(/[\][a-z]+/)) { - return "string-2"; - } - case ".": - if (stream.match(".")) { - return "atom"; - } - case "*": - case "-": - case "+": - case "^": - if (stream.match(peek)) { - return "atom"; - } - case "$": - if (stream.match("$$")) { - return "builtin"; - } else if (stream.match(/[$][0-9]+/)) { - return "variable-3"; - } - case "<": - if (stream.match(/<<[a-zA-Z_]+>>/)) { - return "builtin"; - } - } - - if (stream.match(/^\/\//)) { - stream.skipToEnd(); - return "comment"; - } else if (stream.match(/return/)) { - return "operator"; - } else if (stream.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)) { - if (stream.match(/(?=[\(.])/)) { - return "variable"; - } else if (stream.match(/(?=[\s\n]*[:=])/)) { - return "def"; - } - return "variable-2"; - } else if (["[", "]", "(", ")"].indexOf(stream.peek()) != -1) { - stream.next(); - return "bracket"; - } else if (!stream.eatSpace()) { - stream.next(); - } - return null; - } - }; - }); - - CodeMirror.defineMIME("text/x-ebnf", "ebnf"); -}); diff --git a/public/plugins/codemirror-5.17.0/mode/ebnf/index.html b/public/plugins/codemirror-5.17.0/mode/ebnf/index.html deleted file mode 100644 index 13845629b3..0000000000 --- a/public/plugins/codemirror-5.17.0/mode/ebnf/index.html +++ /dev/null @@ -1,102 +0,0 @@ -<!doctype html> -<html> - <head> - <title>CodeMirror: EBNF 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="ebnf.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="#">EBNF Mode</a> - </ul> - </div> - - <article> - <h2>EBNF Mode (bracesMode setting = "javascript")</h2> - <form><textarea id="code" name="code"> -/* description: Parses end executes mathematical expressions. */ - -/* lexical grammar */ -%lex - -%% -\s+ /* skip whitespace */ -[0-9]+("."[0-9]+)?\b return 'NUMBER'; -"*" return '*'; -"/" return '/'; -"-" return '-'; -"+" return '+'; -"^" return '^'; -"(" return '('; -")" return ')'; -"PI" return 'PI'; -"E" return 'E'; -<<EOF>> return 'EOF'; - -/lex - -/* operator associations and precedence */ - -%left '+' '-' -%left '*' '/' -%left '^' -%left UMINUS - -%start expressions - -%% /* language grammar */ - -expressions -: e EOF -{print($1); return $1;} -; - -e -: e '+' e -{$$ = $1+$3;} -| e '-' e -{$$ = $1-$3;} -| e '*' e -{$$ = $1*$3;} -| e '/' e -{$$ = $1/$3;} -| e '^' e -{$$ = Math.pow($1, $3);} -| '-' e %prec UMINUS -{$$ = -$2;} -| '(' e ')' -{$$ = $2;} -| NUMBER -{$$ = Number(yytext);} -| E -{$$ = Math.E;} -| PI -{$$ = Math.PI;} -;</textarea></form> - <script> - var editor = CodeMirror.fromTextArea(document.getElementById("code"), { - mode: {name: "ebnf"}, - lineNumbers: true, - bracesMode: 'javascript' - }); - </script> - <h3>The EBNF Mode</h3> - <p> Created by <a href="https://github.com/robertleeplummerjr">Robert Plummer</a></p> - </article> - </body> -</html> |