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/commonlisp | |
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/commonlisp')
-rw-r--r-- | public/vendor/codemirror/mode/commonlisp/commonlisp.js | 123 | ||||
-rw-r--r-- | public/vendor/codemirror/mode/commonlisp/index.html | 177 |
2 files changed, 0 insertions, 300 deletions
diff --git a/public/vendor/codemirror/mode/commonlisp/commonlisp.js b/public/vendor/codemirror/mode/commonlisp/commonlisp.js deleted file mode 100644 index fb1f99c6..00000000 --- a/public/vendor/codemirror/mode/commonlisp/commonlisp.js +++ /dev/null @@ -1,123 +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("commonlisp", function (config) { - var specialForm = /^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/; - var assumeBody = /^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/; - var numLiteral = /^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/; - var symbol = /[^\s'`,@()\[\]";]/; - var type; - - function readSym(stream) { - var ch; - while (ch = stream.next()) { - if (ch == "\\") stream.next(); - else if (!symbol.test(ch)) { stream.backUp(1); break; } - } - return stream.current(); - } - - function base(stream, state) { - if (stream.eatSpace()) {type = "ws"; return null;} - if (stream.match(numLiteral)) return "number"; - var ch = stream.next(); - if (ch == "\\") ch = stream.next(); - - if (ch == '"') return (state.tokenize = inString)(stream, state); - else if (ch == "(") { type = "open"; return "bracket"; } - else if (ch == ")" || ch == "]") { type = "close"; return "bracket"; } - else if (ch == ";") { stream.skipToEnd(); type = "ws"; return "comment"; } - else if (/['`,@]/.test(ch)) return null; - else if (ch == "|") { - if (stream.skipTo("|")) { stream.next(); return "symbol"; } - else { stream.skipToEnd(); return "error"; } - } else if (ch == "#") { - var ch = stream.next(); - if (ch == "[") { type = "open"; return "bracket"; } - else if (/[+\-=\.']/.test(ch)) return null; - else if (/\d/.test(ch) && stream.match(/^\d*#/)) return null; - else if (ch == "|") return (state.tokenize = inComment)(stream, state); - else if (ch == ":") { readSym(stream); return "meta"; } - else return "error"; - } else { - var name = readSym(stream); - if (name == ".") return null; - type = "symbol"; - if (name == "nil" || name == "t" || name.charAt(0) == ":") return "atom"; - if (state.lastType == "open" && (specialForm.test(name) || assumeBody.test(name))) return "keyword"; - if (name.charAt(0) == "&") return "variable-2"; - return "variable"; - } - } - - function inString(stream, state) { - var escaped = false, next; - while (next = stream.next()) { - if (next == '"' && !escaped) { state.tokenize = base; break; } - escaped = !escaped && next == "\\"; - } - return "string"; - } - - function inComment(stream, state) { - var next, last; - while (next = stream.next()) { - if (next == "#" && last == "|") { state.tokenize = base; break; } - last = next; - } - type = "ws"; - return "comment"; - } - - return { - startState: function () { - return {ctx: {prev: null, start: 0, indentTo: 0}, lastType: null, tokenize: base}; - }, - - token: function (stream, state) { - if (stream.sol() && typeof state.ctx.indentTo != "number") - state.ctx.indentTo = state.ctx.start + 1; - - type = null; - var style = state.tokenize(stream, state); - if (type != "ws") { - if (state.ctx.indentTo == null) { - if (type == "symbol" && assumeBody.test(stream.current())) - state.ctx.indentTo = state.ctx.start + config.indentUnit; - else - state.ctx.indentTo = "next"; - } else if (state.ctx.indentTo == "next") { - state.ctx.indentTo = stream.column(); - } - state.lastType = type; - } - if (type == "open") state.ctx = {prev: state.ctx, start: stream.column(), indentTo: null}; - else if (type == "close") state.ctx = state.ctx.prev || state.ctx; - return style; - }, - - indent: function (state, _textAfter) { - var i = state.ctx.indentTo; - return typeof i == "number" ? i : state.ctx.start + 1; - }, - - closeBrackets: {pairs: "()[]{}\"\""}, - lineComment: ";;", - blockCommentStart: "#|", - blockCommentEnd: "|#" - }; -}); - -CodeMirror.defineMIME("text/x-common-lisp", "commonlisp"); - -}); diff --git a/public/vendor/codemirror/mode/commonlisp/index.html b/public/vendor/codemirror/mode/commonlisp/index.html deleted file mode 100644 index f2bf4522..00000000 --- a/public/vendor/codemirror/mode/commonlisp/index.html +++ /dev/null @@ -1,177 +0,0 @@ -<!doctype html> - -<title>CodeMirror: Common Lisp 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="commonlisp.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="#">Common Lisp</a> - </ul> -</div> - -<article> -<h2>Common Lisp mode</h2> -<form><textarea id="code" name="code">(in-package :cl-postgres) - -;; These are used to synthesize reader and writer names for integer -;; reading/writing functions when the amount of bytes and the -;; signedness is known. Both the macro that creates the functions and -;; some macros that use them create names this way. -(eval-when (:compile-toplevel :load-toplevel :execute) - (defun integer-reader-name (bytes signed) - (intern (with-standard-io-syntax - (format nil "~a~a~a~a" '#:read- (if signed "" '#:u) '#:int bytes)))) - (defun integer-writer-name (bytes signed) - (intern (with-standard-io-syntax - (format nil "~a~a~a~a" '#:write- (if signed "" '#:u) '#:int bytes))))) - -(defmacro integer-reader (bytes) - "Create a function to read integers from a binary stream." - (let ((bits (* bytes 8))) - (labels ((return-form (signed) - (if signed - `(if (logbitp ,(1- bits) result) - (dpb result (byte ,(1- bits) 0) -1) - result) - `result)) - (generate-reader (signed) - `(defun ,(integer-reader-name bytes signed) (socket) - (declare (type stream socket) - #.*optimize*) - ,(if (= bytes 1) - `(let ((result (the (unsigned-byte 8) (read-byte socket)))) - (declare (type (unsigned-byte 8) result)) - ,(return-form signed)) - `(let ((result 0)) - (declare (type (unsigned-byte ,bits) result)) - ,@(loop :for byte :from (1- bytes) :downto 0 - :collect `(setf (ldb (byte 8 ,(* 8 byte)) result) - (the (unsigned-byte 8) (read-byte socket)))) - ,(return-form signed)))))) - `(progn -;; This causes weird errors on SBCL in some circumstances. Disabled for now. -;; (declaim (inline ,(integer-reader-name bytes t) -;; ,(integer-reader-name bytes nil))) - (declaim (ftype (function (t) (signed-byte ,bits)) - ,(integer-reader-name bytes t))) - ,(generate-reader t) - (declaim (ftype (function (t) (unsigned-byte ,bits)) - ,(integer-reader-name bytes nil))) - ,(generate-reader nil))))) - -(defmacro integer-writer (bytes) - "Create a function to write integers to a binary stream." - (let ((bits (* 8 bytes))) - `(progn - (declaim (inline ,(integer-writer-name bytes t) - ,(integer-writer-name bytes nil))) - (defun ,(integer-writer-name bytes nil) (socket value) - (declare (type stream socket) - (type (unsigned-byte ,bits) value) - #.*optimize*) - ,@(if (= bytes 1) - `((write-byte value socket)) - (loop :for byte :from (1- bytes) :downto 0 - :collect `(write-byte (ldb (byte 8 ,(* byte 8)) value) - socket))) - (values)) - (defun ,(integer-writer-name bytes t) (socket value) - (declare (type stream socket) - (type (signed-byte ,bits) value) - #.*optimize*) - ,@(if (= bytes 1) - `((write-byte (ldb (byte 8 0) value) socket)) - (loop :for byte :from (1- bytes) :downto 0 - :collect `(write-byte (ldb (byte 8 ,(* byte 8)) value) - socket))) - (values))))) - -;; All the instances of the above that we need. - -(integer-reader 1) -(integer-reader 2) -(integer-reader 4) -(integer-reader 8) - -(integer-writer 1) -(integer-writer 2) -(integer-writer 4) - -(defun write-bytes (socket bytes) - "Write a byte-array to a stream." - (declare (type stream socket) - (type (simple-array (unsigned-byte 8)) bytes) - #.*optimize*) - (write-sequence bytes socket)) - -(defun write-str (socket string) - "Write a null-terminated string to a stream \(encoding it when UTF-8 -support is enabled.)." - (declare (type stream socket) - (type string string) - #.*optimize*) - (enc-write-string string socket) - (write-uint1 socket 0)) - -(declaim (ftype (function (t unsigned-byte) - (simple-array (unsigned-byte 8) (*))) - read-bytes)) -(defun read-bytes (socket length) - "Read a byte array of the given length from a stream." - (declare (type stream socket) - (type fixnum length) - #.*optimize*) - (let ((result (make-array length :element-type '(unsigned-byte 8)))) - (read-sequence result socket) - result)) - -(declaim (ftype (function (t) string) read-str)) -(defun read-str (socket) - "Read a null-terminated string from a stream. Takes care of encoding -when UTF-8 support is enabled." - (declare (type stream socket) - #.*optimize*) - (enc-read-string socket :null-terminated t)) - -(defun skip-bytes (socket length) - "Skip a given number of bytes in a binary stream." - (declare (type stream socket) - (type (unsigned-byte 32) length) - #.*optimize*) - (dotimes (i length) - (read-byte socket))) - -(defun skip-str (socket) - "Skip a null-terminated string." - (declare (type stream socket) - #.*optimize*) - (loop :for char :of-type fixnum = (read-byte socket) - :until (zerop char))) - -(defun ensure-socket-is-closed (socket &key abort) - (when (open-stream-p socket) - (handler-case - (close socket :abort abort) - (error (error) - (warn "Ignoring the error which happened while trying to close PostgreSQL socket: ~A" error))))) -</textarea></form> - <script> - var editor = CodeMirror.fromTextArea(document.getElementById("code"), {lineNumbers: true}); - </script> - - <p><strong>MIME types defined:</strong> <code>text/x-common-lisp</code>.</p> - - </article> |