a915a09e4f
* Cleaning up public/ and documenting js/css libs. This commit mostly addresses #1484 by moving vendor'ed plugins into a vendor/ directory and documenting their upstream source and license in vendor/librejs.html. This also proves gitea is using only open source js/css libraries which helps toward reaching #1524. * Removing unused css file. The version of this file in use is located at: vendor/plugins/highlight/github.css * Cleaned up librejs.html and added javascript header A SafeJS function was added to templates/helper.go to allow keeping comments inside of javascript. A javascript comment was added in the header of templates/base/head.tmpl to mark all non-inline source as free. The librejs.html file was updated to meet the current librejs spec. I have now verified that the librejs plugin detects most of the scripts included in gitea and suspect the non-free detections are the result of a bug in the plugin. I believe this commit is enough to meet the C0.0 requirement of #1534. * Updating SafeJS function per lint suggestion * Added VERSIONS file, per request
55 lines
1.9 KiB
JavaScript
55 lines
1.9 KiB
JavaScript
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
|
// Distributed under an MIT license: http://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",
|
|
"[variable-3 void] [def foo]([variable-3 void*] [variable a], [variable-3 int] [variable b]) {",
|
|
" [variable-3 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",
|
|
"[variable-3 void] [def foo]() {}",
|
|
"[keyword struct] [def bar]{}",
|
|
"[variable-3 int] [variable-3 *][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]",
|
|
"[variable-3 int] [variable foo];",
|
|
"[meta #define BAR\\]",
|
|
"[meta 4]",
|
|
"[variable-3 unsigned] [variable-3 int] [variable bar] [operator =] [number 8];",
|
|
"[meta #include <baz> ][comment // comment]")
|
|
|
|
|
|
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'];");
|
|
})();
|