1 |
|
2 | (()=>{var e=(()=>{"use strict";function e(e,a={}){return a.variants=e,a}
|
3 | return a=>{
|
4 | const n=a.regex,t="[A-Za-z0-9_$]+",r=e([a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.COMMENT("/\\*\\*","\\*/",{
|
5 | relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",
|
6 | begin:"@[A-Za-z]+"}]})]),s={className:"regexp",begin:/~?\/[^\/\n]+\//,
|
7 | contains:[a.BACKSLASH_ESCAPE]
|
8 | },i=e([a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]),l=e([{begin:/"""/,end:/"""/},{
|
9 | begin:/'''/,end:/'''/},{begin:"\\$/",end:"/\\$",relevance:10
|
10 | },a.APOS_STRING_MODE,a.QUOTE_STRING_MODE],{className:"string"}),c={
|
11 | match:[/(class|interface|trait|enum|extends|implements)/,/\s+/,a.UNDERSCORE_IDENT_RE],
|
12 | scope:{1:"keyword",3:"title.class"}};return{name:"Groovy",keywords:{
|
13 | "variable.language":"this super",literal:"true false null",
|
14 | type:["byte","short","char","int","long","boolean","float","double","void"],
|
15 | keyword:["def","as","in","assert","trait","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"]
|
16 | },contains:[a.SHEBANG({binary:"groovy",relevance:10}),r,l,s,i,c,{
|
17 | className:"meta",begin:"@[A-Za-z]+",relevance:0},{className:"attr",
|
18 | begin:t+"[ \t]*:",relevance:0},{begin:/\?/,end:/:/,relevance:0,
|
19 | contains:[r,l,s,i,"self"]},{className:"symbol",
|
20 | begin:"^[ \t]*"+n.lookahead(t+":"),excludeBegin:!0,end:t+":",relevance:0}],
|
21 | illegal:/#|<\//}}})();hljs.registerLanguage("groovy",e)})(); |
\ | No newline at end of file |