summaryrefslogtreecommitdiff
path: root/public/vendor/codemirror/mode/webidl/webidl.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/vendor/codemirror/mode/webidl/webidl.js')
-rw-r--r--public/vendor/codemirror/mode/webidl/webidl.js195
1 files changed, 0 insertions, 195 deletions
diff --git a/public/vendor/codemirror/mode/webidl/webidl.js b/public/vendor/codemirror/mode/webidl/webidl.js
deleted file mode 100644
index 81433362..00000000
--- a/public/vendor/codemirror/mode/webidl/webidl.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";
-
-function wordRegexp(words) {
- return new RegExp("^((" + words.join(")|(") + "))\\b");
-};
-
-var builtinArray = [
- "Clamp",
- "Constructor",
- "EnforceRange",
- "Exposed",
- "ImplicitThis",
- "Global", "PrimaryGlobal",
- "LegacyArrayClass",
- "LegacyUnenumerableNamedProperties",
- "LenientThis",
- "NamedConstructor",
- "NewObject",
- "NoInterfaceObject",
- "OverrideBuiltins",
- "PutForwards",
- "Replaceable",
- "SameObject",
- "TreatNonObjectAsNull",
- "TreatNullAs",
- "EmptyString",
- "Unforgeable",
- "Unscopeable"
-];
-var builtins = wordRegexp(builtinArray);
-
-var typeArray = [
- "unsigned", "short", "long", // UnsignedIntegerType
- "unrestricted", "float", "double", // UnrestrictedFloatType
- "boolean", "byte", "octet", // Rest of PrimitiveType
- "Promise", // PromiseType
- "ArrayBuffer", "DataView", "Int8Array", "Int16Array", "Int32Array",
- "Uint8Array", "Uint16Array", "Uint32Array", "Uint8ClampedArray",
- "Float32Array", "Float64Array", // BufferRelatedType
- "ByteString", "DOMString", "USVString", "sequence", "object", "RegExp",
- "Error", "DOMException", "FrozenArray", // Rest of NonAnyType
- "any", // Rest of SingleType
- "void" // Rest of ReturnType
-];
-var types = wordRegexp(typeArray);
-
-var keywordArray = [
- "attribute", "callback", "const", "deleter", "dictionary", "enum", "getter",
- "implements", "inherit", "interface", "iterable", "legacycaller", "maplike",
- "partial", "required", "serializer", "setlike", "setter", "static",
- "stringifier", "typedef", // ArgumentNameKeyword except
- // "unrestricted"
- "optional", "readonly", "or"
-];
-var keywords = wordRegexp(keywordArray);
-
-var atomArray = [
- "true", "false", // BooleanLiteral
- "Infinity", "NaN", // FloatLiteral
- "null" // Rest of ConstValue
-];
-var atoms = wordRegexp(atomArray);
-
-CodeMirror.registerHelper("hintWords", "webidl",
- builtinArray.concat(typeArray).concat(keywordArray).concat(atomArray));
-
-var startDefArray = ["callback", "dictionary", "enum", "interface"];
-var startDefs = wordRegexp(startDefArray);
-
-var endDefArray = ["typedef"];
-var endDefs = wordRegexp(endDefArray);
-
-var singleOperators = /^[:<=>?]/;
-var integers = /^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/;
-var floats = /^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/;
-var identifiers = /^_?[A-Za-z][0-9A-Z_a-z-]*/;
-var identifiersEnd = /^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/;
-var strings = /^"[^"]*"/;
-var multilineComments = /^\/\*.*?\*\//;
-var multilineCommentsStart = /^\/\*.*/;
-var multilineCommentsEnd = /^.*?\*\//;
-
-function readToken(stream, state) {
- // whitespace
- if (stream.eatSpace()) return null;
-
- // comment
- if (state.inComment) {
- if (stream.match(multilineCommentsEnd)) {
- state.inComment = false;
- return "comment";
- }
- stream.skipToEnd();
- return "comment";
- }
- if (stream.match("//")) {
- stream.skipToEnd();
- return "comment";
- }
- if (stream.match(multilineComments)) return "comment";
- if (stream.match(multilineCommentsStart)) {
- state.inComment = true;
- return "comment";
- }
-
- // integer and float
- if (stream.match(/^-?[0-9\.]/, false)) {
- if (stream.match(integers) || stream.match(floats)) return "number";
- }
-
- // string
- if (stream.match(strings)) return "string";
-
- // identifier
- if (state.startDef && stream.match(identifiers)) return "def";
-
- if (state.endDef && stream.match(identifiersEnd)) {
- state.endDef = false;
- return "def";
- }
-
- if (stream.match(keywords)) return "keyword";
-
- if (stream.match(types)) {
- var lastToken = state.lastToken;
- var nextToken = (stream.match(/^\s*(.+?)\b/, false) || [])[1];
-
- if (lastToken === ":" || lastToken === "implements" ||
- nextToken === "implements" || nextToken === "=") {
- // Used as identifier
- return "builtin";
- } else {
- // Used as type
- return "variable-3";
- }
- }
-
- if (stream.match(builtins)) return "builtin";
- if (stream.match(atoms)) return "atom";
- if (stream.match(identifiers)) return "variable";
-
- // other
- if (stream.match(singleOperators)) return "operator";
-
- // unrecognized
- stream.next();
- return null;
-};
-
-CodeMirror.defineMode("webidl", function() {
- return {
- startState: function() {
- return {
- // Is in multiline comment
- inComment: false,
- // Last non-whitespace, matched token
- lastToken: "",
- // Next token is a definition
- startDef: false,
- // Last token of the statement is a definition
- endDef: false
- };
- },
- token: function(stream, state) {
- var style = readToken(stream, state);
-
- if (style) {
- var cur = stream.current();
- state.lastToken = cur;
- if (style === "keyword") {
- state.startDef = startDefs.test(cur);
- state.endDef = state.endDef || endDefs.test(cur);
- } else {
- state.startDef = false;
- }
- }
-
- return style;
- }
- };
-});
-
-CodeMirror.defineMIME("text/x-webidl", "webidl");
-});