diff options
Diffstat (limited to 'public/prism/prism-groovy.min.js')
| -rw-r--r-- | public/prism/prism-groovy.min.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/public/prism/prism-groovy.min.js b/public/prism/prism-groovy.min.js new file mode 100644 index 0000000..a32d5d2 --- /dev/null +++ b/public/prism/prism-groovy.min.js @@ -0,0 +1,51 @@ +(Prism.languages.groovy = Prism.languages.extend('clike', { + string: [ + { + pattern: + /("""|''')(?:[^\\]|\\[\s\S])*?\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/, + greedy: !0, + }, + { pattern: /(["'/])(?:\\.|(?!\1)[^\\\r\n])*\1/, greedy: !0 }, + ], + keyword: + /\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/, + number: + /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i, + operator: { + pattern: + /(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/, + lookbehind: !0, + }, + punctuation: /\.+|[{}[\];(),:$]/, +})), + Prism.languages.insertBefore('groovy', 'string', { + shebang: { pattern: /#!.+/, alias: 'comment' }, + }), + Prism.languages.insertBefore('groovy', 'punctuation', { + 'spock-block': /\b(?:and|cleanup|expect|given|setup|then|when|where):/, + }), + Prism.languages.insertBefore('groovy', 'function', { + annotation: { + pattern: /(^|[^.])@\w+/, + lookbehind: !0, + alias: 'punctuation', + }, + }), + 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 = e.content.replace(/</g, '<').replace(/&/g, '&')), + (e.content = Prism.highlight(e.content, { + expression: { + pattern: n, + lookbehind: !0, + inside: Prism.languages.groovy, + }, + })), + e.classes.push('/' === t ? 'regex' : 'gstring'); + } + } + }); |
