diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:10:37 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:11:17 +0200 |
commit | 7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch) | |
tree | 70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/highlight.js/lib/languages/groovy.js | |
parent | aca1143cb9eed16cf37f04e475e4257418dd18ac (diff) |
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.js | 93 |
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 |