]> luflow.net public git repositories - flow-web.git/blob - static/highlight/es/languages/1c.js
Initial commit.
[flow-web.git] / static / highlight / es / languages / 1c.js
1 /*! `1c` grammar compiled for Highlight.js 11.11.1 */
2 var hljsGrammar = (function () {
3 'use strict';
4
5 /*
6 Language: 1C:Enterprise
7 Author: Stanislav Belov <stbelov@gmail.com>
8 Description: built-in language 1C:Enterprise (v7, v8)
9 Category: enterprise
10 */
11
12 function _1c(hljs) {
13 // общий паттерн для определения идентификаторов
14 const UNDERSCORE_IDENT_RE = '[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+';
15
16 // v7 уникальные ключевые слова, отсутствующие в v8 ==> keyword
17 const v7_keywords =
18 'далее ';
19
20 // v8 ключевые слова ==> keyword
21 const v8_keywords =
22 'возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли '
23 + 'конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ';
24
25 // keyword : ключевые слова
26 const KEYWORD = v7_keywords + v8_keywords;
27
28 // v7 уникальные директивы, отсутствующие в v8 ==> meta-keyword
29 const v7_meta_keywords =
30 'загрузитьизфайла ';
31
32 // v8 ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях ==> meta-keyword
33 const v8_meta_keywords =
34 'вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер '
35 + 'наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед '
36 + 'после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ';
37
38 // meta-keyword : ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях
39 const METAKEYWORD = v7_meta_keywords + v8_meta_keywords;
40
41 // v7 системные константы ==> built_in
42 const v7_system_constants =
43 'разделительстраниц разделительстрок символтабуляции ';
44
45 // v7 уникальные методы глобального контекста, отсутствующие в v8 ==> built_in
46 const v7_global_context_methods =
47 'ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов '
48 + 'датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя '
49 + 'кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца '
50 + 'коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид '
51 + 'назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца '
52 + 'начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов '
53 + 'основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута '
54 + 'получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта '
55 + 'префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына '
56 + 'рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента '
57 + 'счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ';
58
59 // v8 методы глобального контекста ==> built_in
60 const v8_global_context_methods =
61 'acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока '
62 + 'xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение '
63 + 'ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации '
64 + 'выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода '
65 + 'деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы '
66 + 'загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации '
67 + 'заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию '
68 + 'значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла '
69 + 'изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке '
70 + 'каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку '
71 + 'кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты '
72 + 'конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы '
73 + 'копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти '
74 + 'найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы '
75 + 'началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя '
76 + 'начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты '
77 + 'начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов '
78 + 'начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя '
79 + 'начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога '
80 + 'начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией '
81 + 'начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы '
82 + 'номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения '
83 + 'обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении '
84 + 'отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения '
85 + 'открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально '
86 + 'отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа '
87 + 'перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту '
88 + 'подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения '
89 + 'подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки '
90 + 'показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение '
91 + 'показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя '
92 + 'получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса '
93 + 'получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора '
94 + 'получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса '
95 + 'получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации '
96 + 'получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла '
97 + 'получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации '
98 + 'получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления '
99 + 'получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу '
100 + 'получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы '
101 + 'получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет '
102 + 'получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима '
103 + 'получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения '
104 + 'получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути '
105 + 'получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы '
106 + 'получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю '
107 + 'получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных '
108 + 'получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию '
109 + 'получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище '
110 + 'поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода '
111 + 'представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение '
112 + 'прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока '
113 + 'рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных '
114 + 'раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени '
115 + 'смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить '
116 + 'состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс '
117 + 'строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений '
118 + 'стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах '
119 + 'текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации '
120 + 'текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы '
121 + 'удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим '
122 + 'установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту '
123 + 'установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных '
124 + 'установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации '
125 + 'установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения '
126 + 'установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования '
127 + 'установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима '
128 + 'установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим '
129 + 'установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией '
130 + 'установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы '
131 + 'установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса '
132 + 'формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ';
133
134 // v8 свойства глобального контекста ==> built_in
135 const v8_global_context_property =
136 'wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы '
137 + 'внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль '
138 + 'документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты '
139 + 'историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений '
140 + 'отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик '
141 + 'планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок '
142 + 'рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений '
143 + 'регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа '
144 + 'средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек '
145 + 'хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков '
146 + 'хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ';
147
148 // built_in : встроенные или библиотечные объекты (константы, классы, функции)
149 const BUILTIN =
150 v7_system_constants
151 + v7_global_context_methods + v8_global_context_methods
152 + v8_global_context_property;
153
154 // v8 системные наборы значений ==> class
155 const v8_system_sets_of_values =
156 'webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ';
157
158 // v8 системные перечисления - интерфейсные ==> class
159 const v8_system_enums_interface =
160 'автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий '
161 + 'анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы '
162 + 'вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы '
163 + 'виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя '
164 + 'видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение '
165 + 'горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы '
166 + 'группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания '
167 + 'интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки '
168 + 'используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы '
169 + 'источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева '
170 + 'начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы '
171 + 'ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме '
172 + 'отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы '
173 + 'отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы '
174 + 'отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы '
175 + 'отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска '
176 + 'отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования '
177 + 'отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта '
178 + 'отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы '
179 + 'поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы '
180 + 'поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы '
181 + 'положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы '
182 + 'положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы '
183 + 'положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском '
184 + 'положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы '
185 + 'размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта '
186 + 'режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты '
187 + 'режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения '
188 + 'режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра '
189 + 'режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения '
190 + 'режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы '
191 + 'режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки '
192 + 'режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание '
193 + 'сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы '
194 + 'способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление '
195 + 'статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы '
196 + 'типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы '
197 + 'типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления '
198 + 'типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы '
199 + 'типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы '
200 + 'типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений '
201 + 'типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы '
202 + 'типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы '
203 + 'типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы '
204 + 'факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени '
205 + 'форматкартинки ширинаподчиненныхэлементовформы ';
206
207 // v8 системные перечисления - свойства прикладных объектов ==> class
208 const v8_system_enums_objects_properties =
209 'виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса '
210 + 'использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения '
211 + 'использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ';
212
213 // v8 системные перечисления - планы обмена ==> class
214 const v8_system_enums_exchange_plans =
215 'авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ';
216
217 // v8 системные перечисления - табличный документ ==> class
218 const v8_system_enums_tabular_document =
219 'использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы '
220 + 'положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента '
221 + 'способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента '
222 + 'типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента '
223 + 'типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы '
224 + 'типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента '
225 + 'типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ';
226
227 // v8 системные перечисления - планировщик ==> class
228 const v8_system_enums_sheduler =
229 'отображениевремениэлементовпланировщика ';
230
231 // v8 системные перечисления - форматированный документ ==> class
232 const v8_system_enums_formatted_document =
233 'типфайлаформатированногодокумента ';
234
235 // v8 системные перечисления - запрос ==> class
236 const v8_system_enums_query =
237 'обходрезультатазапроса типзаписизапроса ';
238
239 // v8 системные перечисления - построитель отчета ==> class
240 const v8_system_enums_report_builder =
241 'видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ';
242
243 // v8 системные перечисления - работа с файлами ==> class
244 const v8_system_enums_files =
245 'доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ';
246
247 // v8 системные перечисления - построитель запроса ==> class
248 const v8_system_enums_query_builder =
249 'типизмеренияпостроителязапроса ';
250
251 // v8 системные перечисления - анализ данных ==> class
252 const v8_system_enums_data_analysis =
253 'видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных '
254 + 'типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений '
255 + 'типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций '
256 + 'типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных '
257 + 'типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных '
258 + 'типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ';
259
260 // v8 системные перечисления - xml, json, xs, dom, xdto, web-сервисы ==> class
261 const v8_system_enums_xml_json_xs_dom_xdto_ws =
262 'wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto '
263 + 'действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs '
264 + 'исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs '
265 + 'методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs '
266 + 'ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson '
267 + 'типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs '
268 + 'форматдатыjson экранированиесимволовjson ';
269
270 // v8 системные перечисления - система компоновки данных ==> class
271 const v8_system_enums_data_composition_system =
272 'видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных '
273 + 'расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных '
274 + 'расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных '
275 + 'расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных '
276 + 'типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных '
277 + 'типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных '
278 + 'типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных '
279 + 'расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных '
280 + 'режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных '
281 + 'режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных '
282 + 'вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных '
283 + 'использованиеусловногооформлениякомпоновкиданных ';
284
285 // v8 системные перечисления - почта ==> class
286 const v8_system_enums_email =
287 'важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения '
288 + 'способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты '
289 + 'статусразборапочтовогосообщения ';
290
291 // v8 системные перечисления - журнал регистрации ==> class
292 const v8_system_enums_logbook =
293 'режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ';
294
295 // v8 системные перечисления - криптография ==> class
296 const v8_system_enums_cryptography =
297 'расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии '
298 + 'типхранилищасертификатовкриптографии ';
299
300 // v8 системные перечисления - ZIP ==> class
301 const v8_system_enums_zip =
302 'кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip '
303 + 'режимсохраненияпутейzip уровеньсжатияzip ';
304
305 // v8 системные перечисления -
306 // Блокировка данных, Фоновые задания, Автоматизированное тестирование,
307 // Доставляемые уведомления, Встроенные покупки, Интернет, Работа с двоичными данными ==> class
308 const v8_system_enums_other =
309 'звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных '
310 + 'сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ';
311
312 // v8 системные перечисления - схема запроса ==> class
313 const v8_system_enums_request_schema =
314 'направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса '
315 + 'типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ';
316
317 // v8 системные перечисления - свойства объектов метаданных ==> class
318 const v8_system_enums_properties_of_metadata_objects =
319 'httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления '
320 + 'видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование '
321 + 'использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения '
322 + 'использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита '
323 + 'назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных '
324 + 'оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи '
325 + 'основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении '
326 + 'периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений '
327 + 'повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение '
328 + 'разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита '
329 + 'режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности '
330 + 'режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов '
331 + 'режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса '
332 + 'режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов '
333 + 'сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования '
334 + 'типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса '
335 + 'типномерадокумента типномеразадачи типформы удалениедвижений ';
336
337 // v8 системные перечисления - разные ==> class
338 const v8_system_enums_differents =
339 'важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения '
340 + 'вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки '
341 + 'видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак '
342 + 'использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога '
343 + 'кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных '
344 + 'отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения '
345 + 'режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных '
346 + 'способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter '
347 + 'типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты';
348
349 // class: встроенные наборы значений, системные перечисления (содержат дочерние значения, обращения к которым через разыменование)
350 const CLASS =
351 v8_system_sets_of_values
352 + v8_system_enums_interface
353 + v8_system_enums_objects_properties
354 + v8_system_enums_exchange_plans
355 + v8_system_enums_tabular_document
356 + v8_system_enums_sheduler
357 + v8_system_enums_formatted_document
358 + v8_system_enums_query
359 + v8_system_enums_report_builder
360 + v8_system_enums_files
361 + v8_system_enums_query_builder
362 + v8_system_enums_data_analysis
363 + v8_system_enums_xml_json_xs_dom_xdto_ws
364 + v8_system_enums_data_composition_system
365 + v8_system_enums_email
366 + v8_system_enums_logbook
367 + v8_system_enums_cryptography
368 + v8_system_enums_zip
369 + v8_system_enums_other
370 + v8_system_enums_request_schema
371 + v8_system_enums_properties_of_metadata_objects
372 + v8_system_enums_differents;
373
374 // v8 общие объекты (у объектов есть конструктор, экземпляры создаются методом НОВЫЙ) ==> type
375 const v8_shared_object =
376 'comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs '
377 + 'блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема '
378 + 'географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма '
379 + 'диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания '
380 + 'диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление '
381 + 'записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom '
382 + 'запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта '
383 + 'интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs '
384 + 'использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных '
385 + 'итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла '
386 + 'компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных '
387 + 'конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных '
388 + 'макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson '
389 + 'обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs '
390 + 'объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации '
391 + 'описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных '
392 + 'описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs '
393 + 'определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom '
394 + 'определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных '
395 + 'параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных '
396 + 'полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных '
397 + 'построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml '
398 + 'процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент '
399 + 'процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml '
400 + 'результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto '
401 + 'сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows '
402 + 'сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш '
403 + 'сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент '
404 + 'текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток '
405 + 'фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs '
406 + 'фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs '
407 + 'фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs '
408 + 'фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент '
409 + 'фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла '
410 + 'чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ';
411
412 // v8 универсальные коллекции значений ==> type
413 const v8_universal_collection =
414 'comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура '
415 + 'фиксированноесоответствие фиксированныймассив ';
416
417 // type : встроенные типы
418 const TYPE =
419 v8_shared_object
420 + v8_universal_collection;
421
422 // literal : примитивные типы
423 const LITERAL = 'null истина ложь неопределено';
424
425 // number : числа
426 const NUMBERS = hljs.inherit(hljs.NUMBER_MODE);
427
428 // string : строки
429 const STRINGS = {
430 className: 'string',
431 begin: '"|\\|',
432 end: '"|$',
433 contains: [ { begin: '""' } ]
434 };
435
436 // number : даты
437 const DATE = {
438 begin: "'",
439 end: "'",
440 excludeBegin: true,
441 excludeEnd: true,
442 contains: [
443 {
444 className: 'number',
445 begin: '\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}'
446 }
447 ]
448 };
449
450 const PUNCTUATION = {
451 match: /[;()+\-:=,]/,
452 className: "punctuation",
453 relevance: 0
454 };
455
456 // comment : комментарии
457 const COMMENTS = hljs.inherit(hljs.C_LINE_COMMENT_MODE);
458
459 // meta : инструкции препроцессора, директивы компиляции
460 const META = {
461 className: 'meta',
462
463 begin: '#|&',
464 end: '$',
465 keywords: {
466 $pattern: UNDERSCORE_IDENT_RE,
467 keyword: KEYWORD + METAKEYWORD
468 },
469 contains: [ COMMENTS ]
470 };
471
472 // symbol : метка goto
473 const SYMBOL = {
474 className: 'symbol',
475 begin: '~',
476 end: ';|:',
477 excludeEnd: true
478 };
479
480 // function : объявление процедур и функций
481 const FUNCTION = {
482 className: 'function',
483 variants: [
484 {
485 begin: 'процедура|функция',
486 end: '\\)',
487 keywords: 'процедура функция'
488 },
489 {
490 begin: 'конецпроцедуры|конецфункции',
491 keywords: 'конецпроцедуры конецфункции'
492 }
493 ],
494 contains: [
495 {
496 begin: '\\(',
497 end: '\\)',
498 endsParent: true,
499 contains: [
500 {
501 className: 'params',
502 begin: UNDERSCORE_IDENT_RE,
503 end: ',',
504 excludeEnd: true,
505 endsWithParent: true,
506 keywords: {
507 $pattern: UNDERSCORE_IDENT_RE,
508 keyword: 'знач',
509 literal: LITERAL
510 },
511 contains: [
512 NUMBERS,
513 STRINGS,
514 DATE
515 ]
516 },
517 COMMENTS
518 ]
519 },
520 hljs.inherit(hljs.TITLE_MODE, { begin: UNDERSCORE_IDENT_RE })
521 ]
522 };
523
524 return {
525 name: '1C:Enterprise',
526 case_insensitive: true,
527 keywords: {
528 $pattern: UNDERSCORE_IDENT_RE,
529 keyword: KEYWORD,
530 built_in: BUILTIN,
531 class: CLASS,
532 type: TYPE,
533 literal: LITERAL
534 },
535 contains: [
536 META,
537 FUNCTION,
538 COMMENTS,
539 SYMBOL,
540 NUMBERS,
541 STRINGS,
542 DATE,
543 PUNCTUATION
544 ]
545 };
546 }
547
548 return _1c;
549
550 })();
551 ;
552 export default hljsGrammar;