| Index: lib/src/prism/components/prism-groovy.js
|
| diff --git a/lib/src/prism/components/prism-groovy.js b/lib/src/prism/components/prism-groovy.js
|
| index 3d5890f650043a5440fb92f71056d49c313ba2a0..dfb3657390f64f0903edddfb29e727fd17f5a80e 100644
|
| --- a/lib/src/prism/components/prism-groovy.js
|
| +++ b/lib/src/prism/components/prism-groovy.js
|
| @@ -1,9 +1,9 @@
|
| Prism.languages.groovy = Prism.languages.extend('clike', {
|
| 'keyword': /\b(as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|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/,
|
| '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,
|
| + 'number': /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?[\d]+)?)[glidf]?\b/i,
|
| 'operator': {
|
| - pattern: /(^|[^.])(={0,2}~|\?\.|\*?\.@|\.&|\.{1,2}(?!\.)|\.{2}<?(?=\w)|->|\?:|[-+]{1,2}|!|<=>|>{1,3}|<{1,2}|={1,2}|&{1,2}|\|{1,2}|\?|\*{1,2}|\/|\^|%)/,
|
| + pattern: /(^|[^.])(~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.{1,2}(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,
|
| lookbehind: true
|
| },
|
| 'punctuation': /\.+|[{}[\];(),:$]/
|
| @@ -27,6 +27,7 @@ Prism.languages.insertBefore('groovy', 'function', {
|
| }
|
| });
|
|
|
| +// Handle string interpolation
|
| Prism.hooks.add('wrap', function(env) {
|
| if (env.language === 'groovy' && env.type === 'string') {
|
| var delimiter = env.content[0];
|
|
|