78 lines
5.8 KiB
JavaScript
78 lines
5.8 KiB
JavaScript
|
module.exports = function(hljs){
|
|||
|
var IDENT_RE_RU = '[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*';
|
|||
|
var OneS_KEYWORDS = 'возврат дата для если и или иначе иначеесли исключение конецесли ' +
|
|||
|
'конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем ' +
|
|||
|
'перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл ' +
|
|||
|
'число экспорт';
|
|||
|
var OneS_BUILT_IN = 'ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ' +
|
|||
|
'ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос ' +
|
|||
|
'восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц ' +
|
|||
|
'датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации ' +
|
|||
|
'запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр ' +
|
|||
|
'значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера ' +
|
|||
|
'имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы ' +
|
|||
|
'кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби ' +
|
|||
|
'конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс ' +
|
|||
|
'максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ ' +
|
|||
|
'назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби ' +
|
|||
|
'началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели ' +
|
|||
|
'номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки ' +
|
|||
|
'основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально ' +
|
|||
|
'отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята ' +
|
|||
|
'получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта ' +
|
|||
|
'получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации ' +
|
|||
|
'пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц ' +
|
|||
|
'разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына ' +
|
|||
|
'рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп ' +
|
|||
|
'сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить ' +
|
|||
|
'стрколичествострок стрполучитьстроку стрчисловхождений сформироватьпозициюдокумента ' +
|
|||
|
'счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты ' +
|
|||
|
'установитьтана установитьтапо фиксшаблон формат цел шаблон';
|
|||
|
var DQUOTE = {begin: '""'};
|
|||
|
var STR_START = {
|
|||
|
className: 'string',
|
|||
|
begin: '"', end: '"|$',
|
|||
|
contains: [DQUOTE]
|
|||
|
};
|
|||
|
var STR_CONT = {
|
|||
|
className: 'string',
|
|||
|
begin: '\\|', end: '"|$',
|
|||
|
contains: [DQUOTE]
|
|||
|
};
|
|||
|
|
|||
|
return {
|
|||
|
case_insensitive: true,
|
|||
|
lexemes: IDENT_RE_RU,
|
|||
|
keywords: {keyword: OneS_KEYWORDS, built_in: OneS_BUILT_IN},
|
|||
|
contains: [
|
|||
|
hljs.C_LINE_COMMENT_MODE,
|
|||
|
hljs.NUMBER_MODE,
|
|||
|
STR_START, STR_CONT,
|
|||
|
{
|
|||
|
className: 'function',
|
|||
|
begin: '(процедура|функция)', end: '$',
|
|||
|
lexemes: IDENT_RE_RU,
|
|||
|
keywords: 'процедура функция',
|
|||
|
contains: [
|
|||
|
{
|
|||
|
begin: 'экспорт', endsWithParent: true,
|
|||
|
lexemes: IDENT_RE_RU,
|
|||
|
keywords: 'экспорт',
|
|||
|
contains: [hljs.C_LINE_COMMENT_MODE]
|
|||
|
},
|
|||
|
{
|
|||
|
className: 'params',
|
|||
|
begin: '\\(', end: '\\)',
|
|||
|
lexemes: IDENT_RE_RU,
|
|||
|
keywords: 'знач',
|
|||
|
contains: [STR_START, STR_CONT]
|
|||
|
},
|
|||
|
hljs.C_LINE_COMMENT_MODE,
|
|||
|
hljs.inherit(hljs.TITLE_MODE, {begin: IDENT_RE_RU})
|
|||
|
]
|
|||
|
},
|
|||
|
{className: 'meta', begin: '#', end: '$'},
|
|||
|
{className: 'number', begin: '\'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})\''} // date
|
|||
|
]
|
|||
|
};
|
|||
|
};
|