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/sieve | |
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/sieve')
-rw-r--r-- | public/vendor/codemirror/mode/sieve/index.html | 93 | ||||
-rw-r--r-- | public/vendor/codemirror/mode/sieve/sieve.js | 193 |
2 files changed, 0 insertions, 286 deletions
diff --git a/public/vendor/codemirror/mode/sieve/index.html b/public/vendor/codemirror/mode/sieve/index.html deleted file mode 100644 index 6f029b62..00000000 --- a/public/vendor/codemirror/mode/sieve/index.html +++ /dev/null @@ -1,93 +0,0 @@ -<!doctype html> - -<title>CodeMirror: Sieve (RFC5228) 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="sieve.js"></script> -<style>.CodeMirror {background: #f8f8f8;}</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="#">Sieve (RFC5228)</a> - </ul> -</div> - -<article> -<h2>Sieve (RFC5228) mode</h2> -<form><textarea id="code" name="code"> -# -# Example Sieve Filter -# Declare any optional features or extension used by the script -# - -require ["fileinto", "reject"]; - -# -# Reject any large messages (note that the four leading dots get -# "stuffed" to three) -# -if size :over 1M -{ - reject text: -Please do not send me large attachments. -Put your file on a server and send me the URL. -Thank you. -.... Fred -. -; - stop; -} - -# -# Handle messages from known mailing lists -# Move messages from IETF filter discussion list to filter folder -# -if header :is "Sender" "owner-ietf-mta-filters@imc.org" -{ - fileinto "filter"; # move to "filter" folder -} -# -# Keep all messages to or from people in my company -# -elsif address :domain :is ["From", "To"] "example.com" -{ - keep; # keep in "In" folder -} - -# -# Try and catch unsolicited email. If a message is not to me, -# or it contains a subject known to be spam, file it away. -# -elsif anyof (not address :all :contains - ["To", "Cc", "Bcc"] "me@example.com", - header :matches "subject" - ["*make*money*fast*", "*university*dipl*mas*"]) -{ - # If message header does not contain my address, - # it's from a list. - fileinto "spam"; # move to "spam" folder -} -else -{ - # Move all other (non-company) mail to "personal" - # folder. - fileinto "personal"; -} -</textarea></form> - <script> - var editor = CodeMirror.fromTextArea(document.getElementById("code"), {}); - </script> - - <p><strong>MIME types defined:</strong> <code>application/sieve</code>.</p> - - </article> diff --git a/public/vendor/codemirror/mode/sieve/sieve.js b/public/vendor/codemirror/mode/sieve/sieve.js deleted file mode 100644 index f67db2f5..00000000 --- a/public/vendor/codemirror/mode/sieve/sieve.js +++ /dev/null @@ -1,193 +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("sieve", function(config) { - function words(str) { - var obj = {}, words = str.split(" "); - for (var i = 0; i < words.length; ++i) obj[words[i]] = true; - return obj; - } - - var keywords = words("if elsif else stop require"); - var atoms = words("true false not"); - var indentUnit = config.indentUnit; - - function tokenBase(stream, state) { - - var ch = stream.next(); - if (ch == "/" && stream.eat("*")) { - state.tokenize = tokenCComment; - return tokenCComment(stream, state); - } - - if (ch === '#') { - stream.skipToEnd(); - return "comment"; - } - - if (ch == "\"") { - state.tokenize = tokenString(ch); - return state.tokenize(stream, state); - } - - if (ch == "(") { - state._indent.push("("); - // add virtual angel wings so that editor behaves... - // ...more sane incase of broken brackets - state._indent.push("{"); - return null; - } - - if (ch === "{") { - state._indent.push("{"); - return null; - } - - if (ch == ")") { - state._indent.pop(); - state._indent.pop(); - } - - if (ch === "}") { - state._indent.pop(); - return null; - } - - if (ch == ",") - return null; - - if (ch == ";") - return null; - - - if (/[{}\(\),;]/.test(ch)) - return null; - - // 1*DIGIT "K" / "M" / "G" - if (/\d/.test(ch)) { - stream.eatWhile(/[\d]/); - stream.eat(/[KkMmGg]/); - return "number"; - } - - // ":" (ALPHA / "_") *(ALPHA / DIGIT / "_") - if (ch == ":") { - stream.eatWhile(/[a-zA-Z_]/); - stream.eatWhile(/[a-zA-Z0-9_]/); - - return "operator"; - } - - stream.eatWhile(/\w/); - var cur = stream.current(); - - // "text:" *(SP / HTAB) (hash-comment / CRLF) - // *(multiline-literal / multiline-dotstart) - // "." CRLF - if ((cur == "text") && stream.eat(":")) - { - state.tokenize = tokenMultiLineString; - return "string"; - } - - if (keywords.propertyIsEnumerable(cur)) - return "keyword"; - - if (atoms.propertyIsEnumerable(cur)) - return "atom"; - - return null; - } - - function tokenMultiLineString(stream, state) - { - state._multiLineString = true; - // the first line is special it may contain a comment - if (!stream.sol()) { - stream.eatSpace(); - - if (stream.peek() == "#") { - stream.skipToEnd(); - return "comment"; - } - - stream.skipToEnd(); - return "string"; - } - - if ((stream.next() == ".") && (stream.eol())) - { - state._multiLineString = false; - state.tokenize = tokenBase; - } - - return "string"; - } - - function tokenCComment(stream, state) { - var maybeEnd = false, ch; - while ((ch = stream.next()) != null) { - if (maybeEnd && ch == "/") { - state.tokenize = tokenBase; - break; - } - maybeEnd = (ch == "*"); - } - return "comment"; - } - - function tokenString(quote) { - return function(stream, state) { - var escaped = false, ch; - while ((ch = stream.next()) != null) { - if (ch == quote && !escaped) - break; - escaped = !escaped && ch == "\\"; - } - if (!escaped) state.tokenize = tokenBase; - return "string"; - }; - } - - return { - startState: function(base) { - return {tokenize: tokenBase, - baseIndent: base || 0, - _indent: []}; - }, - - token: function(stream, state) { - if (stream.eatSpace()) - return null; - - return (state.tokenize || tokenBase)(stream, state);; - }, - - indent: function(state, _textAfter) { - var length = state._indent.length; - if (_textAfter && (_textAfter[0] == "}")) - length--; - - if (length <0) - length = 0; - - return length * indentUnit; - }, - - electricChars: "}" - }; -}); - -CodeMirror.defineMIME("application/sieve", "sieve"); - -}); |