aboutsummaryrefslogtreecommitdiff
path: root/node_modules/highlight.js/lib/languages
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/highlight.js/lib/languages')
-rw-r--r--node_modules/highlight.js/lib/languages/1c.js557
-rw-r--r--node_modules/highlight.js/lib/languages/autohotkey.js23
-rw-r--r--node_modules/highlight.js/lib/languages/bash.js2
-rw-r--r--node_modules/highlight.js/lib/languages/clojure.js1
-rw-r--r--node_modules/highlight.js/lib/languages/crystal.js25
-rw-r--r--node_modules/highlight.js/lib/languages/cs.js24
-rw-r--r--node_modules/highlight.js/lib/languages/gams.js2
-rw-r--r--node_modules/highlight.js/lib/languages/julia-repl.js23
-rw-r--r--node_modules/highlight.js/lib/languages/julia.js124
-rw-r--r--node_modules/highlight.js/lib/languages/kotlin.js12
-rw-r--r--node_modules/highlight.js/lib/languages/qml.js2
-rw-r--r--node_modules/highlight.js/lib/languages/routeros.js158
-rw-r--r--node_modules/highlight.js/lib/languages/rust.js2
-rw-r--r--node_modules/highlight.js/lib/languages/swift.js4
14 files changed, 797 insertions, 162 deletions
diff --git a/node_modules/highlight.js/lib/languages/1c.js b/node_modules/highlight.js/lib/languages/1c.js
index eaf89e7b0..574daa9b9 100644
--- a/node_modules/highlight.js/lib/languages/1c.js
+++ b/node_modules/highlight.js/lib/languages/1c.js
@@ -1,78 +1,509 @@
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 = {
+
+ // общий паттерн для определения идентификаторов
+ var UNDERSCORE_IDENT_RE = '[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+';
+
+ // v7 уникальные ключевые слова, отсутствующие в v8 ==> keyword
+ var v7_keywords =
+ 'далее ';
+
+ // v8 ключевые слова ==> keyword
+ var v8_keywords =
+ 'возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли ' +
+ 'конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ';
+
+ // keyword : ключевые слова
+ var KEYWORD = v7_keywords + v8_keywords;
+
+ // v7 уникальные директивы, отсутствующие в v8 ==> meta-keyword
+ var v7_meta_keywords =
+ 'загрузитьизфайла ';
+
+ // v8 ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях ==> meta-keyword
+ var v8_meta_keywords =
+ 'вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер ' +
+ 'наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед ' +
+ 'после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ';
+
+ // meta-keyword : ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях
+ var METAKEYWORD = v7_meta_keywords + v8_meta_keywords;
+
+ // v7 системные константы ==> built_in
+ var v7_system_constants =
+ 'разделительстраниц разделительстрок символтабуляции ';
+
+ // v7 уникальные методы глобального контекста, отсутствующие в v8 ==> built_in
+ var v7_global_context_methods =
+ 'ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов ' +
+ 'датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя ' +
+ 'кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца ' +
+ 'коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид ' +
+ 'назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца ' +
+ 'начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов ' +
+ 'основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута ' +
+ 'получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта ' +
+ 'префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына ' +
+ 'рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента ' +
+ 'счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ';
+
+ // v8 методы глобального контекста ==> built_in
+ var v8_global_context_methods =
+ 'acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока ' +
+ 'xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ' +
+ 'ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации ' +
+ 'выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода ' +
+ 'деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы ' +
+ 'загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации ' +
+ 'заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию ' +
+ 'значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла ' +
+ 'изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке ' +
+ 'каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку ' +
+ 'кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты ' +
+ 'конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы ' +
+ 'копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти ' +
+ 'найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы ' +
+ 'началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя ' +
+ 'начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты ' +
+ 'начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов ' +
+ 'начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя ' +
+ 'начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога ' +
+ 'начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией ' +
+ 'начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы ' +
+ 'номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения ' +
+ 'обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении ' +
+ 'отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения ' +
+ 'открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально ' +
+ 'отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа ' +
+ 'перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту ' +
+ 'подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения ' +
+ 'подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки ' +
+ 'показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение ' +
+ 'показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя ' +
+ 'получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса ' +
+ 'получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора ' +
+ 'получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса ' +
+ 'получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации ' +
+ 'получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла ' +
+ 'получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации ' +
+ 'получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления ' +
+ 'получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу ' +
+ 'получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы ' +
+ 'получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет ' +
+ 'получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима ' +
+ 'получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения ' +
+ 'получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути ' +
+ 'получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы ' +
+ 'получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю ' +
+ 'получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных ' +
+ 'получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию ' +
+ 'получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище ' +
+ 'поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода ' +
+ 'представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение ' +
+ 'прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока ' +
+ 'рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных ' +
+ 'раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени ' +
+ 'смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить ' +
+ 'состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс ' +
+ 'строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений '+
+ 'стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах ' +
+ 'текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации ' +
+ 'текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы ' +
+ 'удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим ' +
+ 'установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту ' +
+ 'установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных ' +
+ 'установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации ' +
+ 'установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения ' +
+ 'установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования ' +
+ 'установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима ' +
+ 'установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим ' +
+ 'установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией ' +
+ 'установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы ' +
+ 'установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса ' +
+ 'формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ';
+
+ // v8 свойства глобального контекста ==> built_in
+ var v8_global_context_property =
+ 'wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы ' +
+ 'внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль ' +
+ 'документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты ' +
+ 'историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений ' +
+ 'отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик ' +
+ 'планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок ' +
+ 'рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений ' +
+ 'регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа ' +
+ 'средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек ' +
+ 'хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков ' +
+ 'хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ';
+
+ // built_in : встроенные или библиотечные объекты (константы, классы, функции)
+ var BUILTIN =
+ v7_system_constants +
+ v7_global_context_methods + v8_global_context_methods +
+ v8_global_context_property;
+
+ // v8 системные наборы значений ==> class
+ var v8_system_sets_of_values =
+ 'webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ';
+
+ // v8 системные перечисления - интерфейсные ==> class
+ var v8_system_enums_interface =
+ 'автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий ' +
+ 'анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы ' +
+ 'вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы ' +
+ 'виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя ' +
+ 'видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение ' +
+ 'горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы ' +
+ 'группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания ' +
+ 'интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки ' +
+ 'используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы ' +
+ 'источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева ' +
+ 'начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ' +
+ 'ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме ' +
+ 'отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы ' +
+ 'отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы ' +
+ 'отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы ' +
+ 'отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска ' +
+ 'отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования ' +
+ 'отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта ' +
+ 'отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы ' +
+ 'поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы ' +
+ 'поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы ' +
+ 'положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы ' +
+ 'положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы ' +
+ 'положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском ' +
+ 'положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы ' +
+ 'размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта ' +
+ 'режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты ' +
+ 'режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения ' +
+ 'режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра ' +
+ 'режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения ' +
+ 'режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы ' +
+ 'режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки ' +
+ 'режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание ' +
+ 'сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы ' +
+ 'способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление ' +
+ 'статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы ' +
+ 'типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы ' +
+ 'типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления ' +
+ 'типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы ' +
+ 'типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы ' +
+ 'типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений ' +
+ 'типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы ' +
+ 'типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы ' +
+ 'типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы ' +
+ 'факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени ' +
+ 'форматкартинки ширинаподчиненныхэлементовформы ';
+
+ // v8 системные перечисления - свойства прикладных объектов ==> class
+ var v8_system_enums_objects_properties =
+ 'виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса ' +
+ 'использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения ' +
+ 'использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ';
+
+ // v8 системные перечисления - планы обмена ==> class
+ var v8_system_enums_exchange_plans =
+ 'авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ';
+
+ // v8 системные перечисления - табличный документ ==> class
+ var v8_system_enums_tabular_document =
+ 'использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы ' +
+ 'положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента ' +
+ 'способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента ' +
+ 'типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента ' +
+ 'типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы ' +
+ 'типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента ' +
+ 'типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ';
+
+ // v8 системные перечисления - планировщик ==> class
+ var v8_system_enums_sheduler =
+ 'отображениевремениэлементовпланировщика ';
+
+ // v8 системные перечисления - форматированный документ ==> class
+ var v8_system_enums_formatted_document =
+ 'типфайлаформатированногодокумента ';
+
+ // v8 системные перечисления - запрос ==> class
+ var v8_system_enums_query =
+ 'обходрезультатазапроса типзаписизапроса ';
+
+ // v8 системные перечисления - построитель отчета ==> class
+ var v8_system_enums_report_builder =
+ 'видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ';
+
+ // v8 системные перечисления - работа с файлами ==> class
+ var v8_system_enums_files =
+ 'доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ';
+
+ // v8 системные перечисления - построитель запроса ==> class
+ var v8_system_enums_query_builder =
+ 'типизмеренияпостроителязапроса ';
+
+ // v8 системные перечисления - анализ данных ==> class
+ var v8_system_enums_data_analysis =
+ 'видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных ' +
+ 'типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений ' +
+ 'типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций ' +
+ 'типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных ' +
+ 'типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных ' +
+ 'типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ';
+
+ // v8 системные перечисления - xml, json, xs, dom, xdto, web-сервисы ==> class
+ var v8_system_enums_xml_json_xs_dom_xdto_ws =
+ 'wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto ' +
+ 'действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs ' +
+ 'исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs ' +
+ 'методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ' +
+ 'ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson ' +
+ 'типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs ' +
+ 'форматдатыjson экранированиесимволовjson ';
+
+ // v8 системные перечисления - система компоновки данных ==> class
+ var v8_system_enums_data_composition_system =
+ 'видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных ' +
+ 'расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных ' +
+ 'расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных ' +
+ 'расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных ' +
+ 'типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных ' +
+ 'типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных ' +
+ 'типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных ' +
+ 'расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных ' +
+ 'режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных ' +
+ 'режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных '+
+ 'вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных ' +
+ 'использованиеусловногооформлениякомпоновкиданных ';
+
+ // v8 системные перечисления - почта ==> class
+ var v8_system_enums_email =
+ 'важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения ' +
+ 'способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты ' +
+ 'статусразборапочтовогосообщения ';
+
+ // v8 системные перечисления - журнал регистрации ==> class
+ var v8_system_enums_logbook =
+ 'режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ';
+
+ // v8 системные перечисления - криптография ==> class
+ var v8_system_enums_cryptography =
+ 'расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии ' +
+ 'типхранилищасертификатовкриптографии ';
+
+ // v8 системные перечисления - ZIP ==> class
+ var v8_system_enums_zip =
+ 'кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip ' +
+ 'режимсохраненияпутейzip уровеньсжатияzip ';
+
+ // v8 системные перечисления -
+ // Блокировка данных, Фоновые задания, Автоматизированное тестирование,
+ // Доставляемые уведомления, Встроенные покупки, Интернет, Работа с двоичными данными ==> class
+ var v8_system_enums_other =
+ 'звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных ' +
+ 'сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ';
+
+ // v8 системные перечисления - схема запроса ==> class
+ var v8_system_enums_request_schema =
+ 'направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса ' +
+ 'типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ';
+
+ // v8 системные перечисления - свойства объектов метаданных ==> class
+ var v8_system_enums_properties_of_metadata_objects =
+ 'httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления ' +
+ 'видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование ' +
+ 'использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения ' +
+ 'использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита ' +
+ 'назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных ' +
+ 'оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи ' +
+ 'основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении ' +
+ 'периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений ' +
+ 'повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение ' +
+ 'разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита '+
+ 'режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности ' +
+ 'режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов ' +
+ 'режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса ' +
+ 'режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов ' +
+ 'сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования ' +
+ 'типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса ' +
+ 'типномерадокумента типномеразадачи типформы удалениедвижений ';
+
+ // v8 системные перечисления - разные ==> class
+ var v8_system_enums_differents =
+ 'важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения ' +
+ 'вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки ' +
+ 'видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак ' +
+ 'использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога ' +
+ 'кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных ' +
+ 'отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения ' +
+ 'режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных ' +
+ 'способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter ' +
+ 'типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты';
+
+ // class: встроенные наборы значений, системные перечисления (содержат дочерние значения, обращения к которым через разыменование)
+ var CLASS =
+ v8_system_sets_of_values +
+ v8_system_enums_interface +
+ v8_system_enums_objects_properties +
+ v8_system_enums_exchange_plans +
+ v8_system_enums_tabular_document +
+ v8_system_enums_sheduler +
+ v8_system_enums_formatted_document +
+ v8_system_enums_query +
+ v8_system_enums_report_builder +
+ v8_system_enums_files +
+ v8_system_enums_query_builder +
+ v8_system_enums_data_analysis +
+ v8_system_enums_xml_json_xs_dom_xdto_ws +
+ v8_system_enums_data_composition_system +
+ v8_system_enums_email +
+ v8_system_enums_logbook +
+ v8_system_enums_cryptography +
+ v8_system_enums_zip +
+ v8_system_enums_other +
+ v8_system_enums_request_schema +
+ v8_system_enums_properties_of_metadata_objects +
+ v8_system_enums_differents;
+
+ // v8 общие объекты (у объектов есть конструктор, экземпляры создаются методом НОВЫЙ) ==> type
+ var v8_shared_object =
+ 'comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs ' +
+ 'блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема ' +
+ 'географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма ' +
+ 'диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания ' +
+ 'диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление ' +
+ 'записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom ' +
+ 'запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта ' +
+ 'интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs ' +
+ 'использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных ' +
+ 'итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла ' +
+ 'компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных ' +
+ 'конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных ' +
+ 'макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson ' +
+ 'обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs ' +
+ 'объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации ' +
+ 'описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных ' +
+ 'описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs ' +
+ 'определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom ' +
+ 'определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных ' +
+ 'параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных ' +
+ 'полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных ' +
+ 'построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml ' +
+ 'процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент ' +
+ 'процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml ' +
+ 'результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto ' +
+ 'сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows ' +
+ 'сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш ' +
+ 'сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент ' +
+ 'текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток ' +
+ 'фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs ' +
+ 'фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs ' +
+ 'фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs ' +
+ 'фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент ' +
+ 'фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла ' +
+ 'чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ';
+
+ // v8 универсальные коллекции значений ==> type
+ var v8_universal_collection =
+ 'comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура ' +
+ 'фиксированноесоответствие фиксированныймассив ';
+
+ // type : встроенные типы
+ var TYPE =
+ v8_shared_object +
+ v8_universal_collection;
+
+ // literal : примитивные типы
+ var LITERAL = 'null истина ложь неопределено';
+
+ // number : числа
+ var NUMBERS = hljs.inherit(hljs.NUMBER_MODE);
+
+ // string : строки
+ var STRINGS = {
className: 'string',
- begin: '\\|', end: '"|$',
- contains: [DQUOTE]
+ begin: '"|\\|', end: '"|$',
+ contains: [{begin: '""'}]
};
- return {
- case_insensitive: true,
- lexemes: IDENT_RE_RU,
- keywords: {keyword: OneS_KEYWORDS, built_in: OneS_BUILT_IN},
+ // number : даты
+ var DATE = {
+ begin: "'", end: "'", excludeBegin: true, excludeEnd: true,
contains: [
- hljs.C_LINE_COMMENT_MODE,
- hljs.NUMBER_MODE,
- STR_START, STR_CONT,
{
- className: 'function',
- begin: '(процедура|функция)', end: '$',
- lexemes: IDENT_RE_RU,
- keywords: 'процедура функция',
+ className: 'number',
+ begin: '\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}'
+ }
+ ]
+ };
+
+ // comment : комментарии
+ var COMMENTS = hljs.inherit(hljs.C_LINE_COMMENT_MODE);
+
+ // meta : инструкции препроцессора, директивы компиляции
+ var META = {
+ className: 'meta',
+ lexemes: UNDERSCORE_IDENT_RE,
+ begin: '#|&', end: '$',
+ keywords: {'meta-keyword': KEYWORD + METAKEYWORD},
+ contains: [
+ COMMENTS
+ ]
+ };
+
+ // symbol : метка goto
+ var SYMBOL = {
+ className: 'symbol',
+ begin: '~', end: ';|:', excludeEnd: true
+ };
+
+ // function : объявление процедур и функций
+ var FUNCTION = {
+ className: 'function',
+ lexemes: UNDERSCORE_IDENT_RE,
+ variants: [
+ {begin: 'процедура|функция', end: '\\)', keywords: 'процедура функция'},
+ {begin: 'конецпроцедуры|конецфункции', keywords: 'конецпроцедуры конецфункции'}
+ ],
+ contains: [
+ {
+ begin: '\\(', end: '\\)', endsParent : true,
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]
+ lexemes: UNDERSCORE_IDENT_RE,
+ begin: UNDERSCORE_IDENT_RE, end: ',', excludeEnd: true, endsWithParent: true,
+ keywords: {
+ keyword: 'знач',
+ literal: LITERAL
+ },
+ contains: [
+ NUMBERS,
+ STRINGS,
+ DATE
+ ]
},
- hljs.C_LINE_COMMENT_MODE,
- hljs.inherit(hljs.TITLE_MODE, {begin: IDENT_RE_RU})
+ COMMENTS
]
},
- {className: 'meta', begin: '#', end: '$'},
- {className: 'number', begin: '\'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})\''} // date
+ hljs.inherit(hljs.TITLE_MODE, {begin: UNDERSCORE_IDENT_RE})
]
};
+
+ return {
+ case_insensitive: true,
+ lexemes: UNDERSCORE_IDENT_RE,
+ keywords: {
+ keyword: KEYWORD,
+ built_in: BUILTIN,
+ class: CLASS,
+ type: TYPE,
+ literal: LITERAL
+ },
+ contains: [
+ META,
+ FUNCTION,
+ COMMENTS,
+ SYMBOL,
+ NUMBERS,
+ STRINGS,
+ DATE
+ ]
+ }
}; \ No newline at end of file
diff --git a/node_modules/highlight.js/lib/languages/autohotkey.js b/node_modules/highlight.js/lib/languages/autohotkey.js
index 3c15fc549..e00871212 100644
--- a/node_modules/highlight.js/lib/languages/autohotkey.js
+++ b/node_modules/highlight.js/lib/languages/autohotkey.js
@@ -1,12 +1,13 @@
module.exports = function(hljs) {
var BACKTICK_ESCAPE = {
- begin: /`[\s\S]/
+ begin: '`[\\s\\S]'
};
return {
case_insensitive: true,
+ aliases: [ 'ahk' ],
keywords: {
- keyword: 'Break Continue Else Gosub If Loop Return While',
+ keyword: 'Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group',
literal: 'A|0 true false NOT AND OR',
built_in: 'ComSpec Clipboard ClipboardAll ErrorLevel',
},
@@ -18,16 +19,26 @@ module.exports = function(hljs) {
BACKTICK_ESCAPE,
hljs.inherit(hljs.QUOTE_STRING_MODE, {contains: [BACKTICK_ESCAPE]}),
hljs.COMMENT(';', '$', {relevance: 0}),
+ hljs.C_BLOCK_COMMENT_MODE,
{
className: 'number',
begin: hljs.NUMBER_RE,
relevance: 0
},
{
- className: 'variable', // FIXME
- begin: '%', end: '%',
- illegal: '\\n',
- contains: [BACKTICK_ESCAPE]
+ className: 'subst', // FIXED
+ begin: '%(?=[a-zA-Z0-9#_$@])', end: '%',
+ illegal: '[^a-zA-Z0-9#_$@]'
+ },
+ {
+ className: 'built_in',
+ begin: '^\\s*\\w+\\s*,'
+ //I don't really know if this is totally relevant
+ },
+ {
+ className: 'meta',
+ begin: '^\\s*#\w+', end:'$',
+ relevance: 0
},
{
className: 'symbol',
diff --git a/node_modules/highlight.js/lib/languages/bash.js b/node_modules/highlight.js/lib/languages/bash.js
index a8bb5d2fb..ab9b11418 100644
--- a/node_modules/highlight.js/lib/languages/bash.js
+++ b/node_modules/highlight.js/lib/languages/bash.js
@@ -26,7 +26,7 @@ module.exports = function(hljs) {
return {
aliases: ['sh', 'zsh'],
- lexemes: /-?[a-z\._]+/,
+ lexemes: /\b-?[a-z\._]+\b/,
keywords: {
keyword:
'if then else elif fi for while in do done case esac function',
diff --git a/node_modules/highlight.js/lib/languages/clojure.js b/node_modules/highlight.js/lib/languages/clojure.js
index 4c9d6e929..27a46dbee 100644
--- a/node_modules/highlight.js/lib/languages/clojure.js
+++ b/node_modules/highlight.js/lib/languages/clojure.js
@@ -85,6 +85,7 @@ module.exports = function(hljs) {
LIST.contains = [hljs.COMMENT('comment', ''), NAME, BODY];
BODY.contains = DEFAULT_CONTAINS;
COLLECTION.contains = DEFAULT_CONTAINS;
+ HINT_COL.contains = [COLLECTION];
return {
aliases: ['clj'],
diff --git a/node_modules/highlight.js/lib/languages/crystal.js b/node_modules/highlight.js/lib/languages/crystal.js
index 28a2797ed..95209b946 100644
--- a/node_modules/highlight.js/lib/languages/crystal.js
+++ b/node_modules/highlight.js/lib/languages/crystal.js
@@ -6,10 +6,10 @@ module.exports = function(hljs) {
var CRYSTAL_METHOD_RE = '[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\][=?]?';
var CRYSTAL_KEYWORDS = {
keyword:
- 'abstract alias as asm begin break case class def do else elsif end ensure enum extend for fun if ifdef ' +
- 'include instance_sizeof is_a? lib macro module next of out pointerof private protected rescue responds_to? ' +
- 'return require self sizeof struct super then type typeof union unless until when while with yield ' +
- '__DIR__ __FILE__ __LINE__',
+ 'abstract alias as as? asm begin break case class def do else elsif end ensure enum extend for fun if ' +
+ 'include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? ' +
+ 'return require select self sizeof struct super then type typeof union uninitialized unless until when while with yield ' +
+ '__DIR__ __END_LINE__ __FILE__ __LINE__',
literal: 'false nil true'
};
var SUBST = {
@@ -47,6 +47,22 @@ module.exports = function(hljs) {
{begin: '%w?%', end: '%'},
{begin: '%w?-', end: '-'},
{begin: '%w?\\|', end: '\\|'},
+ {begin: /<<-\w+$/, end: /^\s*\w+$/},
+ ],
+ relevance: 0,
+ };
+ var Q_STRING = {
+ className: 'string',
+ variants: [
+ {begin: '%q\\(', end: '\\)', contains: recursiveParen('\\(', '\\)')},
+ {begin: '%q\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')},
+ {begin: '%q{', end: '}', contains: recursiveParen('{', '}')},
+ {begin: '%q<', end: '>', contains: recursiveParen('<', '>')},
+ {begin: '%q/', end: '/'},
+ {begin: '%q%', end: '%'},
+ {begin: '%q-', end: '-'},
+ {begin: '%q\\|', end: '\\|'},
+ {begin: /<<-'\w+'$/, end: /^\s*\w+$/},
],
relevance: 0,
};
@@ -97,6 +113,7 @@ module.exports = function(hljs) {
var CRYSTAL_DEFAULT_CONTAINS = [
EXPANSION,
STRING,
+ Q_STRING,
REGEXP,
REGEXP2,
ATTRIBUTE,
diff --git a/node_modules/highlight.js/lib/languages/cs.js b/node_modules/highlight.js/lib/languages/cs.js
index f68039222..b92473c31 100644
--- a/node_modules/highlight.js/lib/languages/cs.js
+++ b/node_modules/highlight.js/lib/languages/cs.js
@@ -3,12 +3,11 @@ module.exports = function(hljs) {
keyword:
// Normal keywords.
'abstract as base bool break byte case catch char checked const continue decimal ' +
- 'default delegate do double else enum event explicit extern finally fixed float ' +
- 'for foreach goto if implicit in int interface internal is lock long ' +
+ 'default delegate do double enum event explicit extern finally fixed float ' +
+ 'for foreach goto if implicit in int interface internal is lock long nameof ' +
'object operator out override params private protected public readonly ref sbyte ' +
'sealed short sizeof stackalloc static string struct switch this try typeof ' +
'uint ulong unchecked unsafe ushort using virtual void volatile while ' +
- 'nameof ' +
// Contextual keywords.
'add alias ascending async await by descending dynamic equals from get global group into join ' +
'let on orderby partial remove select set value var where yield',
@@ -72,6 +71,7 @@ module.exports = function(hljs) {
};
var TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\s*,\\s*' + hljs.IDENT_RE + ')*>)?(\\[\\])?';
+
return {
aliases: ['csharp'],
keywords: KEYWORDS,
@@ -105,7 +105,9 @@ module.exports = function(hljs) {
{
className: 'meta',
begin: '#', end: '$',
- keywords: {'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum'}
+ keywords: {
+ 'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum'
+ }
},
STRING,
hljs.C_NUMBER_MODE,
@@ -128,15 +130,23 @@ module.exports = function(hljs) {
]
},
{
+ // [Attributes("")]
+ className: 'meta',
+ begin: '^\\s*\\[', excludeBegin: true, end: '\\]', excludeEnd: true,
+ contains: [
+ {className: 'meta-string', begin: /"/, end: /"/}
+ ]
+ },
+ {
// Expression keywords prevent 'keyword Name(...)' from being
// recognized as a function definition
- beginKeywords: 'new return throw await',
+ beginKeywords: 'new return throw await else',
relevance: 0
},
{
className: 'function',
- begin: '(' + TYPE_IDENT_RE + '\\s+)+' + hljs.IDENT_RE + '\\s*\\(', returnBegin: true, end: /[{;=]/,
- excludeEnd: true,
+ begin: '(' + TYPE_IDENT_RE + '\\s+)+' + hljs.IDENT_RE + '\\s*\\(', returnBegin: true,
+ end: /[{;=]/, excludeEnd: true,
keywords: KEYWORDS,
contains: [
{
diff --git a/node_modules/highlight.js/lib/languages/gams.js b/node_modules/highlight.js/lib/languages/gams.js
index 665ec14c4..dc398927b 100644
--- a/node_modules/highlight.js/lib/languages/gams.js
+++ b/node_modules/highlight.js/lib/languages/gams.js
@@ -140,7 +140,7 @@ module.exports = function (hljs) {
contains: [
{ // Function title
className: 'title',
- begin: /^[a-z][a-z0-9_]+/,
+ begin: /^[a-z0-9_]+/,
},
PARAMS,
SYMBOLS,
diff --git a/node_modules/highlight.js/lib/languages/julia-repl.js b/node_modules/highlight.js/lib/languages/julia-repl.js
new file mode 100644
index 000000000..fded81fdd
--- /dev/null
+++ b/node_modules/highlight.js/lib/languages/julia-repl.js
@@ -0,0 +1,23 @@
+module.exports = function(hljs) {
+ return {
+ contains: [
+ {
+ className: 'meta',
+ begin: /^julia>/,
+ relevance: 10,
+ starts: {
+ // end the highlighting if we are on a new line and the line does not have at
+ // least six spaces in the beginning
+ end: /^(?![ ]{6})/,
+ subLanguage: 'julia'
+ },
+ // jldoctest Markdown blocks are used in the Julia manual and package docs indicate
+ // code snippets that should be verified when the documentation is built. They can be
+ // either REPL-like or script-like, but are usually REPL-like and therefore we apply
+ // julia-repl highlighting to them. More information can be found in Documenter's
+ // manual: https://juliadocs.github.io/Documenter.jl/latest/man/doctests.html
+ aliases: ['jldoctest']
+ }
+ ]
+ }
+}; \ No newline at end of file
diff --git a/node_modules/highlight.js/lib/languages/julia.js b/node_modules/highlight.js/lib/languages/julia.js
index ef3ef71d1..ea672980f 100644
--- a/node_modules/highlight.js/lib/languages/julia.js
+++ b/node_modules/highlight.js/lib/languages/julia.js
@@ -1,104 +1,84 @@
module.exports = function(hljs) {
// Since there are numerous special names in Julia, it is too much trouble
// to maintain them by hand. Hence these names (i.e. keywords, literals and
- // built-ins) are automatically generated from Julia (v0.3.0 and v0.4.1)
- // itself through following scripts for each.
+ // built-ins) are automatically generated from Julia v0.6 itself through
+ // the following scripts for each.
var KEYWORDS = {
- // # keyword generator
- // println("in")
+ // # keyword generator, multi-word keywords handled manually below
+ // foreach(println, ["in", "isa", "where"])
// for kw in Base.REPLCompletions.complete_keyword("")
- // println(kw)
+ // if !(contains(kw, " ") || kw == "struct")
+ // println(kw)
+ // end
// end
keyword:
- 'in abstract baremodule begin bitstype break catch ccall const continue do else elseif end export ' +
- 'finally for function global if immutable import importall let local macro module quote return try type ' +
- 'typealias using while',
+ 'in isa where ' +
+ 'baremodule begin break catch ccall const continue do else elseif end export false finally for function ' +
+ 'global if import importall let local macro module quote return true try using while ' +
+ // legacy, to be deprecated in the next release
+ 'type immutable abstract bitstype typealias ',
// # literal generator
// println("true")
// println("false")
// for name in Base.REPLCompletions.completions("", 0)[1]
// try
- // s = symbol(name)
- // v = eval(s)
- // if !isa(v, Function) &&
- // !isa(v, DataType) &&
- // !isa(v, IntrinsicFunction) &&
- // !issubtype(typeof(v), Tuple) &&
- // !isa(v, Union) &&
- // !isa(v, Module) &&
- // !isa(v, TypeConstructor) &&
- // !isa(v, TypeVar) &&
- // !isa(v, Colon)
+ // v = eval(Symbol(name))
+ // if !(v isa Function || v isa Type || v isa TypeVar || v isa Module || v isa Colon)
// println(name)
// end
// end
// end
literal:
- // v0.3
- 'true false ARGS CPU_CORES C_NULL DL_LOAD_PATH DevNull ENDIAN_BOM ENV I|0 Inf Inf16 Inf32 ' +
- 'InsertionSort JULIA_HOME LOAD_PATH MS_ASYNC MS_INVALIDATE MS_SYNC MergeSort NaN NaN16 NaN32 OS_NAME QuickSort ' +
- 'RTLD_DEEPBIND RTLD_FIRST RTLD_GLOBAL RTLD_LAZY RTLD_LOCAL RTLD_NODELETE RTLD_NOLOAD RTLD_NOW RoundDown ' +
- 'RoundFromZero RoundNearest RoundToZero RoundUp STDERR STDIN STDOUT VERSION WORD_SIZE catalan cglobal e|0 eu|0 ' +
- 'eulergamma golden im nothing pi γ π φ ' +
- // v0.4 (diff)
- 'Inf64 NaN64 RoundNearestTiesAway RoundNearestTiesUp ',
+ 'true false ' +
+ 'ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort ' +
+ 'NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway ' +
+ 'RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im ' +
+ 'nothing pi γ π φ ',
// # built_in generator:
// for name in Base.REPLCompletions.completions("", 0)[1]
// try
- // v = eval(symbol(name))
- // if isa(v, DataType) || isa(v, TypeConstructor) || isa(v, TypeVar)
+ // v = eval(Symbol(name))
+ // if v isa Type || v isa TypeVar
// println(name)
// end
// end
// end
built_in:
- // v0.3
- 'ANY ASCIIString AbstractArray AbstractRNG AbstractSparseArray Any ArgumentError Array Associative Base64Pipe ' +
- 'Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError Box CFILE Cchar Cdouble Cfloat Char ' +
- 'CharString Cint Clong Clonglong ClusterManager Cmd Coff_t Colon Complex Complex128 Complex32 Complex64 ' +
- 'Condition Cptrdiff_t Cshort Csize_t Cssize_t Cuchar Cuint Culong Culonglong Cushort Cwchar_t DArray DataType ' +
- 'DenseArray Diagonal Dict DimensionMismatch DirectIndexString Display DivideError DomainError EOFError ' +
- 'EachLine Enumerate ErrorException Exception Expr Factorization FileMonitor FileOffset Filter Float16 Float32 ' +
- 'Float64 FloatRange FloatingPoint Function GetfieldNode GotoNode Hermitian IO IOBuffer IOStream IPv4 IPv6 ' +
- 'InexactError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException IntrinsicFunction KeyError ' +
- 'LabelNode LambdaStaticData LineNumberNode LoadError LocalProcess MIME MathConst MemoryError MersenneTwister ' +
- 'Method MethodError MethodTable Module NTuple NewvarNode Nothing Number ObjectIdDict OrdinalRange ' +
- 'OverflowError ParseError PollingFileWatcher ProcessExitedException ProcessGroup Ptr QuoteNode Range Range1 ' +
- 'Ranges Rational RawFD Real Regex RegexMatch RemoteRef RepString RevString RopeString RoundingMode Set ' +
- 'SharedArray Signed SparseMatrixCSC StackOverflowError Stat StatStruct StepRange String SubArray SubString ' +
- 'SymTridiagonal Symbol SymbolNode Symmetric SystemError Task TextDisplay Timer TmStruct TopNode Triangular ' +
- 'Tridiagonal Type TypeConstructor TypeError TypeName TypeVar UTF16String UTF32String UTF8String UdpSocket ' +
- 'Uint Uint128 Uint16 Uint32 Uint64 Uint8 UndefRefError UndefVarError UniformScaling UnionType UnitRange ' +
- 'Unsigned Vararg VersionNumber WString WeakKeyDict WeakRef Woodbury Zip ' +
- // v0.4 (diff)
- 'AbstractChannel AbstractFloat AbstractString AssertionError Base64DecodePipe Base64EncodePipe BufferStream ' +
- 'CapturedException CartesianIndex CartesianRange Channel Cintmax_t CompositeException Cstring Cuintmax_t ' +
- 'Cwstring Date DateTime Dims Enum GenSym GlobalRef HTML InitError InvalidStateException Irrational LinSpace ' +
- 'LowerTriangular NullException Nullable OutOfMemoryError Pair PartialQuickSort Pipe RandomDevice ' +
- 'ReadOnlyMemoryError ReentrantLock Ref RemoteException SegmentationFault SerializationState SimpleVector ' +
- 'TCPSocket Text Tuple UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UnicodeError Union UpperTriangular ' +
- 'Val Void WorkerConfig AbstractMatrix AbstractSparseMatrix AbstractSparseVector AbstractVecOrMat AbstractVector ' +
- 'DenseMatrix DenseVecOrMat DenseVector Matrix SharedMatrix SharedVector StridedArray StridedMatrix ' +
- 'StridedVecOrMat StridedVector VecOrMat Vector '
+ 'ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet ' +
+ 'AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat ' +
+ 'AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal '+
+ 'BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException ' +
+ 'CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager ' +
+ 'Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ' +
+ 'ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t ' +
+ 'Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict ' +
+ 'DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ' +
+ 'ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function ' +
+ 'Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear ' +
+ 'IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException ' +
+ 'InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix ' +
+ 'MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict ' +
+ 'OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe ' +
+ 'PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ' +
+ 'ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode ' +
+ 'RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed ' +
+ 'SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange ' +
+ 'StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal ' +
+ 'Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry ' +
+ 'TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError ' +
+ 'UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector ' +
+ 'VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool '
};
// ref: http://julia.readthedocs.org/en/latest/manual/variables/#allowed-variable-names
var VARIABLE_NAME_RE = '[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*';
// placeholder for recursive self-reference
- var DEFAULT = { lexemes: VARIABLE_NAME_RE, keywords: KEYWORDS, illegal: /<\// };
-
- var TYPE_ANNOTATION = {
- className: 'type',
- begin: /::/
- };
-
- var SUBTYPE = {
- className: 'type',
- begin: /<:/
+ var DEFAULT = {
+ lexemes: VARIABLE_NAME_RE, keywords: KEYWORDS, illegal: /<\//
};
// ref: http://julia.readthedocs.org/en/latest/manual/integers-and-floating-point-numbers/
@@ -163,13 +143,17 @@ module.exports = function(hljs) {
DEFAULT.contains = [
NUMBER,
CHAR,
- TYPE_ANNOTATION,
- SUBTYPE,
STRING,
COMMAND,
MACROCALL,
COMMENT,
- hljs.HASH_COMMENT_MODE
+ hljs.HASH_COMMENT_MODE,
+ {
+ className: 'keyword',
+ begin:
+ '\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b'
+ },
+ {begin: /<:/} // relevance booster
];
INTERPOLATION.contains = DEFAULT.contains;
diff --git a/node_modules/highlight.js/lib/languages/kotlin.js b/node_modules/highlight.js/lib/languages/kotlin.js
index 246e5c9f3..573d5ae2a 100644
--- a/node_modules/highlight.js/lib/languages/kotlin.js
+++ b/node_modules/highlight.js/lib/languages/kotlin.js
@@ -31,17 +31,17 @@ module.exports = function(hljs) {
// for string templates
var SUBST = {
className: 'subst',
- variants: [
- {begin: '\\$' + hljs.UNDERSCORE_IDENT_RE},
- {begin: '\\${', end: '}', contains: [hljs.APOS_STRING_MODE, hljs.C_NUMBER_MODE]}
- ]
+ begin: '\\${', end: '}', contains: [hljs.APOS_STRING_MODE, hljs.C_NUMBER_MODE]
+ };
+ var VARIABLE = {
+ className: 'variable', begin: '\\$' + hljs.UNDERSCORE_IDENT_RE
};
var STRING = {
className: 'string',
variants: [
{
begin: '"""', end: '"""',
- contains: [SUBST]
+ contains: [VARIABLE, SUBST]
},
// Can't use built-in modes easily, as we want to use STRING in the meta
// context as 'meta-string' and there's no syntax to remove explicitly set
@@ -54,7 +54,7 @@ module.exports = function(hljs) {
{
begin: '"', end: '"',
illegal: /\n/,
- contains: [hljs.BACKSLASH_ESCAPE, SUBST]
+ contains: [hljs.BACKSLASH_ESCAPE, VARIABLE, SUBST]
}
]
};
diff --git a/node_modules/highlight.js/lib/languages/qml.js b/node_modules/highlight.js/lib/languages/qml.js
index 192333fa5..3ed4b8b50 100644
--- a/node_modules/highlight.js/lib/languages/qml.js
+++ b/node_modules/highlight.js/lib/languages/qml.js
@@ -16,7 +16,7 @@ module.exports = function(hljs) {
'module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect ' +
'Behavior bool color coordinate date double enumeration font geocircle georectangle ' +
'geoshape int list matrix4x4 parent point quaternion real rect ' +
- 'size string url var variant vector2d vector3d vector4d' +
+ 'size string url variant vector2d vector3d vector4d' +
'Promise'
};
diff --git a/node_modules/highlight.js/lib/languages/routeros.js b/node_modules/highlight.js/lib/languages/routeros.js
new file mode 100644
index 000000000..55ad00f49
--- /dev/null
+++ b/node_modules/highlight.js/lib/languages/routeros.js
@@ -0,0 +1,158 @@
+module.exports = // Colors from RouterOS terminal:
+// green - #0E9A00
+// teal - #0C9A9A
+// purple - #99069A
+// light-brown - #9A9900
+
+function(hljs) {
+
+ var STATEMENTS = 'foreach do while for if from to step else on-error and or not in';
+
+ // Global commands: Every global command should start with ":" token, otherwise it will be treated as variable.
+ var GLOBAL_COMMANDS = 'global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime';
+
+ // Common commands: Following commands available from most sub-menus:
+ var COMMON_COMMANDS = 'add remove enable disable set get print export edit find run debug error info warning';
+
+ var LITERALS = 'true false yes no nothing nil null';
+
+ var OBJECTS = 'traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firewall firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw';
+
+ // print parameters
+ // Several parameters are available for print command:
+ // ToDo: var PARAMETERS_PRINT = 'append as-value brief detail count-only file follow follow-only from interval terse value-list without-paging where info';
+ // ToDo: var OPERATORS = '&& and ! not || or in ~ ^ & << >> + - * /';
+ // ToDo: var TYPES = 'num number bool boolean str string ip ip6-prefix id time array';
+ // ToDo: The following tokens serve as delimiters in the grammar: () [] {} : ; $ /
+
+ var VAR_PREFIX = 'global local set for foreach';
+
+ var VAR = {
+ className: 'variable',
+ variants: [
+ {begin: /\$[\w\d#@][\w\d_]*/},
+ {begin: /\$\{(.*?)}/}
+ ]
+ };
+
+ var QUOTE_STRING = {
+ className: 'string',
+ begin: /"/, end: /"/,
+ contains: [
+ hljs.BACKSLASH_ESCAPE,
+ VAR,
+ {
+ className: 'variable',
+ begin: /\$\(/, end: /\)/,
+ contains: [hljs.BACKSLASH_ESCAPE]
+ }
+ ]
+ };
+
+ var APOS_STRING = {
+ className: 'string',
+ begin: /'/, end: /'/
+ };
+
+ var IPADDR = '((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b';
+ var IPADDR_wBITMASK = IPADDR+'/(3[0-2]|[1-2][0-9]|\\d)';
+ //////////////////////////////////////////////////////////////////////
+ return {
+ aliases: ['routeros', 'mikrotik'],
+ case_insensitive: true,
+ lexemes: /:?[\w-]+/,
+ keywords: {
+ literal: LITERALS,
+ keyword: STATEMENTS + ' :' + STATEMENTS.split(' ').join(' :') + ' :' + GLOBAL_COMMANDS.split(' ').join(' :'),
+ },
+ contains: [
+ { // недопустимые конструкции
+ variants: [
+ { begin: /^@/, end: /$/, }, // dns
+ { begin: /\/\*/, end: /\*\//, }, // -- comment
+ { begin: /%%/, end: /$/, }, // -- comment
+ { begin: /^'/, end: /$/, }, // Monkey one line comment
+ { begin: /^\s*\/[\w-]+=/, end: /$/, }, // jboss-cli
+ { begin: /\/\//, end: /$/, }, // Stan comment
+ { begin: /^\[\</, end: /\>\]$/, }, // F# class declaration?
+ { begin: /<\//, end: />/, }, // HTML tags
+ { begin: /^facet /, end: /\}/, }, // roboconf - лютый костыль )))
+ { begin: '^1\\.\\.(\\d+)$', end: /$/, }, // tap
+ ],
+ illegal: /./,
+ },
+ hljs.COMMENT('^#', '$'),
+ QUOTE_STRING,
+ APOS_STRING,
+ VAR,
+ { // attribute=value
+ begin: /[\w-]+\=([^\s\{\}\[\]\(\)]+)/,
+ relevance: 0,
+ returnBegin: true,
+ contains: [
+ {
+ className: 'attribute',
+ begin: /[^=]+/
+ },
+ {
+ begin: /=/,
+ endsWithParent: true,
+ relevance: 0,
+ contains: [
+ QUOTE_STRING,
+ APOS_STRING,
+ VAR,
+ {
+ className: 'literal',
+ begin: '\\b(' + LITERALS.split(' ').join('|') + ')\\b',
+ },
+ /*{
+ // IPv4 addresses and subnets
+ className: 'number',
+ variants: [
+ {begin: IPADDR_wBITMASK+'(,'+IPADDR_wBITMASK+')*'}, //192.168.0.0/24,1.2.3.0/24
+ {begin: IPADDR+'-'+IPADDR}, // 192.168.0.1-192.168.0.3
+ {begin: IPADDR+'(,'+IPADDR+')*'}, // 192.168.0.1,192.168.0.34,192.168.24.1,192.168.0.1
+ ]
+ }, // */
+ /*{
+ // MAC addresses and DHCP Client IDs
+ className: 'number',
+ begin: /\b(1:)?([0-9A-Fa-f]{1,2}[:-]){5}([0-9A-Fa-f]){1,2}\b/,
+ }, //*/
+ {
+ // Не форматировать не классифицированные значения. Необходимо для исключения подсветки значений как built_in.
+ // className: 'number',
+ begin: /("[^"]*"|[^\s\{\}\[\]]+)/,
+ }, //*/
+ ]
+ } //*/
+ ]
+ },//*/
+ {
+ // HEX values
+ className: 'number',
+ begin: /\*[0-9a-fA-F]+/,
+ }, //*/
+
+ {
+ begin: '\\b(' + COMMON_COMMANDS.split(' ').join('|') + ')([\\s\[\(]|\])',
+ returnBegin: true,
+ contains: [
+ {
+ className: 'builtin-name', //'function',
+ begin: /\w+/,
+ },
+ ],
+ },
+
+ {
+ className: 'built_in',
+ variants: [
+ {begin: '(\\.\\./|/|\\s)((' + OBJECTS.split(' ').join('|') + ');?\\s)+',relevance: 10,},
+ {begin: /\.\./,},
+ ],
+ },//*/
+ ]
+ };
+}; \ No newline at end of file
diff --git a/node_modules/highlight.js/lib/languages/rust.js b/node_modules/highlight.js/lib/languages/rust.js
index 104d74927..c4b0d1c56 100644
--- a/node_modules/highlight.js/lib/languages/rust.js
+++ b/node_modules/highlight.js/lib/languages/rust.js
@@ -44,7 +44,7 @@ module.exports = function(hljs) {
{
className: 'string',
variants: [
- { begin: /r(#*)".*?"\1(?!#)/ },
+ { begin: /r(#*)"(.|\n)*?"\1(?!#)/ },
{ begin: /b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/ }
]
},
diff --git a/node_modules/highlight.js/lib/languages/swift.js b/node_modules/highlight.js/lib/languages/swift.js
index b99624049..33a065a7d 100644
--- a/node_modules/highlight.js/lib/languages/swift.js
+++ b/node_modules/highlight.js/lib/languages/swift.js
@@ -2,9 +2,9 @@ module.exports = function(hljs) {
var SWIFT_KEYWORDS = {
keyword: '__COLUMN__ __FILE__ __FUNCTION__ __LINE__ as as! as? associativity ' +
'break case catch class continue convenience default defer deinit didSet do ' +
- 'dynamic dynamicType else enum extension fallthrough false final for func ' +
+ 'dynamic dynamicType else enum extension fallthrough false fileprivate final for func ' +
'get guard if import in indirect infix init inout internal is lazy left let ' +
- 'mutating nil none nonmutating operator optional override postfix precedence ' +
+ 'mutating nil none nonmutating open operator optional override postfix precedence ' +
'prefix private protocol Protocol public repeat required rethrows return ' +
'right self Self set static struct subscript super switch throw throws true ' +
'try try! try? Type typealias unowned var weak where while willSet',