mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 06:21:11 +00:00 
			
		
		
		
	Added coding style modes to SimpleMDE (#3286)
* Added coding style modes to SimpleMDE * Moved the CodeMirror addon from simplemd to codemirror directory
This commit is contained in:
		
					parent
					
						
							
								cf85e9eb7b
							
						
					
				
			
			
				commit
				
					
						69dae1ec1c
					
				
			
		
					 286 changed files with 49679 additions and 0 deletions
				
			
		
							
								
								
									
										64
									
								
								public/plugins/codemirror-5.17.0/mode/rust/index.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								public/plugins/codemirror-5.17.0/mode/rust/index.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,64 @@ | |||
| <!doctype html> | ||||
| 
 | ||||
| <title>CodeMirror: Rust 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="../../addon/mode/simple.js"></script> | ||||
| <script src="rust.js"></script> | ||||
| <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</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="#">Rust</a> | ||||
|   </ul> | ||||
| </div> | ||||
| 
 | ||||
| <article> | ||||
| <h2>Rust mode</h2> | ||||
| 
 | ||||
| 
 | ||||
| <div><textarea id="code" name="code"> | ||||
| // Demo code. | ||||
| 
 | ||||
| type foo<T> = int; | ||||
| enum bar { | ||||
|     some(int, foo<float>), | ||||
|     none | ||||
| } | ||||
| 
 | ||||
| fn check_crate(x: int) { | ||||
|     let v = 10; | ||||
|     match foo { | ||||
|         1 ... 3 { | ||||
|             print_foo(); | ||||
|             if x { | ||||
|                 blah().to_string(); | ||||
|             } | ||||
|         } | ||||
|         (x, y) { "bye" } | ||||
|         _ { "hi" } | ||||
|     } | ||||
| } | ||||
| </textarea></div> | ||||
| 
 | ||||
|     <script> | ||||
|       var editor = CodeMirror.fromTextArea(document.getElementById("code"), { | ||||
|         lineNumbers: true, | ||||
|         lineWrapping: true, | ||||
|         indentUnit: 4, | ||||
|         mode: "rust" | ||||
|       }); | ||||
|     </script> | ||||
| 
 | ||||
|     <p><strong>MIME types defined:</strong> <code>text/x-rustsrc</code>.</p> | ||||
|   </article> | ||||
							
								
								
									
										71
									
								
								public/plugins/codemirror-5.17.0/mode/rust/rust.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								public/plugins/codemirror-5.17.0/mode/rust/rust.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,71 @@ | |||
| // 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"), 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("rust",{ | ||||
|   start: [ | ||||
|     // string and byte string
 | ||||
|     {regex: /b?"/, token: "string", next: "string"}, | ||||
|     // raw string and raw byte string
 | ||||
|     {regex: /b?r"/, token: "string", next: "string_raw"}, | ||||
|     {regex: /b?r#+"/, token: "string", next: "string_raw_hash"}, | ||||
|     // character
 | ||||
|     {regex: /'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/, token: "string-2"}, | ||||
|     // byte
 | ||||
|     {regex: /b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/, token: "string-2"}, | ||||
| 
 | ||||
|     {regex: /(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/, | ||||
|      token: "number"}, | ||||
|     {regex: /(let(?:\s+mut)?|fn|enum|mod|struct|type)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/, token: ["keyword", null, "def"]}, | ||||
|     {regex: /(?:abstract|alignof|as|box|break|continue|const|crate|do|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/, token: "keyword"}, | ||||
|     {regex: /\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/, token: "atom"}, | ||||
|     {regex: /\b(?:true|false|Some|None|Ok|Err)\b/, token: "builtin"}, | ||||
|     {regex: /\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/, | ||||
|      token: ["keyword", null ,"def"]}, | ||||
|     {regex: /#!?\[.*\]/, token: "meta"}, | ||||
|     {regex: /\/\/.*/, token: "comment"}, | ||||
|     {regex: /\/\*/, token: "comment", next: "comment"}, | ||||
|     {regex: /[-+\/*=<>!]+/, token: "operator"}, | ||||
|     {regex: /[a-zA-Z_]\w*!/,token: "variable-3"}, | ||||
|     {regex: /[a-zA-Z_]\w*/, token: "variable"}, | ||||
|     {regex: /[\{\[\(]/, indent: true}, | ||||
|     {regex: /[\}\]\)]/, dedent: true} | ||||
|   ], | ||||
|   string: [ | ||||
|     {regex: /"/, token: "string", next: "start"}, | ||||
|     {regex: /(?:[^\\"]|\\(?:.|$))*/, token: "string"} | ||||
|   ], | ||||
|   string_raw: [ | ||||
|     {regex: /"/, token: "string", next: "start"}, | ||||
|     {regex: /[^"]*/, token: "string"} | ||||
|   ], | ||||
|   string_raw_hash: [ | ||||
|     {regex: /"#+/, token: "string", next: "start"}, | ||||
|     {regex: /(?:[^"]|"(?!#))*/, token: "string"} | ||||
|   ], | ||||
|   comment: [ | ||||
|     {regex: /.*?\*\//, token: "comment", next: "start"}, | ||||
|     {regex: /.*/, token: "comment"} | ||||
|   ], | ||||
|   meta: { | ||||
|     dontIndentStates: ["comment"], | ||||
|     electricInput: /^\s*\}$/, | ||||
|     blockCommentStart: "/*", | ||||
|     blockCommentEnd: "*/", | ||||
|     lineComment: "//", | ||||
|     fold: "brace" | ||||
|   } | ||||
| }); | ||||
| 
 | ||||
| 
 | ||||
| CodeMirror.defineMIME("text/x-rustsrc", "rust"); | ||||
| }); | ||||
							
								
								
									
										39
									
								
								public/plugins/codemirror-5.17.0/mode/rust/test.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								public/plugins/codemirror-5.17.0/mode/rust/test.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| // CodeMirror, copyright (c) by Marijn Haverbeke and others
 | ||||
| // Distributed under an MIT license: http://codemirror.net/LICENSE
 | ||||
| 
 | ||||
| (function() { | ||||
|   var mode = CodeMirror.getMode({indentUnit: 4}, "rust"); | ||||
|   function MT(name) {test.mode(name, mode, Array.prototype.slice.call(arguments, 1));} | ||||
| 
 | ||||
|   MT('integer_test', | ||||
|      '[number 123i32]', | ||||
|      '[number 123u32]', | ||||
|      '[number 123_u32]', | ||||
|      '[number 0xff_u8]', | ||||
|      '[number 0o70_i16]', | ||||
|      '[number 0b1111_1111_1001_0000_i32]', | ||||
|      '[number 0usize]'); | ||||
| 
 | ||||
|   MT('float_test', | ||||
|      '[number 123.0f64]', | ||||
|      '[number 0.1f64]', | ||||
|      '[number 0.1f32]', | ||||
|      '[number 12E+99_f64]'); | ||||
| 
 | ||||
|   MT('string-literals-test', | ||||
|      '[string "foo"]', | ||||
|      '[string r"foo"]', | ||||
|      '[string "\\"foo\\""]', | ||||
|      '[string r#""foo""#]', | ||||
|      '[string "foo #\\"# bar"]', | ||||
| 
 | ||||
|      '[string b"foo"]', | ||||
|      '[string br"foo"]', | ||||
|      '[string b"\\"foo\\""]', | ||||
|      '[string br#""foo""#]', | ||||
|      '[string br##"foo #" bar"##]', | ||||
| 
 | ||||
|      "[string-2 'h']", | ||||
|      "[string-2 b'h']"); | ||||
| 
 | ||||
| })(); | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue