diff options
Diffstat (limited to 'node_modules/highlight.js/lib')
-rw-r--r-- | node_modules/highlight.js/lib/index.js | 2 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/1c.js | 557 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/autohotkey.js | 23 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/bash.js | 2 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/clojure.js | 1 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/crystal.js | 25 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/cs.js | 24 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/gams.js | 2 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/julia-repl.js | 23 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/julia.js | 124 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/kotlin.js | 12 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/qml.js | 2 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/routeros.js | 158 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/rust.js | 2 | ||||
-rw-r--r-- | node_modules/highlight.js/lib/languages/swift.js | 4 |
15 files changed, 799 insertions, 162 deletions
diff --git a/node_modules/highlight.js/lib/index.js b/node_modules/highlight.js/lib/index.js index dccaef91b..e65f97e69 100644 --- a/node_modules/highlight.js/lib/index.js +++ b/node_modules/highlight.js/lib/index.js @@ -86,6 +86,7 @@ hljs.registerLanguage('javascript', require('./languages/javascript')); hljs.registerLanguage('jboss-cli', require('./languages/jboss-cli')); hljs.registerLanguage('json', require('./languages/json')); hljs.registerLanguage('julia', require('./languages/julia')); +hljs.registerLanguage('julia-repl', require('./languages/julia-repl')); hljs.registerLanguage('kotlin', require('./languages/kotlin')); hljs.registerLanguage('lasso', require('./languages/lasso')); hljs.registerLanguage('ldif', require('./languages/ldif')); @@ -135,6 +136,7 @@ hljs.registerLanguage('qml', require('./languages/qml')); hljs.registerLanguage('r', require('./languages/r')); hljs.registerLanguage('rib', require('./languages/rib')); hljs.registerLanguage('roboconf', require('./languages/roboconf')); +hljs.registerLanguage('routeros', require('./languages/routeros')); hljs.registerLanguage('rsl', require('./languages/rsl')); hljs.registerLanguage('ruleslanguage', require('./languages/ruleslanguage')); hljs.registerLanguage('rust', require('./languages/rust')); 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', |