84 lines
2.4 KiB
JavaScript
84 lines
2.4 KiB
JavaScript
var IDENT_RE_RU = '[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*';
|
||
var NUMBER_RE = '\\b\\d+(\\.\\d+)?';
|
||
|
||
var OneS_KEYWORDS = {'процедура':1,'функция':1,'экспорт':1,'перем':1,'конецфункции':1,'конецпроцедуры':1,'если':1,'тогда':1,'иначе':1,'иначеесли':1,'конецесли':1,'попытка':1,'исключение':1,'конецпопытки':1,'ложь':1,'истина':1,'неопределено':1,'и':1,'или':1,'не':1,'null':1,'для':1,'каждого':1,'из':1,'по':1,'цикл':1,'конеццикла':1};
|
||
|
||
LANGUAGES['1c'] = {
|
||
defaultMode: {
|
||
lexems: [IDENT_RE_RU],
|
||
contains: ['comment', 'string', 'function', 'preprocessor', 'number'],
|
||
keywords: OneS_KEYWORDS
|
||
},
|
||
case_insensitive: true,
|
||
modes: [
|
||
C_LINE_COMMENT_MODE,
|
||
{
|
||
className: 'string',
|
||
begin: '"', end: '"',
|
||
contains: ['dquote'],
|
||
relevance: 0
|
||
},
|
||
{
|
||
className: 'string',
|
||
begin: '"', end: '$',
|
||
contains: ['dquote']
|
||
},
|
||
{
|
||
className: 'string',
|
||
begin: '\\|', end: '$',
|
||
contains: ['dquote']
|
||
},
|
||
{
|
||
className: 'string',
|
||
begin: '\\|', end: '"',
|
||
contains: ['dquote']
|
||
},
|
||
{
|
||
className: 'dquote',
|
||
begin: '""', end: '^'
|
||
},
|
||
{
|
||
className: 'number',
|
||
begin: NUMBER_RE, end: '^',
|
||
relevance: 0
|
||
},
|
||
{
|
||
className: 'title',
|
||
lexems: [IDENT_RE_RU],
|
||
begin: IDENT_RE_RU, end: '^'
|
||
},
|
||
{
|
||
className: 'params',
|
||
begin: '\\(', end: '\\)',
|
||
lexems: [IDENT_RE_RU],
|
||
keywords: {'знач':1},
|
||
contains: ['string']
|
||
},
|
||
{
|
||
className: 'function',
|
||
begin: '(процедура|функция)', end: '$',
|
||
lexems: [IDENT_RE_RU],
|
||
keywords: {'процедура': 1, 'экспорт':1, 'функция': 1},
|
||
contains: ['title','tail','comment'],
|
||
relevance: 0
|
||
},
|
||
{
|
||
className: 'tail',
|
||
begin: '^', endsWithParent: true,
|
||
lexems: [IDENT_RE_RU],
|
||
contains: ['params', 'export']
|
||
},
|
||
{
|
||
className: 'export',
|
||
begin: 'экспорт', endsWithParent: true,
|
||
lexems: [IDENT_RE_RU],
|
||
keywords: {'экспорт': 1},
|
||
contains: ['comment']
|
||
},
|
||
{
|
||
className: 'preprocessor',
|
||
begin: '#', end: '$',
|
||
lexems: [IDENT_RE_RU]
|
||
}
|
||
]
|
||
};//1c
|