Implementation
final axapta = Mode(
refs: {},
name: "X++",
aliases: ["x++"],
keywords: {
"keyword": [
"abstract",
"as",
"asc",
"avg",
"break",
"breakpoint",
"by",
"byref",
"case",
"catch",
"changecompany",
"class",
"client",
"client",
"common",
"const",
"continue",
"count",
"crosscompany",
"delegate",
"delete_from",
"desc",
"display",
"div",
"do",
"edit",
"else",
"eventhandler",
"exists",
"extends",
"final",
"finally",
"firstfast",
"firstonly",
"firstonly1",
"firstonly10",
"firstonly100",
"firstonly1000",
"flush",
"for",
"forceliterals",
"forcenestedloop",
"forceplaceholders",
"forceselectorder",
"forupdate",
"from",
"generateonly",
"group",
"hint",
"if",
"implements",
"in",
"index",
"insert_recordset",
"interface",
"internal",
"is",
"join",
"like",
"maxof",
"minof",
"mod",
"namespace",
"new",
"next",
"nofetch",
"notexists",
"optimisticlock",
"order",
"outer",
"pessimisticlock",
"print",
"private",
"protected",
"public",
"readonly",
"repeatableread",
"retry",
"return",
"reverse",
"select",
"server",
"setting",
"static",
"sum",
"super",
"switch",
"this",
"throw",
"try",
"ttsabort",
"ttsbegin",
"ttscommit",
"unchecked",
"update_recordset",
"using",
"validtimestate",
"void",
"where",
"while"
],
"built_in": [
"anytype",
"boolean",
"byte",
"char",
"container",
"date",
"double",
"enum",
"guid",
"int",
"int64",
"long",
"real",
"short",
"str",
"utcdatetime",
"var"
],
"literal": ["default", "false", "null", "true"]
},
contains: [
C_LINE_COMMENT_MODE,
C_BLOCK_COMMENT_MODE,
APOS_STRING_MODE,
QUOTE_STRING_MODE,
C_NUMBER_MODE,
Mode(className: "meta", begin: "#", end: "\$"),
Mode(variants: [
Mode(match: [
"(class|interface)\\s+",
"[a-zA-Z_]\\w*",
"\\s+(extends|implements)\\s+",
"[a-zA-Z_]\\w*"
]),
Mode(match: ["class\\s+", "[a-zA-Z_]\\w*"])
], scope: {
"2": "title.class",
"4": "title.class.inherited"
}, keywords: {
"keyword": [
"abstract",
"as",
"asc",
"avg",
"break",
"breakpoint",
"by",
"byref",
"case",
"catch",
"changecompany",
"class",
"client",
"client",
"common",
"const",
"continue",
"count",
"crosscompany",
"delegate",
"delete_from",
"desc",
"display",
"div",
"do",
"edit",
"else",
"eventhandler",
"exists",
"extends",
"final",
"finally",
"firstfast",
"firstonly",
"firstonly1",
"firstonly10",
"firstonly100",
"firstonly1000",
"flush",
"for",
"forceliterals",
"forcenestedloop",
"forceplaceholders",
"forceselectorder",
"forupdate",
"from",
"generateonly",
"group",
"hint",
"if",
"implements",
"in",
"index",
"insert_recordset",
"interface",
"internal",
"is",
"join",
"like",
"maxof",
"minof",
"mod",
"namespace",
"new",
"next",
"nofetch",
"notexists",
"optimisticlock",
"order",
"outer",
"pessimisticlock",
"print",
"private",
"protected",
"public",
"readonly",
"repeatableread",
"retry",
"return",
"reverse",
"select",
"server",
"setting",
"static",
"sum",
"super",
"switch",
"this",
"throw",
"try",
"ttsabort",
"ttsbegin",
"ttscommit",
"unchecked",
"update_recordset",
"using",
"validtimestate",
"void",
"where",
"while"
],
"built_in": [
"anytype",
"boolean",
"byte",
"char",
"container",
"date",
"double",
"enum",
"guid",
"int",
"int64",
"long",
"real",
"short",
"str",
"utcdatetime",
"var"
],
"literal": ["default", "false", "null", "true"]
})
]);