aboutsummaryrefslogtreecommitdiff
path: root/node_modules/highlight.js/lib/languages/groovy.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-24 15:10:37 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-24 15:11:17 +0200
commit7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch)
tree70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/highlight.js/lib/languages/groovy.js
parentaca1143cb9eed16cf37f04e475e4257418dd18ac (diff)
downloadwallet-core-7a3df06eb573d36142bd1a8e03c5ce8752d300b3.tar.xz
fix build issues and add typedoc
Diffstat (limited to 'node_modules/highlight.js/lib/languages/groovy.js')
-rw-r--r--node_modules/highlight.js/lib/languages/groovy.js93
1 files changed, 93 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/groovy.js b/node_modules/highlight.js/lib/languages/groovy.js
new file mode 100644
index 000000000..02f7d5b5a
--- /dev/null
+++ b/node_modules/highlight.js/lib/languages/groovy.js
@@ -0,0 +1,93 @@
+module.exports = function(hljs) {
+ return {
+ keywords: {
+ literal : 'true false null',
+ keyword:
+ 'byte short char int long boolean float double void ' +
+ // groovy specific keywords
+ 'def as in assert trait ' +
+ // common keywords with Java
+ 'super this 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: [
+ 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]+'
+ }
+ ]
+ }
+ ),
+ hljs.C_LINE_COMMENT_MODE,
+ hljs.C_BLOCK_COMMENT_MODE,
+ {
+ className: 'string',
+ begin: '"""', end: '"""'
+ },
+ {
+ className: 'string',
+ begin: "'''", end: "'''"
+ },
+ {
+ className: 'string',
+ begin: "\\$/", end: "/\\$",
+ relevance: 10
+ },
+ hljs.APOS_STRING_MODE,
+ {
+ className: 'regexp',
+ begin: /~?\/[^\/\n]+\//,
+ contains: [
+ hljs.BACKSLASH_ESCAPE
+ ]
+ },
+ hljs.QUOTE_STRING_MODE,
+ {
+ className: 'meta',
+ begin: "^#!/usr/bin/env", end: '$',
+ illegal: '\n'
+ },
+ hljs.BINARY_NUMBER_MODE,
+ {
+ className: 'class',
+ beginKeywords: 'class interface trait enum', end: '{',
+ illegal: ':',
+ contains: [
+ {beginKeywords: 'extends implements'},
+ hljs.UNDERSCORE_TITLE_MODE
+ ]
+ },
+ hljs.C_NUMBER_MODE,
+ {
+ className: 'meta', begin: '@[A-Za-z]+'
+ },
+ {
+ // highlight map keys and named parameters as strings
+ className: 'string', begin: /[^\?]{0}[A-Za-z0-9_$]+ *:/
+ },
+ {
+ // catch middle element of the ternary operator
+ // to avoid highlight it as a label, named parameter, or map key
+ begin: /\?/, end: /\:/
+ },
+ {
+ // highlight labeled statements
+ className: 'symbol', begin: '^\\s*[A-Za-z0-9_$]+:',
+ relevance: 0
+ }
+ ],
+ illegal: /#|<\//
+ }
+}; \ No newline at end of file