| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | 
							- /*
 
-  Language: Groovy
 
-  Author: Guillaume Laforge <[email protected]>
 
-  Website: http://glaforge.appspot.com
 
-  Description: Groovy programming language implementation inspired from Vsevolod's Java mode
 
-  */
 
- 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: /#|<\//
 
-     }
 
- }
 
 
  |