mirror of
https://github.com/gnu4cn/jenkins_book_zh.git
synced 2026-08-19 10:23:28 +08:00
Updated src/ALL.md.
This commit is contained in:
219
theme/groovy.min.js
vendored
219
theme/groovy.min.js
vendored
@@ -1,19 +1,200 @@
|
||||
hljs.registerLanguage("groovy",(()=>{"use strict";function e(e,n={}){
|
||||
return n.variants=e,n}return n=>{
|
||||
const a="[A-Za-z0-9_$]+",t=e([n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,n.COMMENT("/\\*\\*","\\*/",{
|
||||
relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",
|
||||
begin:"@[A-Za-z]+"}]})]),s={className:"regexp",begin:/~?\/[^\/\n]+\//,
|
||||
contains:[n.BACKSLASH_ESCAPE]
|
||||
},i=e([n.BINARY_NUMBER_MODE,n.C_NUMBER_MODE]),r=e([{begin:/"""/,end:/"""/},{
|
||||
begin:/'''/,end:/'''/},{begin:"\\$/",end:"/\\$",relevance:10
|
||||
},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE],{className:"string"});return{
|
||||
name:"Groovy",keywords:{built_in:"this super",literal:"true false null",
|
||||
keyword:"byte short char int long boolean float double void def as in assert trait abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"
|
||||
},contains:[n.SHEBANG({binary:"groovy",relevance:10}),t,r,s,i,{
|
||||
className:"class",beginKeywords:"class interface trait enum",end:/\{/,
|
||||
illegal:":",contains:[{beginKeywords:"extends implements"
|
||||
},n.UNDERSCORE_TITLE_MODE]},{className:"meta",begin:"@[A-Za-z]+",relevance:0},{
|
||||
className:"attr",begin:a+"[ \t]*:",relevance:0},{begin:/\?/,end:/:/,relevance:0,
|
||||
contains:[t,r,s,i,"self"]},{className:"symbol",
|
||||
begin:"^[ \t]*"+(l=a+":",((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",l,")")),
|
||||
excludeBegin:!0,end:a+":",relevance:0}],illegal:/#|<\//};var l}})());
|
||||
/*! `groovy` grammar compiled for Highlight.js 11.10.0 */
|
||||
(function(){
|
||||
var hljsGrammar = (function () {
|
||||
'use strict';
|
||||
|
||||
/*
|
||||
Language: Groovy
|
||||
Author: Guillaume Laforge <glaforge@gmail.com>
|
||||
Description: Groovy programming language implementation inspired from Vsevolod's Java mode
|
||||
Website: https://groovy-lang.org
|
||||
Category: system
|
||||
*/
|
||||
|
||||
function variants(variants, obj = {}) {
|
||||
obj.variants = variants;
|
||||
return obj;
|
||||
}
|
||||
|
||||
function groovy(hljs) {
|
||||
const regex = hljs.regex;
|
||||
const IDENT_RE = '[A-Za-z0-9_$]+';
|
||||
const COMMENT = variants([
|
||||
hljs.C_LINE_COMMENT_MODE,
|
||||
hljs.C_BLOCK_COMMENT_MODE,
|
||||
hljs.COMMENT(
|
||||
'/\\*\\*',
|
||||
'\\*/',
|
||||
{
|
||||
relevance: 0,
|
||||
contains: [
|
||||
{
|
||||
// eat up @'s in emails to prevent them to be recognized as doctags
|
||||
begin: /\w+@/,
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
className: 'doctag',
|
||||
begin: '@[A-Za-z]+'
|
||||
}
|
||||
]
|
||||
}
|
||||
)
|
||||
]);
|
||||
const REGEXP = {
|
||||
className: 'regexp',
|
||||
begin: /~?\/[^\/\n]+\//,
|
||||
contains: [ hljs.BACKSLASH_ESCAPE ]
|
||||
};
|
||||
const NUMBER = variants([
|
||||
hljs.BINARY_NUMBER_MODE,
|
||||
hljs.C_NUMBER_MODE
|
||||
]);
|
||||
const STRING = variants([
|
||||
{
|
||||
begin: /"""/,
|
||||
end: /"""/
|
||||
},
|
||||
{
|
||||
begin: /'''/,
|
||||
end: /'''/
|
||||
},
|
||||
{
|
||||
begin: "\\$/",
|
||||
end: "/\\$",
|
||||
relevance: 10
|
||||
},
|
||||
hljs.APOS_STRING_MODE,
|
||||
hljs.QUOTE_STRING_MODE
|
||||
],
|
||||
{ className: "string" }
|
||||
);
|
||||
|
||||
const CLASS_DEFINITION = {
|
||||
match: [
|
||||
/(class|interface|trait|enum|record|extends|implements)/,
|
||||
/\s+/,
|
||||
hljs.UNDERSCORE_IDENT_RE
|
||||
],
|
||||
scope: {
|
||||
1: "keyword",
|
||||
3: "title.class",
|
||||
}
|
||||
};
|
||||
const TYPES = [
|
||||
"byte",
|
||||
"short",
|
||||
"char",
|
||||
"int",
|
||||
"long",
|
||||
"boolean",
|
||||
"float",
|
||||
"double",
|
||||
"void"
|
||||
];
|
||||
const KEYWORDS = [
|
||||
// groovy specific keywords
|
||||
"def",
|
||||
"as",
|
||||
"in",
|
||||
"assert",
|
||||
"trait",
|
||||
// common keywords with Java
|
||||
"abstract",
|
||||
"static",
|
||||
"volatile",
|
||||
"transient",
|
||||
"public",
|
||||
"private",
|
||||
"protected",
|
||||
"synchronized",
|
||||
"final",
|
||||
"class",
|
||||
"interface",
|
||||
"enum",
|
||||
"if",
|
||||
"else",
|
||||
"for",
|
||||
"while",
|
||||
"switch",
|
||||
"case",
|
||||
"break",
|
||||
"default",
|
||||
"continue",
|
||||
"throw",
|
||||
"throws",
|
||||
"try",
|
||||
"catch",
|
||||
"finally",
|
||||
"implements",
|
||||
"extends",
|
||||
"new",
|
||||
"import",
|
||||
"package",
|
||||
"return",
|
||||
"instanceof",
|
||||
"var"
|
||||
];
|
||||
|
||||
return {
|
||||
name: 'Groovy',
|
||||
keywords: {
|
||||
"variable.language": 'this super',
|
||||
literal: 'true false null',
|
||||
type: TYPES,
|
||||
keyword: KEYWORDS
|
||||
},
|
||||
contains: [
|
||||
hljs.SHEBANG({
|
||||
binary: "groovy",
|
||||
relevance: 10
|
||||
}),
|
||||
COMMENT,
|
||||
STRING,
|
||||
REGEXP,
|
||||
NUMBER,
|
||||
CLASS_DEFINITION,
|
||||
{
|
||||
className: 'meta',
|
||||
begin: '@[A-Za-z]+',
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
// highlight map keys and named parameters as attrs
|
||||
className: 'attr',
|
||||
begin: IDENT_RE + '[ \t]*:',
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
// catch middle element of the ternary operator
|
||||
// to avoid highlight it as a label, named parameter, or map key
|
||||
begin: /\?/,
|
||||
end: /:/,
|
||||
relevance: 0,
|
||||
contains: [
|
||||
COMMENT,
|
||||
STRING,
|
||||
REGEXP,
|
||||
NUMBER,
|
||||
'self'
|
||||
]
|
||||
},
|
||||
{
|
||||
// highlight labeled statements
|
||||
className: 'symbol',
|
||||
begin: '^[ \t]*' + regex.lookahead(IDENT_RE + ':'),
|
||||
excludeBegin: true,
|
||||
end: IDENT_RE + ':',
|
||||
relevance: 0
|
||||
}
|
||||
],
|
||||
illegal: /#|<\//
|
||||
};
|
||||
}
|
||||
|
||||
return groovy;
|
||||
|
||||
})();
|
||||
|
||||
hljs.registerLanguage('groovy', hljsGrammar);
|
||||
})();
|
||||
3861
theme/highlight.js
Normal file
3861
theme/highlight.js
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user