mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-26 17:08:25 +00:00 
			
		
		
		
	* Update CodeMirror to version 5.49.0 * Update CodeMirror versions in librejs and VERSIONS
		
			
				
	
	
		
			166 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // CodeMirror, copyright (c) by Marijn Haverbeke and others
 | |
| // Distributed under an MIT license: https://codemirror.net/LICENSE
 | |
| 
 | |
| (function() {
 | |
|   var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-c");
 | |
|   function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
 | |
| 
 | |
|   MT("indent",
 | |
|      "[type void] [def foo]([type void*] [variable a], [type int] [variable b]) {",
 | |
|      "  [type int] [variable c] [operator =] [variable b] [operator +]",
 | |
|      "    [number 1];",
 | |
|      "  [keyword return] [operator *][variable a];",
 | |
|      "}");
 | |
| 
 | |
|   MT("indent_switch",
 | |
|      "[keyword switch] ([variable x]) {",
 | |
|      "  [keyword case] [number 10]:",
 | |
|      "    [keyword return] [number 20];",
 | |
|      "  [keyword default]:",
 | |
|      "    [variable printf]([string \"foo %c\"], [variable x]);",
 | |
|      "}");
 | |
| 
 | |
|   MT("def",
 | |
|      "[type void] [def foo]() {}",
 | |
|      "[keyword struct] [def bar]{}",
 | |
|      "[keyword enum] [def zot]{}",
 | |
|      "[keyword union] [def ugh]{}",
 | |
|      "[type int] [type *][def baz]() {}");
 | |
| 
 | |
|   MT("def_new_line",
 | |
|      "::[variable std]::[variable SomeTerribleType][operator <][variable T][operator >]",
 | |
|      "[def SomeLongMethodNameThatDoesntFitIntoOneLine]([keyword const] [variable MyType][operator &] [variable param]) {}")
 | |
| 
 | |
|   MT("double_block",
 | |
|      "[keyword for] (;;)",
 | |
|      "  [keyword for] (;;)",
 | |
|      "    [variable x][operator ++];",
 | |
|      "[keyword return];");
 | |
| 
 | |
|   MT("preprocessor",
 | |
|      "[meta #define FOO 3]",
 | |
|      "[type int] [variable foo];",
 | |
|      "[meta #define BAR\\]",
 | |
|      "[meta 4]",
 | |
|      "[type unsigned] [type int] [variable bar] [operator =] [number 8];",
 | |
|      "[meta #include <baz> ][comment // comment]")
 | |
| 
 | |
|   MT("c_underscores",
 | |
|      "[builtin __FOO];",
 | |
|      "[builtin _Complex];",
 | |
|      "[builtin __aName];",
 | |
|      "[variable _aName];");
 | |
| 
 | |
|   MT("c_types",
 | |
|     "[type int];",
 | |
|     "[type long];",
 | |
|     "[type char];",
 | |
|     "[type short];",
 | |
|     "[type double];",
 | |
|     "[type float];",
 | |
|     "[type unsigned];",
 | |
|     "[type signed];",
 | |
|     "[type void];",
 | |
|     "[type bool];",
 | |
|     "[type foo_t];",
 | |
|     "[variable foo_T];",
 | |
|     "[variable _t];");
 | |
| 
 | |
|   var mode_cpp = CodeMirror.getMode({indentUnit: 2}, "text/x-c++src");
 | |
|   function MTCPP(name) { test.mode(name, mode_cpp, Array.prototype.slice.call(arguments, 1)); }
 | |
| 
 | |
|   MTCPP("cpp14_literal",
 | |
|     "[number 10'000];",
 | |
|     "[number 0b10'000];",
 | |
|     "[number 0x10'000];",
 | |
|     "[string '100000'];");
 | |
| 
 | |
|   MTCPP("ctor_dtor",
 | |
|      "[def Foo::Foo]() {}",
 | |
|      "[def Foo::~Foo]() {}");
 | |
| 
 | |
|   MTCPP("cpp_underscores",
 | |
|         "[builtin __FOO];",
 | |
|         "[builtin _Complex];",
 | |
|         "[builtin __aName];",
 | |
|         "[variable _aName];");
 | |
| 
 | |
|   var mode_objc = CodeMirror.getMode({indentUnit: 2}, "text/x-objectivec");
 | |
|   function MTOBJC(name) { test.mode(name, mode_objc, Array.prototype.slice.call(arguments, 1)); }
 | |
| 
 | |
|   MTOBJC("objc_underscores",
 | |
|          "[builtin __FOO];",
 | |
|          "[builtin _Complex];",
 | |
|          "[builtin __aName];",
 | |
|          "[variable _aName];");
 | |
| 
 | |
|   MTOBJC("objc_interface",
 | |
|          "[keyword @interface] [def foo] {",
 | |
|          "  [type int] [variable bar];",
 | |
|          "}",
 | |
|          "[keyword @property] ([keyword atomic], [keyword nullable]) [variable NSString][operator *] [variable a];",
 | |
|          "[keyword @property] ([keyword nonatomic], [keyword assign]) [type int] [variable b];",
 | |
|          "[operator -]([type instancetype])[variable initWithFoo]:([type int])[variable a] " +
 | |
|            "[builtin NS_DESIGNATED_INITIALIZER];",
 | |
|          "[keyword @end]");
 | |
| 
 | |
|   MTOBJC("objc_implementation",
 | |
|          "[keyword @implementation] [def foo] {",
 | |
|          "  [type int] [variable bar];",
 | |
|          "}",
 | |
|          "[keyword @property] ([keyword readwrite]) [type SEL] [variable a];",
 | |
|          "[operator -]([type instancetype])[variable initWithFoo]:([type int])[variable a] {",
 | |
|          "  [keyword if](([keyword self] [operator =] [[[keyword super] [variable init] ]])) {}",
 | |
|          "  [keyword return] [keyword self];",
 | |
|          "}",
 | |
|          "[keyword @end]");
 | |
| 
 | |
|   MTOBJC("objc_types",
 | |
|          "[type int];",
 | |
|          "[type foo_t];",
 | |
|          "[variable foo_T];",
 | |
|          "[type id];",
 | |
|          "[type SEL];",
 | |
|          "[type instancetype];",
 | |
|          "[type Class];",
 | |
|          "[type Protocol];",
 | |
|          "[type BOOL];"
 | |
|          );
 | |
| 
 | |
|   var mode_scala = CodeMirror.getMode({indentUnit: 2}, "text/x-scala");
 | |
|   function MTSCALA(name) { test.mode("scala_" + name, mode_scala, Array.prototype.slice.call(arguments, 1)); }
 | |
|   MTSCALA("nested_comments",
 | |
|      "[comment /*]",
 | |
|      "[comment But wait /* this is a nested comment */ for real]",
 | |
|      "[comment /**** let * me * show * you ****/]",
 | |
|      "[comment ///// let / me / show / you /////]",
 | |
|      "[comment */]");
 | |
| 
 | |
|   var mode_java = CodeMirror.getMode({indentUnit: 2}, "text/x-java");
 | |
|   function MTJAVA(name) { test.mode("java_" + name, mode_java, Array.prototype.slice.call(arguments, 1)); }
 | |
|   MTJAVA("types",
 | |
|          "[type byte];",
 | |
|          "[type short];",
 | |
|          "[type int];",
 | |
|          "[type long];",
 | |
|          "[type float];",
 | |
|          "[type double];",
 | |
|          "[type boolean];",
 | |
|          "[type char];",
 | |
|          "[type void];",
 | |
|          "[type Boolean];",
 | |
|          "[type Byte];",
 | |
|          "[type Character];",
 | |
|          "[type Double];",
 | |
|          "[type Float];",
 | |
|          "[type Integer];",
 | |
|          "[type Long];",
 | |
|          "[type Number];",
 | |
|          "[type Object];",
 | |
|          "[type Short];",
 | |
|          "[type String];",
 | |
|          "[type StringBuffer];",
 | |
|          "[type StringBuilder];",
 | |
|          "[type Void];");
 | |
| })();
 |