1/*
2Language: Axapta
3Author: Dmitri Roudakov <dmitri@roudakov.ru>
4*/
5
6hljs.LANGUAGES.axapta  = {
7  defaultMode: {
8    lexems: [hljs.UNDERSCORE_IDENT_RE],
9    contains: ['comment', 'string', 'class', 'number', 'preprocessor'],
10    keywords: {'false': 1, 'int': 1, 'abstract': 1, 'private': 1, 'char': 1, 'interface': 1, 'boolean': 1, 'static': 1, 'null': 1, 'if': 1, 'for': 1, 'true': 1, 'while': 1, 'long': 1, 'throw': 1,  'finally': 1, 'protected': 1, 'extends': 1, 'final': 1, 'implements': 1, 'return': 1, 'void': 1, 'enum': 1, 'else': 1, 'break': 1, 'new': 1, 'catch': 1, 'byte': 1, 'super': 1, 'class': 1, 'case': 1, 'short': 1, 'default': 1, 'double': 1, 'public': 1, 'try': 1, 'this': 1, 'switch': 1, 'continue': 1,
11    'reverse':1, 'firstfast':1,'firstonly':1,'forupdate':1,'nofetch':1, 'sum':1, 'avg':1, 'minof':1, 'maxof':1, 'count':1, 'order':1, 'group':1, 'by':1, 'asc':1, 'desc':1, 'index':1, 'hint':1, 'like':1,
12    'dispaly':1, 'edit':1, 'client':1, 'server':1, 'ttsbegin':1, 'ttscommit':1,
13    'str':1, 'real':1, 'date':1, 'container':1, 'anytype':1, 'common':1, 'div':1,'mod':1
14    }
15  },
16  modes: [
17    {
18      className: 'class',
19      lexems: [hljs.UNDERSCORE_IDENT_RE],
20      begin: '(class |interface )', end: '{',
21      illegal: ':',
22      keywords: {'class': 1, 'interface': 1},
23      contains: ['inheritance', 'title']
24    },
25    {
26      className: 'inheritance',
27      begin: '(implements|extends)', end: '^',
28      lexems: [hljs.IDENT_RE],
29      keywords: {'extends': 1, 'implements': 1},
30      relevance: 10
31    },
32    {
33      className: 'title',
34      begin: hljs.UNDERSCORE_IDENT_RE, end: '^'
35    },
36    {
37      className: 'params',
38      begin: '\\(', end: '\\)',
39      contains: ['string', 'annotation']
40    },
41    hljs.C_NUMBER_MODE,
42    hljs.APOS_STRING_MODE,
43    hljs.QUOTE_STRING_MODE,
44    hljs.BACKSLASH_ESCAPE,
45    hljs.C_LINE_COMMENT_MODE,
46    hljs.C_BLOCK_COMMENT_MODE,
47    {
48      className: 'preprocessor',
49      begin: '#', end: '$'
50    }
51  ]
52};
53