admin(major): add YAMLField for attributes, add codemirror editor
This commit is contained in:
		
							
								
								
									
										85
									
								
								passbook/admin/static/codemirror/mode/factor/factor.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								passbook/admin/static/codemirror/mode/factor/factor.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,85 @@ | ||||
| // CodeMirror, copyright (c) by Marijn Haverbeke and others | ||||
| // Distributed under an MIT license: https://codemirror.net/LICENSE | ||||
|  | ||||
| // Factor syntax highlight - simple mode | ||||
| // | ||||
| // by Dimage Sapelkin (https://github.com/kerabromsmu) | ||||
|  | ||||
| (function(mod) { | ||||
|   if (typeof exports == "object" && typeof module == "object") // CommonJS | ||||
|     mod(require("../../lib/codemirror"), require("../../addon/mode/simple")); | ||||
|   else if (typeof define == "function" && define.amd) // AMD | ||||
|     define(["../../lib/codemirror", "../../addon/mode/simple"], mod); | ||||
|   else // Plain browser env | ||||
|     mod(CodeMirror); | ||||
| })(function(CodeMirror) { | ||||
|   "use strict"; | ||||
|  | ||||
|   CodeMirror.defineSimpleMode("factor", { | ||||
|     // The start state contains the rules that are intially used | ||||
|     start: [ | ||||
|       // comments | ||||
|       {regex: /#?!.*/, token: "comment"}, | ||||
|       // strings """, multiline --> state | ||||
|       {regex: /"""/, token: "string", next: "string3"}, | ||||
|       {regex: /(STRING:)(\s)/, token: ["keyword", null], next: "string2"}, | ||||
|       {regex: /\S*?"/, token: "string", next: "string"}, | ||||
|       // numbers: dec, hex, unicode, bin, fractional, complex | ||||
|       {regex: /(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\-?\d+.?\d*)(?=\s)/, token: "number"}, | ||||
|       //{regex: /[+-]?/} //fractional | ||||
|       // definition: defining word, defined word, etc | ||||
|       {regex: /((?:GENERIC)|\:?\:)(\s+)(\S+)(\s+)(\()/, token: ["keyword", null, "def", null, "bracket"], next: "stack"}, | ||||
|       // method definition: defining word, type, defined word, etc | ||||
|       {regex: /(M\:)(\s+)(\S+)(\s+)(\S+)/, token: ["keyword", null, "def", null, "tag"]}, | ||||
|       // vocabulary using --> state | ||||
|       {regex: /USING\:/, token: "keyword", next: "vocabulary"}, | ||||
|       // vocabulary definition/use | ||||
|       {regex: /(USE\:|IN\:)(\s+)(\S+)(?=\s|$)/, token: ["keyword", null, "tag"]}, | ||||
|       // definition: a defining word, defined word | ||||
|       {regex: /(\S+\:)(\s+)(\S+)(?=\s|$)/, token: ["keyword", null, "def"]}, | ||||
|       // "keywords", incl. ; t f . [ ] { } defining words | ||||
|       {regex: /(?:;|\\|t|f|if|loop|while|until|do|PRIVATE>|<PRIVATE|\.|\S*\[|\]|\S*\{|\})(?=\s|$)/, token: "keyword"}, | ||||
|       // <constructors> and the like | ||||
|       {regex: /\S+[\)>\.\*\?]+(?=\s|$)/, token: "builtin"}, | ||||
|       {regex: /[\)><]+\S+(?=\s|$)/, token: "builtin"}, | ||||
|       // operators | ||||
|       {regex: /(?:[\+\-\=\/\*<>])(?=\s|$)/, token: "keyword"}, | ||||
|       // any id (?) | ||||
|       {regex: /\S+/, token: "variable"}, | ||||
|       {regex: /\s+|./, token: null} | ||||
|     ], | ||||
|     vocabulary: [ | ||||
|       {regex: /;/, token: "keyword", next: "start"}, | ||||
|       {regex: /\S+/, token: "tag"}, | ||||
|       {regex: /\s+|./, token: null} | ||||
|     ], | ||||
|     string: [ | ||||
|       {regex: /(?:[^\\]|\\.)*?"/, token: "string", next: "start"}, | ||||
|       {regex: /.*/, token: "string"} | ||||
|     ], | ||||
|     string2: [ | ||||
|       {regex: /^;/, token: "keyword", next: "start"}, | ||||
|       {regex: /.*/, token: "string"} | ||||
|     ], | ||||
|     string3: [ | ||||
|       {regex: /(?:[^\\]|\\.)*?"""/, token: "string", next: "start"}, | ||||
|       {regex: /.*/, token: "string"} | ||||
|     ], | ||||
|     stack: [ | ||||
|       {regex: /\)/, token: "bracket", next: "start"}, | ||||
|       {regex: /--/, token: "bracket"}, | ||||
|       {regex: /\S+/, token: "meta"}, | ||||
|       {regex: /\s+|./, token: null} | ||||
|     ], | ||||
|     // The meta property contains global information about the mode. It | ||||
|     // can contain properties like lineComment, which are supported by | ||||
|     // all modes, and also directives like dontIndentStates, which are | ||||
|     // specific to simple modes. | ||||
|     meta: { | ||||
|       dontIndentStates: ["start", "vocabulary", "string", "string3", "stack"], | ||||
|       lineComment: [ "!", "#!" ] | ||||
|     } | ||||
|   }); | ||||
|  | ||||
|   CodeMirror.defineMIME("text/x-factor", "factor"); | ||||
| }); | ||||
							
								
								
									
										77
									
								
								passbook/admin/static/codemirror/mode/factor/index.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								passbook/admin/static/codemirror/mode/factor/index.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,77 @@ | ||||
| <!doctype html> | ||||
|  | ||||
| <title>CodeMirror: Factor mode</title> | ||||
| <meta charset="utf-8"/> | ||||
| <link rel=stylesheet href="../../doc/docs.css"> | ||||
|  | ||||
| <link href='http://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'> | ||||
| <link rel="stylesheet" href="../../lib/codemirror.css"> | ||||
| <script src="../../lib/codemirror.js"></script> | ||||
| <script src="../../addon/mode/simple.js"></script> | ||||
| <script src="factor.js"></script> | ||||
| <style> | ||||
| .CodeMirror { | ||||
|     font-family: 'Droid Sans Mono', monospace; | ||||
|     font-size: 14px; | ||||
| } | ||||
| </style> | ||||
| <div id=nav> | ||||
|   <a href="https://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="#">Factor</a> | ||||
|   </ul> | ||||
| </div> | ||||
|  | ||||
| <article> | ||||
|  | ||||
| <h2>Factor mode</h2> | ||||
|  | ||||
| <form><textarea id="code" name="code"> | ||||
| ! Copyright (C) 2008 Slava Pestov. | ||||
| ! See http://factorcode.org/license.txt for BSD license. | ||||
|  | ||||
| ! A simple time server | ||||
|  | ||||
| USING: accessors calendar calendar.format io io.encodings.ascii | ||||
| io.servers kernel threads ; | ||||
| IN: time-server | ||||
|  | ||||
| : handle-time-client ( -- ) | ||||
|     now timestamp>rfc822 print ; | ||||
|  | ||||
| : <time-server> ( -- threaded-server ) | ||||
|     ascii <threaded-server> | ||||
|         "time-server" >>name | ||||
|         1234 >>insecure | ||||
|         [ handle-time-client ] >>handler ; | ||||
|  | ||||
| : start-time-server ( -- ) | ||||
|     <time-server> start-server drop ; | ||||
|  | ||||
| MAIN: start-time-server | ||||
| </textarea> | ||||
|   </form> | ||||
|  | ||||
| <script> | ||||
|   var editor = CodeMirror.fromTextArea(document.getElementById("code"), { | ||||
|     lineNumbers: true, | ||||
|     lineWrapping: true, | ||||
|     indentUnit: 2, | ||||
|     tabSize: 2, | ||||
|     autofocus: true, | ||||
|     mode: "text/x-factor" | ||||
|   }); | ||||
| </script> | ||||
| <p/> | ||||
| <p>Simple mode that handles Factor Syntax (<a href="http://en.wikipedia.org/wiki/Factor_(programming_language)">Factor on WikiPedia</a>).</p> | ||||
|  | ||||
| <p><strong>MIME types defined:</strong> <code>text/x-factor</code>.</p> | ||||
|  | ||||
| </article> | ||||
		Reference in New Issue
	
	Block a user
	 Langhammer, Jens
					Langhammer, Jens