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