groovy top-level property
Language
groovy
final
Implementation
final groovy = Language(
id: "groovy",
refs: {
'~contains~4': Mode(
variants: [
BINARY_NUMBER_MODE,
C_NUMBER_MODE,
],
),
'~contains~3': Mode(
className: "regexp",
begin: "\\x7e?\\/[^\\/\\n]+\\/",
contains: [
BACKSLASH_ESCAPE,
],
),
'~contains~2': Mode(
className: "string",
variants: [
Mode(
begin: "\"\"\"",
end: "\"\"\"",
),
Mode(
begin: "'''",
end: "'''",
),
Mode(
begin: "\\\$/",
end: "/\\\$",
relevance: 10,
),
APOS_STRING_MODE,
QUOTE_STRING_MODE,
],
),
'~contains~1': Mode(
variants: [
C_LINE_COMMENT_MODE,
C_BLOCK_COMMENT_MODE,
Mode(
scope: "comment",
begin: "/\\*\\*",
end: "\\*/",
contains: [
Mode(
begin: "\\w+@",
relevance: 0,
),
Mode(
className: "doctag",
begin: "@[A-Za-z]+",
),
Mode(
scope: "doctag",
begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
relevance: 0,
),
],
),
},
name: "Groovy",
keywords: {
"variable.language": "this super",
"literal": "true false null",
"type": [
"byte",
"short",
"char",
"int",
"long",
"boolean",
"float",
"double",
"void"
],
"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"
]
},
contains: [
Mode(
scope: "meta",
begin: "^#![ ]*\\/.*\\bgroovy\\b.*",
end: "\$",
relevance: 10,
onBegin: shebangOnBegin,
),
ModeReference('~contains~1'),
ModeReference('~contains~2'),
ModeReference('~contains~3'),
ModeReference('~contains~4'),
Mode(
match: [
"(class|interface|trait|enum|extends|implements)",
"\\s+",
"[a-zA-Z_]\\w*"
],
scope: {"1": "keyword", "3": "title.class"},
),
Mode(
className: "meta",
begin: "@[A-Za-z]+",
relevance: 0,
),
Mode(
className: "attr",
begin: "[A-Za-z0-9_\$]+[ \t]*:",
relevance: 0,
),
Mode(
begin: "\\?",
end: ":",
relevance: 0,
contains: [
ModeReference('~contains~1'),
ModeReference('~contains~2'),
ModeReference('~contains~3'),
ModeReference('~contains~4'),
ModeSelfReference(),
],
),
Mode(
className: "symbol",
begin: "^[ \t]*(?=[A-Za-z0-9_\$]+:)",
excludeBegin: true,
end: "[A-Za-z0-9_\$]+:",
relevance: 0,
),
],
illegal: "#|<\\/",
);