1 Prism.languages.groovy=Prism.languages.extend("clike",{keyword:/\b(as|def|in|abs
tract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|
double|else|enum|extends|final|finally|float|for|goto|if|implements|import|insta
nceof|int|interface|long|native|new|package|private|protected|public|return|shor
t|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|tr
y|void|volatile|while)\b/,string:/("""|''')[\W\w]*?\1|("|'|\/)(?:\\?.)*?\2|(\$\/
)(\$\/\$|[\W\w])*?\/\$/,number:/\b0b[01_]+\b|\b0x[\da-f_]+(\.[\da-f_p\-]+)?\b|\b
[\d_]+(\.[\d_]+[e]?[\d]*)?[glidf]\b|[\d_]+(\.[\d_]+)?\b/i,operator:{pattern:/(^|
[^.])(={0,2}~|\?\.|\*?\.@|\.&|\.{1,2}(?!\.)|\.{2}<?(?=\w)|->|\?:|[-+]{1,2}|!|<=>
|>{1,3}|<{1,2}|={1,2}|&{1,2}|\|{1,2}|\?|\*{1,2}|\/|\^|%)/,lookbehind:!0},punctua
tion:/\.+|[{}[\];(),:$]/}),Prism.languages.insertBefore("groovy","string",{sheba
ng:{pattern:/#!.+/,alias:"comment"}}),Prism.languages.insertBefore("groovy","pun
ctuation",{"spock-block":/\b(setup|given|when|then|and|cleanup|expect|where):/})
,Prism.languages.insertBefore("groovy","function",{annotation:{pattern:/(^|[^.])
@\w+/,lookbehind:!0}}),Prism.hooks.add("wrap",function(e){if("groovy"===e.langua
ge&&"string"===e.type){var t=e.content[0];if("'"!=t){var n=/([^\\])(\$(\{.*?\}|[
\w\.]+))/;"$"===t&&(n=/([^\$])(\$(\{.*?\}|[\w\.]+))/),e.content=Prism.highlight(
e.content,{expression:{pattern:n,lookbehind:!0,inside:Prism.languages.groovy}}),
e.classes.push("/"===t?"regex":"gstring")}}}); | 1 Prism.languages.groovy=Prism.languages.extend("clike",{keyword:/\b(as|def|in|abs
tract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|
double|else|enum|extends|final|finally|float|for|goto|if|implements|import|insta
nceof|int|interface|long|native|new|package|private|protected|public|return|shor
t|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|tr
y|void|volatile|while)\b/,string:/("""|''')[\W\w]*?\1|("|'|\/)(?:\\?.)*?\2|(\$\/
)(\$\/\$|[\W\w])*?\/\$/,number:/\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d
_]+(?:\.[\d_]+)?(?:e[+-]?[\d]+)?)[glidf]?\b/i,operator:{pattern:/(^|[^.])(~|==?~
?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.{1,2}(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=
?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:
/\.+|[{}[\];(),:$]/}),Prism.languages.insertBefore("groovy","string",{shebang:{p
attern:/#!.+/,alias:"comment"}}),Prism.languages.insertBefore("groovy","punctuat
ion",{"spock-block":/\b(setup|given|when|then|and|cleanup|expect|where):/}),Pris
m.languages.insertBefore("groovy","function",{annotation:{pattern:/(^|[^.])@\w+/
,lookbehind:!0}}),Prism.hooks.add("wrap",function(e){if("groovy"===e.language&&"
string"===e.type){var t=e.content[0];if("'"!=t){var n=/([^\\])(\$(\{.*?\}|[\w\.]
+))/;"$"===t&&(n=/([^\$])(\$(\{.*?\}|[\w\.]+))/),e.content=Prism.highlight(e.con
tent,{expression:{pattern:n,lookbehind:!0,inside:Prism.languages.groovy}}),e.cla
sses.push("/"===t?"regex":"gstring")}}}); |