axapta function

Mode axapta(
  1. Highlight hljs
)

Highlight.js language definition for axapta.

Implementation

Mode axapta(Highlight hljs) {
  final Mode mode0 = Mode();
  mode0.begin = r'\\[\s\S]';
  mode0.relevance = 0;
  return Mode(
    name: r'X++',
    aliases: [r'x++'],
    keywords: {
      r'keyword': [
        r'abstract',
        r'as',
        r'asc',
        r'avg',
        r'break',
        r'breakpoint',
        r'by',
        r'byref',
        r'case',
        r'catch',
        r'changecompany',
        r'class',
        r'client',
        r'client',
        r'common',
        r'const',
        r'continue',
        r'count',
        r'crosscompany',
        r'delegate',
        r'delete_from',
        r'desc',
        r'display',
        r'div',
        r'do',
        r'edit',
        r'else',
        r'eventhandler',
        r'exists',
        r'extends',
        r'final',
        r'finally',
        r'firstfast',
        r'firstonly',
        r'firstonly1',
        r'firstonly10',
        r'firstonly100',
        r'firstonly1000',
        r'flush',
        r'for',
        r'forceliterals',
        r'forcenestedloop',
        r'forceplaceholders',
        r'forceselectorder',
        r'forupdate',
        r'from',
        r'generateonly',
        r'group',
        r'hint',
        r'if',
        r'implements',
        r'in',
        r'index',
        r'insert_recordset',
        r'interface',
        r'internal',
        r'is',
        r'join',
        r'like',
        r'maxof',
        r'minof',
        r'mod',
        r'namespace',
        r'new',
        r'next',
        r'nofetch',
        r'notexists',
        r'optimisticlock',
        r'order',
        r'outer',
        r'pessimisticlock',
        r'print',
        r'private',
        r'protected',
        r'public',
        r'readonly',
        r'repeatableread',
        r'retry',
        r'return',
        r'reverse',
        r'select',
        r'server',
        r'setting',
        r'static',
        r'sum',
        r'super',
        r'switch',
        r'this',
        r'throw',
        r'try',
        r'ttsabort',
        r'ttsbegin',
        r'ttscommit',
        r'unchecked',
        r'update_recordset',
        r'using',
        r'validtimestate',
        r'void',
        r'where',
        r'while',
      ],
      r'built_in': [
        r'anytype',
        r'boolean',
        r'byte',
        r'char',
        r'container',
        r'date',
        r'double',
        r'enum',
        r'guid',
        r'int',
        r'int64',
        r'long',
        r'real',
        r'short',
        r'str',
        r'utcdatetime',
        r'var',
      ],
      r'literal': [r'default', r'false', r'null', r'true'],
    },
    contains: [
      Mode(
        scope: r'comment',
        begin: r'//',
        end: r'$',
        contains: [
          Mode(
            scope: r'doctag',
            begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
            end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
            excludeBegin: true,
            relevance: 0,
          ),
          Mode(
            begin:
                r"[ ]+((?: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}",
          ),
        ],
      ),
      Mode(
        scope: r'comment',
        begin: r'/\*',
        end: r'\*/',
        contains: [
          Mode(
            scope: r'doctag',
            begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
            end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
            excludeBegin: true,
            relevance: 0,
          ),
          Mode(
            begin:
                r"[ ]+((?: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}",
          ),
        ],
      ),
      Mode(
        scope: r'string',
        begin: r"'",
        end: r"'",
        illegal: r'\n',
        contains: [mode0],
      ),
      Mode(
        scope: r'string',
        begin: r'"',
        end: r'"',
        illegal: r'\n',
        contains: [mode0],
      ),
      Mode(
        scope: r'number',
        begin:
            r'(-?)(\b0[xX][a-fA-F0-9]+|(\b\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?)',
        relevance: 0,
      ),
      Mode(scope: r'meta', begin: r'#', end: r'$'),
      Mode(
        variants: [
          Mode(
            match: [
              r'(class|interface)\s+',
              r'[a-zA-Z_]\w*',
              r'\s+(extends|implements)\s+',
              r'[a-zA-Z_]\w*',
            ],
          ),
          Mode(match: [r'class\s+', r'[a-zA-Z_]\w*']),
        ],
        scope: {2: r'title.class', 4: r'title.class.inherited'},
        keywords: {
          r'keyword': [
            r'abstract',
            r'as',
            r'asc',
            r'avg',
            r'break',
            r'breakpoint',
            r'by',
            r'byref',
            r'case',
            r'catch',
            r'changecompany',
            r'class',
            r'client',
            r'client',
            r'common',
            r'const',
            r'continue',
            r'count',
            r'crosscompany',
            r'delegate',
            r'delete_from',
            r'desc',
            r'display',
            r'div',
            r'do',
            r'edit',
            r'else',
            r'eventhandler',
            r'exists',
            r'extends',
            r'final',
            r'finally',
            r'firstfast',
            r'firstonly',
            r'firstonly1',
            r'firstonly10',
            r'firstonly100',
            r'firstonly1000',
            r'flush',
            r'for',
            r'forceliterals',
            r'forcenestedloop',
            r'forceplaceholders',
            r'forceselectorder',
            r'forupdate',
            r'from',
            r'generateonly',
            r'group',
            r'hint',
            r'if',
            r'implements',
            r'in',
            r'index',
            r'insert_recordset',
            r'interface',
            r'internal',
            r'is',
            r'join',
            r'like',
            r'maxof',
            r'minof',
            r'mod',
            r'namespace',
            r'new',
            r'next',
            r'nofetch',
            r'notexists',
            r'optimisticlock',
            r'order',
            r'outer',
            r'pessimisticlock',
            r'print',
            r'private',
            r'protected',
            r'public',
            r'readonly',
            r'repeatableread',
            r'retry',
            r'return',
            r'reverse',
            r'select',
            r'server',
            r'setting',
            r'static',
            r'sum',
            r'super',
            r'switch',
            r'this',
            r'throw',
            r'try',
            r'ttsabort',
            r'ttsbegin',
            r'ttscommit',
            r'unchecked',
            r'update_recordset',
            r'using',
            r'validtimestate',
            r'void',
            r'where',
            r'while',
          ],
          r'built_in': [
            r'anytype',
            r'boolean',
            r'byte',
            r'char',
            r'container',
            r'date',
            r'double',
            r'enum',
            r'guid',
            r'int',
            r'int64',
            r'long',
            r'real',
            r'short',
            r'str',
            r'utcdatetime',
            r'var',
          ],
          r'literal': [r'default', r'false', r'null', r'true'],
        },
      ),
    ],
  );
}