github-linguist 7.25.0 → 7.27.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +14 -17
  3. data/ext/linguist/lex.linguist_yy.h +2 -2
  4. data/ext/linguist/tokenizer.l +0 -1
  5. data/grammars/inline.graphql.scala.json +1 -0
  6. data/grammars/markdown.curry.codeblock.json +1 -1
  7. data/grammars/markdown.d2.codeblock.json +1 -0
  8. data/grammars/markdown.talon.codeblock.json +1 -0
  9. data/grammars/source.abap.json +1 -1
  10. data/grammars/source.abl.json +1 -1
  11. data/grammars/source.acucobol.json +1 -1
  12. data/grammars/source.aidl.json +1 -1
  13. data/grammars/source.apex.json +1 -0
  14. data/grammars/source.astro.json +1 -1
  15. data/grammars/source.ballerina.json +1 -1
  16. data/grammars/source.bicep.json +1 -1
  17. data/grammars/source.brs.json +1 -1
  18. data/grammars/source.bsl.json +1 -1
  19. data/grammars/source.cds.json +1 -1
  20. data/grammars/source.clar.json +1 -1
  21. data/grammars/source.cobol.json +1 -1
  22. data/grammars/source.cs.json +1 -1
  23. data/grammars/source.d2.json +1 -0
  24. data/grammars/source.dart.json +1 -1
  25. data/grammars/source.denizenscript.json +1 -1
  26. data/grammars/source.did.json +1 -0
  27. data/grammars/source.directivesmf.json +1 -0
  28. data/grammars/source.dm.json +1 -1
  29. data/grammars/source.earthfile.json +1 -1
  30. data/grammars/source.emacs.lisp.json +1 -1
  31. data/grammars/source.fsharp.json +1 -1
  32. data/grammars/source.gfm.blade.json +1 -1
  33. data/grammars/source.gleam.json +1 -1
  34. data/grammars/source.igor.json +1 -1
  35. data/grammars/source.julia.json +1 -1
  36. data/grammars/source.kotlin.json +1 -1
  37. data/grammars/source.lolcode.json +1 -0
  38. data/grammars/source.matlab.json +1 -1
  39. data/grammars/source.mdx.json +1 -0
  40. data/grammars/source.mo.json +1 -1
  41. data/grammars/source.move.json +1 -1
  42. data/grammars/source.nasal.json +1 -0
  43. data/grammars/source.nim.json +1 -1
  44. data/grammars/source.nushell.json +1 -0
  45. data/grammars/source.pact.json +1 -0
  46. data/grammars/source.pddl.json +1 -1
  47. data/grammars/source.pic.json +1 -1
  48. data/grammars/source.pnlgrp.json +1 -1
  49. data/grammars/source.prisma.json +1 -1
  50. data/grammars/source.ql.json +1 -1
  51. data/grammars/source.raku.json +1 -1
  52. data/grammars/source.rbs.json +1 -0
  53. data/grammars/source.rescript.json +1 -1
  54. data/grammars/source.rez.json +1 -0
  55. data/grammars/source.rmcobol.json +1 -0
  56. data/grammars/source.rpgle.json +1 -1
  57. data/grammars/source.scala.json +1 -1
  58. data/grammars/source.scenic.json +1 -1
  59. data/grammars/source.smithy.json +1 -1
  60. data/grammars/source.solidity.json +1 -1
  61. data/grammars/source.soql.json +1 -0
  62. data/grammars/source.stan.json +1 -1
  63. data/grammars/source.talon.json +1 -1
  64. data/grammars/source.tlverilog.json +1 -0
  65. data/grammars/source.toc.json +1 -1
  66. data/grammars/source.ts.json +1 -1
  67. data/grammars/source.tsx.json +1 -1
  68. data/grammars/source.turtle.json +1 -1
  69. data/grammars/source.typst.json +1 -0
  70. data/grammars/source.vba.json +1 -0
  71. data/grammars/source.vyper.json +1 -1
  72. data/grammars/source.wgsl.json +1 -0
  73. data/grammars/source.wit.json +1 -0
  74. data/grammars/source.wwb.json +1 -0
  75. data/grammars/source.yul.json +1 -1
  76. data/grammars/text.adblock.json +1 -1
  77. data/grammars/text.haml.json +1 -1
  78. data/grammars/text.hash-commented.json +1 -1
  79. data/grammars/text.html.markdown.d2.json +1 -0
  80. data/grammars/text.marko.json +1 -1
  81. data/grammars/text.md.json +1 -0
  82. data/grammars/text.pseudoxml.json +1 -0
  83. data/grammars/text.tex.latex.sweave.json +1 -0
  84. data/grammars/text.xml.svg.json +1 -1
  85. data/grammars/version +1 -1
  86. data/lib/linguist/VERSION +1 -1
  87. data/lib/linguist/generated.rb +10 -0
  88. data/lib/linguist/heuristics.rb +2 -0
  89. data/lib/linguist/heuristics.yml +83 -42
  90. data/lib/linguist/languages.json +1 -1
  91. data/lib/linguist/languages.yml +203 -19
  92. data/lib/linguist/samples.json +1 -1
  93. data/lib/linguist/vendor.yml +4 -1
  94. metadata +39 -16
  95. data/grammars/source.gfm.json +0 -1
  96. data/grammars/source.nim_filter.json +0 -1
  97. data/grammars/source.nimcfg.json +0 -1
@@ -1 +1 @@
1
- {"name":"1C (BSL)","scopeName":"source.bsl","patterns":[{"include":"#basic"},{"include":"#miscellaneous"},{"begin":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Процедура|Procedure|Функция|Function)\\s+([a-zа-яё0-9_]+)\\s*(\\())","end":"(?i:(\\))\\s*((Экспорт|Export)(?=[^\\wа-яё\\.]|$))?)","patterns":[{"include":"#annotations"},{"include":"#basic"},{"name":"keyword.operator.assignment.bsl","match":"(=)"},{"name":"storage.modifier.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Знач|Val)(?=[^\\wа-яё\\.]|$))"},{"name":"invalid.illegal.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)((?\u003c==)(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"},{"name":"invalid.illegal.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)((?\u003c==\\s)\\s*(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"},{"name":"variable.parameter.bsl","match":"(?i:[a-zа-яё0-9_]+)"}],"beginCaptures":{"1":{"name":"storage.type.bsl"},"2":{"name":"entity.name.function.bsl"},"3":{"name":"punctuation.bracket.begin.bsl"}},"endCaptures":{"1":{"name":"punctuation.bracket.end.bsl"},"2":{"name":"storage.modifier.bsl"}}},{"begin":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Перем|Var)\\s+([a-zа-яё0-9_]+)\\s*)","end":"(;)","patterns":[{"name":"keyword.operator.bsl","match":"(,)"},{"name":"storage.modifier.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Экспорт|Export)(?=[^\\wа-яё\\.]|$))"},{"name":"variable.bsl","match":"(?i:[a-zа-яё0-9_]+)"}],"beginCaptures":{"1":{"name":"storage.type.var.bsl"},"2":{"name":"variable.bsl"}},"endCaptures":{"1":{"name":"keyword.operator.bsl"}}},{"name":"meta.conditional.bsl","begin":"(?i:(?\u003c=;|^)\\s*(Если|If))","end":"(?i:(Тогда|Then))","patterns":[{"include":"#basic"},{"include":"#miscellaneous"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.bsl"}},"endCaptures":{"1":{"name":"keyword.control.conditional.bsl"}}},{"name":"meta.var-single-variable.bsl","begin":"(?i:(?\u003c=;|^)\\s*([\\wа-яё]+))\\s*(=)","end":"(?=;)","patterns":[{"include":"#basic"},{"include":"#miscellaneous"}],"beginCaptures":{"1":{"name":"variable.assignment.bsl"},"2":{"name":"keyword.operator.assignment.bsl"}}},{"name":"storage.type.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(КонецПроцедуры|EndProcedure|КонецФункции|EndFunction)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.control.import.bsl","match":"(?i)#(Использовать|Use)(?=[^\\wа-яё\\.]|$)"},{"name":"keyword.control.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Прервать|Break|Продолжить|Continue|Возврат|Return)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.control.conditional.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Если|If|Иначе|Else|ИначеЕсли|ElsIf|Тогда|Then|КонецЕсли|EndIf)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.control.exception.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Попытка|Try|Исключение|Except|КонецПопытки|EndTry|ВызватьИсключение|Raise)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.control.repeat.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Пока|While|(Для|For)(\\s+(Каждого|Each))?|Из|In|По|To|Цикл|Do|КонецЦикла|EndDo)(?=[^\\wа-яё\\.]|$))"},{"name":"storage.modifier.directive.bsl","match":"(?i:\u0026(НаКлиенте((НаСервере(БезКонтекста)?)?)|AtClient((AtServer(NoContext)?)?)|НаСервере(БезКонтекста)?|AtServer(NoContext)?))"},{"include":"#annotations"},{"name":"keyword.other.preprocessor.bsl","match":"(?i:#(Если|If|ИначеЕсли|ElsIf|Иначе|Else|КонецЕсли|EndIf).*(Тогда|Then)?)"},{"begin":"(?i)(#(Область|Region))(\\s+([\\wа-яё]+))?","end":"$","beginCaptures":{"1":{"name":"keyword.other.section.bsl"},"4":{"name":"entity.name.section.bsl"}}},{"name":"keyword.other.section.bsl","match":"(?i)#(КонецОбласти|EndRegion)"}],"repository":{"annotations":{"patterns":[{"begin":"(?i)(\u0026([a-zа-яё0-9_]+))\\s*(\\()","end":"(\\))","patterns":[{"include":"#basic"},{"name":"keyword.operator.assignment.bsl","match":"(=)"},{"name":"invalid.illegal.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)((?\u003c==)(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"},{"name":"invalid.illegal.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)((?\u003c==\\s)\\s*(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"},{"name":"variable.annotation.bsl","match":"(?i)[a-zа-яё0-9_]+"}],"beginCaptures":{"1":{"name":"storage.type.annotation.bsl"},"3":{"name":"punctuation.bracket.begin.bsl"}},"endCaptures":{"1":{"name":"punctuation.bracket.end.bsl"}}},{"name":"storage.type.annotation.bsl","match":"(?i)(\u0026([a-zа-яё0-9_]+))"}]},"basic":{"patterns":[{"name":"comment.line.double-slash.bsl","begin":"//","end":"$"},{"name":"string.quoted.double.bsl","begin":"\\\"","end":"\\\"(?![\\\"])","patterns":[{"include":"#query"},{"name":"constant.character.escape.bsl","match":"\\\"\\\""},{"name":"comment.line.double-slash.bsl","match":"(^\\s*//.*$)"}]},{"name":"constant.language.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\\wа-яё\\.]|$))"},{"name":"constant.numeric.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)(\\d+\\.?\\d*)(?=[^\\wа-яё\\.]|$)"},{"name":"constant.other.date.bsl","match":"\\'((\\d{4}[^\\d\\']*\\d{2}[^\\d\\']*\\d{2})([^\\d\\']*\\d{2}[^\\d\\']*\\d{2}([^\\d\\']*\\d{2})?)?)\\'"},{"name":"keyword.operator.bsl","match":"(,)"},{"name":"punctuation.bracket.begin.bsl","match":"(\\()"},{"name":"punctuation.bracket.end.bsl","match":"(\\))"}]},"miscellaneous":{"patterns":[{"name":"keyword.operator.logical.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.operator.comparison.bsl","match":"\u003c=|\u003e=|=|\u003c|\u003e"},{"name":"keyword.operator.arithmetic.bsl","match":"(\\+|-|\\*|/|%)"},{"name":"keyword.operator.bsl","match":"(;|\\?)"},{"name":"support.function.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Новый|New)(?=[^\\wа-яё\\.]|$))"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nСтрДлина|StrLen|\nСокрЛ|TrimL|\nСокрП|TrimR|\nСокрЛП|TrimAll|\nЛев|Left|\nПрав|Right|\nСред|Mid|\nСтрНайти|StrFind|\nВРег|Upper|\nНРег|Lower|\nТРег|Title|\nСимвол|Char|\nКодСимвола|CharCode|\nПустаяСтрока|IsBlankString|\nСтрЗаменить|StrReplace|\nСтрЧислоСтрок|StrLineCount|\nСтрПолучитьСтроку|StrGetLine|\nСтрЧислоВхождений|StrOccurrenceCount|\nСтрСравнить|StrCompare|\nСтрНачинаетсяС|StrStartWith|\nСтрЗаканчиваетсяНа|StrEndsWith|\nСтрРазделить|StrSplit|\nСтрСоединить|StrConcat\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЦел|Int|\nОкр|Round|\nACos|\nASin|\nATan|\nCos|\nExp|\nLog|\nLog10|\nPow|\nSin|\nSqrt|\nTan\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nГод|Year|\nМесяц|Month|\nДень|Day|\nЧас|Hour|\nМинута|Minute|\nСекунда|Second|\nНачалоГода|BegOfYear|\nНачалоДня|BegOfDay|\nНачалоКвартала|BegOfQuarter|\nНачалоМесяца|BegOfMonth|\nНачалоМинуты|BegOfMinute|\nНачалоНедели|BegOfWeek|\nНачалоЧаса|BegOfHour|\nКонецГода|EndOfYear|\nКонецДня|EndOfDay|\nКонецКвартала|EndOfQuarter|\nКонецМесяца|EndOfMonth|\nКонецМинуты|EndOfMinute|\nКонецНедели|EndOfWeek|\nКонецЧаса|EndOfHour|\nНеделяГода|WeekOfYear|\nДеньГода|DayOfYear|\nДеньНедели|WeekDay|\nТекущаяДата|CurrentDate|\nДобавитьМесяц|AddMonth\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Тип|Type|ТипЗнч|TypeOf)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Булево|Boolean|Число|Number|Строка|String|Дата|Date)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПоказатьВопрос|ShowQueryBox|\nВопрос|DoQueryBox|\nПоказатьПредупреждение|ShowMessageBox|\nПредупреждение|DoMessageBox|\nСообщить|Message|\nОчиститьСообщения|ClearMessages|\nОповеститьОбИзменении|NotifyChanged|\nСостояние|Status|\nСигнал|Beep|\nПоказатьЗначение|ShowValue|\nОткрытьЗначение|OpenValue|\nОповестить|Notify|\nОбработкаПрерыванияПользователя|UserInterruptProcessing|\nОткрытьСодержаниеСправки|OpenHelpContent|\nОткрытьИндексСправки|OpenHelpIndex|\nОткрытьСправку|OpenHelp|\nПоказатьИнформациюОбОшибке|ShowErrorInfo|\nКраткоеПредставлениеОшибки|BriefErrorDescription|\nПодробноеПредставлениеОшибки|DetailErrorDescription|\nПолучитьФорму|GetForm|\nЗакрытьСправку|CloseHelp|\nПоказатьОповещениеПользователя|ShowUserNotification|\nОткрытьФорму|OpenForm|\nОткрытьФормуМодально|OpenFormModal|\nАктивноеОкно|ActiveWindow|\nВыполнитьОбработкуОповещения|ExecuteNotifyProcessing\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПоказатьВводЗначения|ShowInputValue|\nВвестиЗначение|InputValue|\nПоказатьВводЧисла|ShowInputNumber|\nВвестиЧисло|InputNumber|\nПоказатьВводСтроки|ShowInputString|\nВвестиСтроку|InputString|\nПоказатьВводДаты|ShowInputDate|\nВвестиДату|InputDate\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nФормат|Format|\nЧислоПрописью|NumberInWords|\nНСтр|NStr|\nПредставлениеПериода|PeriodPresentation|\nСтрШаблон|StrTemplate\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПолучитьОбщийМакет|GetCommonTemplate|\nПолучитьОбщуюФорму|GetCommonForm|\nПредопределенноеЗначение|PredefinedValue|\nПолучитьПолноеИмяПредопределенногоЗначения|GetPredefinedValueFullName\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПолучитьЗаголовокСистемы|GetCaption|\nПолучитьСкоростьКлиентскогоСоединения|GetClientConnectionSpeed|\nПодключитьОбработчикОжидания|AttachIdleHandler|\nУстановитьЗаголовокСистемы|SetCaption|\nОтключитьОбработчикОжидания|DetachIdleHandler|\nИмяКомпьютера|ComputerName|\nЗавершитьРаботуСистемы|Exit|\nИмяПользователя|UserName|\nПрекратитьРаботуСистемы|Terminate|\nПолноеИмяПользователя|UserFullName|\nЗаблокироватьРаботуПользователя|LockApplication|\nКаталогПрограммы|BinDir|\nКаталогВременныхФайлов|TempFilesDir|\nПравоДоступа|AccessRight|\nРольДоступна|IsInRole|\nТекущийЯзык|CurrentLanguage|\nТекущийКодЛокализации|CurrentLocaleCode|\nСтрокаСоединенияИнформационнойБазы|InfoBaseConnectionString|\nПодключитьОбработчикОповещения|AttachNotificationHandler|\nОтключитьОбработчикОповещения|DetachNotificationHandler|\nПолучитьСообщенияПользователю|GetUserMessages|\nПараметрыДоступа|AccessParameters|\nПредставлениеПриложения|ApplicationPresentation|\nТекущийЯзыкСистемы|CurrentSystemLanguage|\nЗапуститьСистему|RunSystem|\nТекущийРежимЗапуска|CurrentRunMode|\nУстановитьЧасовойПоясСеанса|SetSessionTimeZone|\nЧасовойПоясСеанса|SessionTimeZone|\nТекущаяДатаСеанса|CurrentSessionDate|\nУстановитьКраткийЗаголовокПриложения|SetShortApplicationCaption|\nПолучитьКраткийЗаголовокПриложения|GetShortApplicationCaption|\nПредставлениеПрава|RightPresentation|\nВыполнитьПроверкуПравДоступа|VerifyAccessRights|\nРабочийКаталогДанныхПользователя|UserDataWorkDir|\nКаталогДокументов|DocumentsDir|\nПолучитьИнформациюЭкрановКлиента|GetClientDisplaysInformation|\nТекущийВариантОсновногоШрифтаКлиентскогоПриложения|ClientApplicationBaseFontCurrentVariant|\nТекущийВариантИнтерфейсаКлиентскогоПриложения|ClientApplicationInterfaceCurrentVariant|\nУстановитьЗаголовокКлиентскогоПриложения|SetClientApplicationCaption|\nПолучитьЗаголовокКлиентскогоПриложения|GetClientApplicationCaption|\nНачатьПолучениеКаталогаВременныхФайлов|BeginGettingTempFilesDir|\nНачатьПолучениеКаталогаДокументов|BeginGettingDocumentsDir|\nНачатьПолучениеРабочегоКаталогаДанныхПользователя|BeginGettingUserDataWorkDir|\nПодключитьОбработчикЗапросаНастроекКлиентаЛицензирования|AttachLicensingClientParametersRequestHandler|\nОтключитьОбработчикЗапросаНастроекКлиентаЛицензирования|DetachLicensingClientParametersRequestHandler|\nКаталогБиблиотекиМобильногоУстройства|MobileDeviceLibraryDir\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЗначениеВСтрокуВнутр|ValueToStringInternal|\nЗначениеИзСтрокиВнутр|ValueFromStringInternal|\nЗначениеВФайл|ValueToFile|\nЗначениеИзФайла|ValueFromFile\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nКомандаСистемы|System|\nЗапуститьПриложение|RunApp|\nПолучитьCOMОбъект|GetCOMObject|\nПользователиОС|OSUsers|\nНачатьЗапускПриложения|BeginRunningApplication\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПодключитьВнешнююКомпоненту|AttachAddIn|\nНачатьУстановкуВнешнейКомпоненты|BeginInstallAddIn|\nУстановитьВнешнююКомпоненту|InstallAddIn|\nНачатьПодключениеВнешнейКомпоненты|BeginAttachingAddIn\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nКопироватьФайл|FileCopy|\nПереместитьФайл|MoveFile|\nУдалитьФайлы|DeleteFiles|\nНайтиФайлы|FindFiles|\nСоздатьКаталог|CreateDirectory|\nПолучитьИмяВременногоФайла|GetTempFileName|\nРазделитьФайл|SplitFile|\nОбъединитьФайлы|MergeFiles|\nПолучитьФайл|GetFile|\nНачатьПомещениеФайла|BeginPutFile|\nПоместитьФайл|PutFile|\nЭтоАдресВременногоХранилища|IsTempStorageURL|\nУдалитьИзВременногоХранилища|DeleteFromTempStorage|\nПолучитьИзВременногоХранилища|GetFromTempStorage|\nПоместитьВоВременноеХранилище|PutToTempStorage|\nПодключитьРасширениеРаботыСФайлами|AttachFileSystemExtension|\nНачатьУстановкуРасширенияРаботыСФайлами|BeginInstallFileSystemExtension|\nУстановитьРасширениеРаботыСФайлами|InstallFileSystemExtension|\nПолучитьФайлы|GetFiles|\nПоместитьФайлы|PutFiles|\nЗапроситьРазрешениеПользователя|RequestUserPermission|\nПолучитьМаскуВсеФайлы|GetAllFilesMask|\nПолучитьМаскуВсеФайлыКлиента|GetClientAllFilesMask|\nПолучитьМаскуВсеФайлыСервера|GetServerAllFilesMask|\nПолучитьРазделительПути|GetPathSeparator|\nПолучитьРазделительПутиКлиента|GetClientPathSeparator|\nПолучитьРазделительПутиСервера|GetServerPathSeparator|\nНачатьПодключениеРасширенияРаботыСФайлами|BeginAttachingFileSystemExtension|\nНачатьЗапросРазрешенияПользователя|BeginRequestingUserPermission|\nНачатьПоискФайлов|BeginFindingFiles|\nНачатьСозданиеКаталога|BeginCreatingDirectory|\nНачатьКопированиеФайла|BeginCopyingFile|\nНачатьПеремещениеФайла|BeginMovingFile|\nНачатьУдалениеФайлов|BeginDeletingFiles|\nНачатьПолучениеФайлов|BeginGettingFiles|\nНачатьПомещениеФайлов|BeginPuttingFiles|\nНачатьСозданиеДвоичныхДанныхИзФайла|BeginCreateBinaryDataFromFile\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nНачатьТранзакцию|BeginTransaction|\nЗафиксироватьТранзакцию|CommitTransaction|\nОтменитьТранзакцию|RollbackTransaction|\nУстановитьМонопольныйРежим|SetExclusiveMode|\nМонопольныйРежим|ExclusiveMode|\nПолучитьОперативнуюОтметкуВремени|GetRealTimeTimestamp|\nПолучитьСоединенияИнформационнойБазы|GetInfoBaseConnections|\nНомерСоединенияИнформационнойБазы|InfoBaseConnectionNumber|\nКонфигурацияИзменена|ConfigurationChanged|\nКонфигурацияБазыДанныхИзмененаДинамически|DataBaseConfigurationChangedDynamically|\nУстановитьВремяОжиданияБлокировкиДанных|SetLockWaitTime|\nОбновитьНумерациюОбъектов|RefreshObjectsNumbering|\nПолучитьВремяОжиданияБлокировкиДанных|GetLockWaitTime|\nКодЛокализацииИнформационнойБазы|InfoBaseLocaleCode|\nУстановитьМинимальнуюДлинуПаролейПользователей|SetUserPasswordMinLength|\nПолучитьМинимальнуюДлинуПаролейПользователей|GetUserPasswordMinLength|\nИнициализироватьПредопределенныеДанные|InitializePredefinedData|\nУдалитьДанныеИнформационнойБазы|EraseInfoBaseData|\nУстановитьПроверкуСложностиПаролейПользователей|SetUserPasswordStrengthCheck|\nПолучитьПроверкуСложностиПаролейПользователей|GetUserPasswordStrengthCheck|\nПолучитьСтруктуруХраненияБазыДанных|GetDBStorageStructureInfo|\nУстановитьПривилегированныйРежим|SetPrivilegedMode|\nПривилегированныйРежим|PrivilegedMode|\nТранзакцияАктивна|TransactionActive|\nНеобходимостьЗавершенияСоединения|ConnectionStopRequest|\nНомерСеансаИнформационнойБазы|InfoBaseSessionNumber|\nПолучитьСеансыИнформационнойБазы|GetInfoBaseSessions|\nЗаблокироватьДанныеДляРедактирования|LockDataForEdit|\nУстановитьСоединениеСВнешнимИсточникомДанных|ConnectExternalDataSource|\nРазблокироватьДанныеДляРедактирования|UnlockDataForEdit|\nРазорватьСоединениеСВнешнимИсточникомДанных|DisconnectExternalDataSource|\nПолучитьБлокировкуСеансов|GetSessionsLock|\nУстановитьБлокировкуСеансов|SetSessionsLock|\nОбновитьПовторноИспользуемыеЗначения|RefreshReusableValues|\nУстановитьБезопасныйРежим|SetSafeMode|\nБезопасныйРежим|SafeMode|\nПолучитьДанныеВыбора|GetChoiceData|\nУстановитьЧасовойПоясИнформационнойБазы|SetInfoBaseTimeZone|\nПолучитьЧасовойПоясИнформационнойБазы|GetInfoBaseTimeZone|\nПолучитьОбновлениеКонфигурацииБазыДанных|GetDataBaseConfigurationUpdate|\nУстановитьБезопасныйРежимРазделенияДанных|SetDataSeparationSafeMode|\nБезопасныйРежимРазделенияДанных|DataSeparationSafeMode|\nУстановитьВремяЗасыпанияПассивногоСеанса|SetPassiveSessionHibernateTime|\nПолучитьВремяЗасыпанияПассивногоСеанса|GetPassiveSessionHibernateTime|\nУстановитьВремяЗавершенияСпящегоСеанса|SetHibernateSessionTerminateTime|\nПолучитьВремяЗавершенияСпящегоСеанса|GetHibernateSessionTerminateTime|\nПолучитьТекущийСеансИнформационнойБазы|GetCurrentInfoBaseSession|\nПолучитьИдентификаторКонфигурации|GetConfigurationID|\nУстановитьНастройкиКлиентаЛицензирования|SetLicensingClientParameters|\nПолучитьИмяКлиентаЛицензирования|GetLicensingClientName|\nПолучитьДополнительныйПараметрКлиентаЛицензирования|GetLicensingClientAdditionalParameter|\nПолучитьОтключениеБезопасногоРежима|GetSafeModeDisabled|\nУстановитьОтключениеБезопасногоРежима|SetSafeModeDisabled\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nНайтиПомеченныеНаУдаление|FindMarkedForDeletion|\nНайтиПоСсылкам|FindByRef|\nУдалитьОбъекты|DeleteObjects|\nУстановитьОбновлениеПредопределенныхДанныхИнформационнойБазы|SetInfoBasePredefinedDataUpdate|\nПолучитьОбновлениеПредопределенныхДанныхИнформационнойБазы|GetInfoBasePredefinedData\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nXMLСтрока|XMLString|\nXMLЗначение|XMLValue|\nXMLТип|XMLType|\nXMLТипЗнч|XMLTypeOf|\nИзXMLТипа|FromXMLType|\nВозможностьЧтенияXML|CanReadXML|\nПолучитьXMLТип|GetXMLType|\nПрочитатьXML|ReadXML|\nЗаписатьXML|WriteXML|\nНайтиНедопустимыеСимволыXML|FindDisallowedXMLCharacters|\nИмпортМоделиXDTO|ImportXDTOModel|\nСоздатьФабрикуXDTO|CreateXDTOFactory\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЗаписатьJSON|WriteJSON|\nПрочитатьJSON|ReadJSON|\nПрочитатьДатуJSON|ReadJSONDate|\nЗаписатьДатуJSON|WriteJSONDate\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЗаписьЖурналаРегистрации|WriteLogEvent|\nПолучитьИспользованиеЖурналаРегистрации|GetEventLogUsing|\nУстановитьИспользованиеЖурналаРегистрации|SetEventLogUsing|\nПредставлениеСобытияЖурналаРегистрации|EventLogEventPresentation|\nВыгрузитьЖурналРегистрации|UnloadEventLog|\nПолучитьЗначенияОтбораЖурналаРегистрации|GetEventLogFilterValues|\nУстановитьИспользованиеСобытияЖурналаРегистрации|SetEventLogEventUse|\nПолучитьИспользованиеСобытияЖурналаРегистрации|GetEventLogEventUse|\nСкопироватьЖурналРегистрации|CopyEventLog|\nОчиститьЖурналРегистрации|ClearEventLog\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЗначениеВДанныеФормы|ValueToFormData|\nДанныеФормыВЗначение|FormDataToValue|\nКопироватьДанныеФормы|CopyFormData|\nУстановитьСоответствиеОбъектаИФормы|SetObjectAndFormConformity|\nПолучитьСоответствиеОбъектаИФормы|GetObjectAndFormConformity\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПолучитьФункциональнуюОпцию|GetFunctionalOption|\nПолучитьФункциональнуюОпциюИнтерфейса|GetInterfaceFunctionalOption|\nУстановитьПараметрыФункциональныхОпцийИнтерфейса|SetInterfaceFunctionalOptionParameters|\nПолучитьПараметрыФункциональныхОпцийИнтерфейса|GetInterfaceFunctionalOptionParameters|\nОбновитьИнтерфейс|RefreshInterface\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nУстановитьРасширениеРаботыСКриптографией|InstallCryptoExtension|\nНачатьУстановкуРасширенияРаботыСКриптографией|BeginInstallCryptoExtension|\nПодключитьРасширениеРаботыСКриптографией|AttachCryptoExtension|\nНачатьПодключениеРасширенияРаботыСКриптографией|BeginAttachingCryptoExtension\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nУстановитьСоставСтандартногоИнтерфейсаOData|SetStandardODataInterfaceContent|\nПолучитьСоставСтандартногоИнтерфейсаOData|GetStandardODataInterfaceContent\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(СоединитьБуферыДвоичныхДанных|ConcatBinaryDataBuffers)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nМин|Min|\nМакс|Max|\nОписаниеОшибки|ErrorDescription|\nВычислить|Eval|\nИнформацияОбОшибке|ErrorInfo|\nBase64Значение|Base64Value|\nBase64Строка|Base64String|\nЗаполнитьЗначенияСвойств|FillPropertyValues|\nЗначениеЗаполнено|ValueIsFilled|\nПолучитьПредставленияНавигационныхСсылок|GetURLsPresentations|\nНайтиОкноПоНавигационнойСсылке|FindWindowByURL|\nПолучитьОкна|GetWindows|\nПерейтиПоНавигационнойСсылке|GotoURL|\nПолучитьНавигационнуюСсылку|GetURL|\nПолучитьДопустимыеКодыЛокализации|GetAvailableLocaleCodes|\nПолучитьНавигационнуюСсылкуИнформационнойБазы|GetInfoBaseURL|\nПредставлениеКодаЛокализации|LocaleCodePresentation|\nПолучитьДопустимыеЧасовыеПояса|GetAvailableTimeZones|\nПредставлениеЧасовогоПояса|TimeZonePresentation|\nТекущаяУниверсальнаяДата|CurrentUniversalDate|\nТекущаяУниверсальнаяДатаВМиллисекундах|CurrentUniversalDateInMilliseconds|\nМестноеВремя|ToLocalTime|\nУниверсальноеВремя|ToUniversalTime|\nЧасовойПояс|TimeZone|\nСмещениеЛетнегоВремени|DaylightTimeOffset|\nСмещениеСтандартногоВремени|StandardTimeOffset|\nКодироватьСтроку|EncodeString|\nРаскодироватьСтроку|DecodeString|\nНайти|Find|\nПродолжитьВызов|ProceedWithCall\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПередНачаломРаботыСистемы|BeforeStart|\nПриНачалеРаботыСистемы|OnStart|\nПередЗавершениемРаботыСистемы|BeforeExit|\nПриЗавершенииРаботыСистемы|OnExit|\nОбработкаВнешнегоСобытия|ExternEventProcessing|\nУстановкаПараметровСеанса|SessionParametersSetting|\nПриИзмененииПараметровЭкрана|OnChangeDisplaySettings\n)\\s*(?=\\())"},{"name":"support.class.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nWSСсылки|WSReferences|\nБиблиотекаКартинок|PictureLib|\nБиблиотекаМакетовОформленияКомпоновкиДанных|DataCompositionAppearanceTemplateLib|\nБиблиотекаСтилей|StyleLib|\nБизнесПроцессы|BusinessProcesses|\nВнешниеИсточникиДанных|ExternalDataSources|\nВнешниеОбработки|ExternalDataProcessors|\nВнешниеОтчеты|ExternalReports|\nДокументы|Documents|\nДоставляемыеУведомления|DeliverableNotifications|\nЖурналыДокументов|DocumentJournals|\nЗадачи|Tasks|\nИнформацияОбИнтернетСоединении|InternetConnectionInformation|\nИспользованиеРабочейДаты|WorkingDateUse|\nИсторияРаботыПользователя|UserWorkHistory|\nКонстанты|Constants|\nКритерииОтбора|FilterCriteria|\nМетаданные|Metadata|\nОбработки|DataProcessors|\nОтправкаДоставляемыхУведомлений|DeliverableNotificationSend|\nОтчеты|Reports|\nПараметрыСеанса|SessionParameters|\nПеречисления|Enums|\nПланыВидовРасчета|ChartsOfCalculationTypes|\nПланыВидовХарактеристик|ChartsOfCharacteristicTypes|\nПланыОбмена|ExchangePlans|\nПланыСчетов|ChartsOfAccounts|\nПолнотекстовыйПоиск|FullTextSearch|\nПользователиИнформационнойБазы|InfoBaseUsers|\nПоследовательности|Sequences|\nРасширенияКонфигурации|ConfigurationExtensions|\nРегистрыБухгалтерии|AccountingRegisters|\nРегистрыНакопления|AccumulationRegisters|\nРегистрыРасчета|CalculationRegisters|\nРегистрыСведений|InformationRegisters|\nРегламентныеЗадания|ScheduledJobs|\nСериализаторXDTO|XDTOSerializer|\nСправочники|Catalogs|\nСредстваГеопозиционирования|LocationTools|\nСредстваКриптографии|CryptoToolsManager|\nСредстваМультимедиа|MultimediaTools|\nСредстваОтображенияРекламы|AdvertisingPresentationTools|\nСредстваПочты|MailTools|\nСредстваТелефонии|TelephonyTools|\nФабрикаXDTO|XDTOFactory|\nФайловыеПотоки|FileStreams|\nФоновыеЗадания|BackgroundJobs|\nХранилищаНастроек|SettingsStorages|\nВстроенныеПокупки|InAppPurchases|\nОтображениеРекламы|AdRepresentation|\nПанельЗадачОС|OSTaskbar|\nПроверкаВстроенныхПокупок|InAppPurchasesValidation\n)(?=[^\\wа-яё]|$))"},{"name":"support.variable.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nГлавныйИнтерфейс|MainInterface|\nГлавныйСтиль|MainStyle|\nПараметрЗапуска|LaunchParameter|\nРабочаяДата|WorkingDate|\nХранилищеВариантовОтчетов|ReportsVariantsStorage|\nХранилищеНастроекДанныхФорм|FormDataSettingsStorage|\nХранилищеОбщихНастроек|CommonSettingsStorage|\nХранилищеПользовательскихНастроекДинамическихСписков|DynamicListsUserSettingsStorage|\nХранилищеПользовательскихНастроекОтчетов|ReportsUserSettingsStorage|\nХранилищеСистемныхНастроек|SystemSettingsStorage\n)(?=[^\\wа-яё]|$))"}]},"query":{"begin":"(?i)(?\u003c=[^\\wа-яё\\.]|^)(Выбрать|Select(\\s+Разрешенные|\\s+Allowed)?(\\s+Различные|\\s+Distinct)?(\\s+Первые|\\s+Top)?)(?=[^\\wа-яё\\.]|$)","end":"(?=\\\"[^\\\"])","patterns":[{"name":"comment.line.double-slash.bsl","begin":"^\\s*//","end":"$"},{"name":"comment.line.double-slash.sdbl","match":"(//((\\\"\\\")|[^\\\"])*)"},{"name":"string.quoted.double.sdbl","match":"\\\"\\\"[^\"]*\\\"\\\""},{"include":"source.sdbl"}],"beginCaptures":{"1":{"name":"keyword.control.sdbl"}}}}}
1
+ {"name":"1C (BSL)","scopeName":"source.bsl","patterns":[{"include":"#basic"},{"include":"#miscellaneous"},{"begin":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Процедура|Procedure|Функция|Function)\\s+([a-zа-яё0-9_]+)\\s*(\\())","end":"(?i:(\\))\\s*((Экспорт|Export)(?=[^\\wа-яё\\.]|$))?)","patterns":[{"include":"#annotations"},{"include":"#basic"},{"name":"keyword.operator.assignment.bsl","match":"(=)"},{"name":"storage.modifier.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Знач|Val)(?=[^\\wа-яё\\.]|$))"},{"name":"invalid.illegal.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)((?\u003c==)(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"},{"name":"invalid.illegal.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)((?\u003c==\\s)\\s*(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"},{"name":"variable.parameter.bsl","match":"(?i:[a-zа-яё0-9_]+)"}],"beginCaptures":{"1":{"name":"storage.type.bsl"},"2":{"name":"entity.name.function.bsl"},"3":{"name":"punctuation.bracket.begin.bsl"}},"endCaptures":{"1":{"name":"punctuation.bracket.end.bsl"},"2":{"name":"storage.modifier.bsl"}}},{"begin":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Перем|Var)\\s+([a-zа-яё0-9_]+)\\s*)","end":"(;)","patterns":[{"name":"keyword.operator.bsl","match":"(,)"},{"name":"storage.modifier.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Экспорт|Export)(?=[^\\wа-яё\\.]|$))"},{"name":"variable.bsl","match":"(?i:[a-zа-яё0-9_]+)"}],"beginCaptures":{"1":{"name":"storage.type.var.bsl"},"2":{"name":"variable.bsl"}},"endCaptures":{"1":{"name":"keyword.operator.bsl"}}},{"name":"meta.conditional.bsl","begin":"(?i:(?\u003c=;|^)\\s*(Если|If))","end":"(?i:(Тогда|Then))","patterns":[{"include":"#basic"},{"include":"#miscellaneous"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.bsl"}},"endCaptures":{"1":{"name":"keyword.control.conditional.bsl"}}},{"name":"meta.var-single-variable.bsl","begin":"(?i:(?\u003c=;|^)\\s*([\\wа-яё]+))\\s*(=)","end":"(?i:(?=(;|Иначе|Конец|Els|End)))","patterns":[{"include":"#basic"},{"include":"#miscellaneous"}],"beginCaptures":{"1":{"name":"variable.assignment.bsl"},"2":{"name":"keyword.operator.assignment.bsl"}}},{"name":"storage.type.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(КонецПроцедуры|EndProcedure|КонецФункции|EndFunction)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.control.import.bsl","match":"(?i)#(Использовать|Use)(?=[^\\wа-яё\\.]|$)"},{"name":"keyword.control.native.bsl","match":"(?i)#native"},{"name":"keyword.control.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Прервать|Break|Продолжить|Continue|Возврат|Return)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.control.conditional.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Если|If|Иначе|Else|ИначеЕсли|ElsIf|Тогда|Then|КонецЕсли|EndIf)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.control.exception.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Попытка|Try|Исключение|Except|КонецПопытки|EndTry|ВызватьИсключение|Raise)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.control.repeat.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Пока|While|(Для|For)(\\s+(Каждого|Each))?|Из|In|По|To|Цикл|Do|КонецЦикла|EndDo)(?=[^\\wа-яё\\.]|$))"},{"name":"storage.modifier.directive.bsl","match":"(?i:\u0026(НаКлиенте((НаСервере(БезКонтекста)?)?)|AtClient((AtServer(NoContext)?)?)|НаСервере(БезКонтекста)?|AtServer(NoContext)?))"},{"include":"#annotations"},{"name":"keyword.other.preprocessor.bsl","match":"(?i:#(Если|If|ИначеЕсли|ElsIf|Иначе|Else|КонецЕсли|EndIf).*(Тогда|Then)?)"},{"begin":"(?i)(#(Область|Region))(\\s+([\\wа-яё]+))?","end":"$","beginCaptures":{"1":{"name":"keyword.other.section.bsl"},"4":{"name":"entity.name.section.bsl"}}},{"name":"keyword.other.section.bsl","match":"(?i)#(КонецОбласти|EndRegion)"}],"repository":{"annotations":{"patterns":[{"begin":"(?i)(\u0026([a-zа-яё0-9_]+))\\s*(\\()","end":"(\\))","patterns":[{"include":"#basic"},{"name":"keyword.operator.assignment.bsl","match":"(=)"},{"name":"invalid.illegal.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)((?\u003c==)(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"},{"name":"invalid.illegal.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)((?\u003c==\\s)\\s*(?i)[a-zа-яё0-9_]+)(?=[^\\wа-яё\\.]|$)"},{"name":"variable.annotation.bsl","match":"(?i)[a-zа-яё0-9_]+"}],"beginCaptures":{"1":{"name":"storage.type.annotation.bsl"},"3":{"name":"punctuation.bracket.begin.bsl"}},"endCaptures":{"1":{"name":"punctuation.bracket.end.bsl"}}},{"name":"storage.type.annotation.bsl","match":"(?i)(\u0026([a-zа-яё0-9_]+))"}]},"basic":{"patterns":[{"name":"comment.line.double-slash.bsl","begin":"//","end":"$"},{"name":"string.quoted.double.bsl","begin":"\\\"","end":"\\\"(?![\\\"])","patterns":[{"include":"#query"},{"name":"constant.character.escape.bsl","match":"\\\"\\\""},{"name":"comment.line.double-slash.bsl","match":"(^\\s*//.*$)"}]},{"name":"constant.language.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\\wа-яё\\.]|$))"},{"name":"constant.numeric.bsl","match":"(?\u003c=[^\\wа-яё\\.]|^)(\\d+\\.?\\d*)(?=[^\\wа-яё\\.]|$)"},{"name":"constant.other.date.bsl","match":"\\'((\\d{4}[^\\d\\']*\\d{2}[^\\d\\']*\\d{2})([^\\d\\']*\\d{2}[^\\d\\']*\\d{2}([^\\d\\']*\\d{2})?)?)\\'"},{"name":"keyword.operator.bsl","match":"(,)"},{"name":"punctuation.bracket.begin.bsl","match":"(\\()"},{"name":"punctuation.bracket.end.bsl","match":"(\\))"}]},"miscellaneous":{"patterns":[{"name":"keyword.operator.logical.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR)(?=[^\\wа-яё\\.]|$))"},{"name":"keyword.operator.comparison.bsl","match":"\u003c=|\u003e=|=|\u003c|\u003e"},{"name":"keyword.operator.arithmetic.bsl","match":"(\\+|-|\\*|/|%)"},{"name":"keyword.operator.bsl","match":"(;|\\?)"},{"name":"support.function.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Новый|New)(?=[^\\wа-яё\\.]|$))"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nСтрДлина|StrLen|\nСокрЛ|TrimL|\nСокрП|TrimR|\nСокрЛП|TrimAll|\nЛев|Left|\nПрав|Right|\nСред|Mid|\nСтрНайти|StrFind|\nВРег|Upper|\nНРег|Lower|\nТРег|Title|\nСимвол|Char|\nКодСимвола|CharCode|\nПустаяСтрока|IsBlankString|\nСтрЗаменить|StrReplace|\nСтрЧислоСтрок|StrLineCount|\nСтрПолучитьСтроку|StrGetLine|\nСтрЧислоВхождений|StrOccurrenceCount|\nСтрСравнить|StrCompare|\nСтрНачинаетсяС|StrStartWith|\nСтрЗаканчиваетсяНа|StrEndsWith|\nСтрРазделить|StrSplit|\nСтрСоединить|StrConcat\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЦел|Int|\nОкр|Round|\nACos|\nASin|\nATan|\nCos|\nExp|\nLog|\nLog10|\nPow|\nSin|\nSqrt|\nTan\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nГод|Year|\nМесяц|Month|\nДень|Day|\nЧас|Hour|\nМинута|Minute|\nСекунда|Second|\nНачалоГода|BegOfYear|\nНачалоДня|BegOfDay|\nНачалоКвартала|BegOfQuarter|\nНачалоМесяца|BegOfMonth|\nНачалоМинуты|BegOfMinute|\nНачалоНедели|BegOfWeek|\nНачалоЧаса|BegOfHour|\nКонецГода|EndOfYear|\nКонецДня|EndOfDay|\nКонецКвартала|EndOfQuarter|\nКонецМесяца|EndOfMonth|\nКонецМинуты|EndOfMinute|\nКонецНедели|EndOfWeek|\nКонецЧаса|EndOfHour|\nНеделяГода|WeekOfYear|\nДеньГода|DayOfYear|\nДеньНедели|WeekDay|\nТекущаяДата|CurrentDate|\nДобавитьМесяц|AddMonth\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Тип|Type|ТипЗнч|TypeOf)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(Булево|Boolean|Число|Number|Строка|String|Дата|Date)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПоказатьВопрос|ShowQueryBox|\nВопрос|DoQueryBox|\nПоказатьПредупреждение|ShowMessageBox|\nПредупреждение|DoMessageBox|\nСообщить|Message|\nОчиститьСообщения|ClearMessages|\nОповеститьОбИзменении|NotifyChanged|\nСостояние|Status|\nСигнал|Beep|\nПоказатьЗначение|ShowValue|\nОткрытьЗначение|OpenValue|\nОповестить|Notify|\nОбработкаПрерыванияПользователя|UserInterruptProcessing|\nОткрытьСодержаниеСправки|OpenHelpContent|\nОткрытьИндексСправки|OpenHelpIndex|\nОткрытьСправку|OpenHelp|\nПоказатьИнформациюОбОшибке|ShowErrorInfo|\nКраткоеПредставлениеОшибки|BriefErrorDescription|\nПодробноеПредставлениеОшибки|DetailErrorDescription|\nПолучитьФорму|GetForm|\nЗакрытьСправку|CloseHelp|\nПоказатьОповещениеПользователя|ShowUserNotification|\nОткрытьФорму|OpenForm|\nОткрытьФормуМодально|OpenFormModal|\nАктивноеОкно|ActiveWindow|\nВыполнитьОбработкуОповещения|ExecuteNotifyProcessing\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПоказатьВводЗначения|ShowInputValue|\nВвестиЗначение|InputValue|\nПоказатьВводЧисла|ShowInputNumber|\nВвестиЧисло|InputNumber|\nПоказатьВводСтроки|ShowInputString|\nВвестиСтроку|InputString|\nПоказатьВводДаты|ShowInputDate|\nВвестиДату|InputDate\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nФормат|Format|\nЧислоПрописью|NumberInWords|\nНСтр|NStr|\nПредставлениеПериода|PeriodPresentation|\nСтрШаблон|StrTemplate\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПолучитьОбщийМакет|GetCommonTemplate|\nПолучитьОбщуюФорму|GetCommonForm|\nПредопределенноеЗначение|PredefinedValue|\nПолучитьПолноеИмяПредопределенногоЗначения|GetPredefinedValueFullName\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПолучитьЗаголовокСистемы|GetCaption|\nПолучитьСкоростьКлиентскогоСоединения|GetClientConnectionSpeed|\nПодключитьОбработчикОжидания|AttachIdleHandler|\nУстановитьЗаголовокСистемы|SetCaption|\nОтключитьОбработчикОжидания|DetachIdleHandler|\nИмяКомпьютера|ComputerName|\nЗавершитьРаботуСистемы|Exit|\nИмяПользователя|UserName|\nПрекратитьРаботуСистемы|Terminate|\nПолноеИмяПользователя|UserFullName|\nЗаблокироватьРаботуПользователя|LockApplication|\nКаталогПрограммы|BinDir|\nКаталогВременныхФайлов|TempFilesDir|\nПравоДоступа|AccessRight|\nРольДоступна|IsInRole|\nТекущийЯзык|CurrentLanguage|\nТекущийКодЛокализации|CurrentLocaleCode|\nСтрокаСоединенияИнформационнойБазы|InfoBaseConnectionString|\nПодключитьОбработчикОповещения|AttachNotificationHandler|\nОтключитьОбработчикОповещения|DetachNotificationHandler|\nПолучитьСообщенияПользователю|GetUserMessages|\nПараметрыДоступа|AccessParameters|\nПредставлениеПриложения|ApplicationPresentation|\nТекущийЯзыкСистемы|CurrentSystemLanguage|\nЗапуститьСистему|RunSystem|\nТекущийРежимЗапуска|CurrentRunMode|\nУстановитьЧасовойПоясСеанса|SetSessionTimeZone|\nЧасовойПоясСеанса|SessionTimeZone|\nТекущаяДатаСеанса|CurrentSessionDate|\nУстановитьКраткийЗаголовокПриложения|SetShortApplicationCaption|\nПолучитьКраткийЗаголовокПриложения|GetShortApplicationCaption|\nПредставлениеПрава|RightPresentation|\nВыполнитьПроверкуПравДоступа|VerifyAccessRights|\nРабочийКаталогДанныхПользователя|UserDataWorkDir|\nКаталогДокументов|DocumentsDir|\nПолучитьИнформациюЭкрановКлиента|GetClientDisplaysInformation|\nТекущийВариантОсновногоШрифтаКлиентскогоПриложения|ClientApplicationBaseFontCurrentVariant|\nТекущийВариантИнтерфейсаКлиентскогоПриложения|ClientApplicationInterfaceCurrentVariant|\nУстановитьЗаголовокКлиентскогоПриложения|SetClientApplicationCaption|\nПолучитьЗаголовокКлиентскогоПриложения|GetClientApplicationCaption|\nНачатьПолучениеКаталогаВременныхФайлов|BeginGettingTempFilesDir|\nНачатьПолучениеКаталогаДокументов|BeginGettingDocumentsDir|\nНачатьПолучениеРабочегоКаталогаДанныхПользователя|BeginGettingUserDataWorkDir|\nПодключитьОбработчикЗапросаНастроекКлиентаЛицензирования|AttachLicensingClientParametersRequestHandler|\nОтключитьОбработчикЗапросаНастроекКлиентаЛицензирования|DetachLicensingClientParametersRequestHandler|\nКаталогБиблиотекиМобильногоУстройства|MobileDeviceLibraryDir\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЗначениеВСтрокуВнутр|ValueToStringInternal|\nЗначениеИзСтрокиВнутр|ValueFromStringInternal|\nЗначениеВФайл|ValueToFile|\nЗначениеИзФайла|ValueFromFile\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nКомандаСистемы|System|\nЗапуститьПриложение|RunApp|\nПолучитьCOMОбъект|GetCOMObject|\nПользователиОС|OSUsers|\nНачатьЗапускПриложения|BeginRunningApplication\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПодключитьВнешнююКомпоненту|AttachAddIn|\nНачатьУстановкуВнешнейКомпоненты|BeginInstallAddIn|\nУстановитьВнешнююКомпоненту|InstallAddIn|\nНачатьПодключениеВнешнейКомпоненты|BeginAttachingAddIn\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nКопироватьФайл|FileCopy|\nПереместитьФайл|MoveFile|\nУдалитьФайлы|DeleteFiles|\nНайтиФайлы|FindFiles|\nСоздатьКаталог|CreateDirectory|\nПолучитьИмяВременногоФайла|GetTempFileName|\nРазделитьФайл|SplitFile|\nОбъединитьФайлы|MergeFiles|\nПолучитьФайл|GetFile|\nНачатьПомещениеФайла|BeginPutFile|\nПоместитьФайл|PutFile|\nЭтоАдресВременногоХранилища|IsTempStorageURL|\nУдалитьИзВременногоХранилища|DeleteFromTempStorage|\nПолучитьИзВременногоХранилища|GetFromTempStorage|\nПоместитьВоВременноеХранилище|PutToTempStorage|\nПодключитьРасширениеРаботыСФайлами|AttachFileSystemExtension|\nНачатьУстановкуРасширенияРаботыСФайлами|BeginInstallFileSystemExtension|\nУстановитьРасширениеРаботыСФайлами|InstallFileSystemExtension|\nПолучитьФайлы|GetFiles|\nПоместитьФайлы|PutFiles|\nЗапроситьРазрешениеПользователя|RequestUserPermission|\nПолучитьМаскуВсеФайлы|GetAllFilesMask|\nПолучитьМаскуВсеФайлыКлиента|GetClientAllFilesMask|\nПолучитьМаскуВсеФайлыСервера|GetServerAllFilesMask|\nПолучитьРазделительПути|GetPathSeparator|\nПолучитьРазделительПутиКлиента|GetClientPathSeparator|\nПолучитьРазделительПутиСервера|GetServerPathSeparator|\nНачатьПодключениеРасширенияРаботыСФайлами|BeginAttachingFileSystemExtension|\nНачатьЗапросРазрешенияПользователя|BeginRequestingUserPermission|\nНачатьПоискФайлов|BeginFindingFiles|\nНачатьСозданиеКаталога|BeginCreatingDirectory|\nНачатьКопированиеФайла|BeginCopyingFile|\nНачатьПеремещениеФайла|BeginMovingFile|\nНачатьУдалениеФайлов|BeginDeletingFiles|\nНачатьПолучениеФайлов|BeginGettingFiles|\nНачатьПомещениеФайлов|BeginPuttingFiles|\nНачатьСозданиеДвоичныхДанныхИзФайла|BeginCreateBinaryDataFromFile\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nНачатьТранзакцию|BeginTransaction|\nЗафиксироватьТранзакцию|CommitTransaction|\nОтменитьТранзакцию|RollbackTransaction|\nУстановитьМонопольныйРежим|SetExclusiveMode|\nМонопольныйРежим|ExclusiveMode|\nПолучитьОперативнуюОтметкуВремени|GetRealTimeTimestamp|\nПолучитьСоединенияИнформационнойБазы|GetInfoBaseConnections|\nНомерСоединенияИнформационнойБазы|InfoBaseConnectionNumber|\nКонфигурацияИзменена|ConfigurationChanged|\nКонфигурацияБазыДанныхИзмененаДинамически|DataBaseConfigurationChangedDynamically|\nУстановитьВремяОжиданияБлокировкиДанных|SetLockWaitTime|\nОбновитьНумерациюОбъектов|RefreshObjectsNumbering|\nПолучитьВремяОжиданияБлокировкиДанных|GetLockWaitTime|\nКодЛокализацииИнформационнойБазы|InfoBaseLocaleCode|\nУстановитьМинимальнуюДлинуПаролейПользователей|SetUserPasswordMinLength|\nПолучитьМинимальнуюДлинуПаролейПользователей|GetUserPasswordMinLength|\nИнициализироватьПредопределенныеДанные|InitializePredefinedData|\nУдалитьДанныеИнформационнойБазы|EraseInfoBaseData|\nУстановитьПроверкуСложностиПаролейПользователей|SetUserPasswordStrengthCheck|\nПолучитьПроверкуСложностиПаролейПользователей|GetUserPasswordStrengthCheck|\nПолучитьСтруктуруХраненияБазыДанных|GetDBStorageStructureInfo|\nУстановитьПривилегированныйРежим|SetPrivilegedMode|\nПривилегированныйРежим|PrivilegedMode|\nТранзакцияАктивна|TransactionActive|\nНеобходимостьЗавершенияСоединения|ConnectionStopRequest|\nНомерСеансаИнформационнойБазы|InfoBaseSessionNumber|\nПолучитьСеансыИнформационнойБазы|GetInfoBaseSessions|\nЗаблокироватьДанныеДляРедактирования|LockDataForEdit|\nУстановитьСоединениеСВнешнимИсточникомДанных|ConnectExternalDataSource|\nРазблокироватьДанныеДляРедактирования|UnlockDataForEdit|\nРазорватьСоединениеСВнешнимИсточникомДанных|DisconnectExternalDataSource|\nПолучитьБлокировкуСеансов|GetSessionsLock|\nУстановитьБлокировкуСеансов|SetSessionsLock|\nОбновитьПовторноИспользуемыеЗначения|RefreshReusableValues|\nУстановитьБезопасныйРежим|SetSafeMode|\nБезопасныйРежим|SafeMode|\nПолучитьДанныеВыбора|GetChoiceData|\nУстановитьЧасовойПоясИнформационнойБазы|SetInfoBaseTimeZone|\nПолучитьЧасовойПоясИнформационнойБазы|GetInfoBaseTimeZone|\nПолучитьОбновлениеКонфигурацииБазыДанных|GetDataBaseConfigurationUpdate|\nУстановитьБезопасныйРежимРазделенияДанных|SetDataSeparationSafeMode|\nБезопасныйРежимРазделенияДанных|DataSeparationSafeMode|\nУстановитьВремяЗасыпанияПассивногоСеанса|SetPassiveSessionHibernateTime|\nПолучитьВремяЗасыпанияПассивногоСеанса|GetPassiveSessionHibernateTime|\nУстановитьВремяЗавершенияСпящегоСеанса|SetHibernateSessionTerminateTime|\nПолучитьВремяЗавершенияСпящегоСеанса|GetHibernateSessionTerminateTime|\nПолучитьТекущийСеансИнформационнойБазы|GetCurrentInfoBaseSession|\nПолучитьИдентификаторКонфигурации|GetConfigurationID|\nУстановитьНастройкиКлиентаЛицензирования|SetLicensingClientParameters|\nПолучитьИмяКлиентаЛицензирования|GetLicensingClientName|\nПолучитьДополнительныйПараметрКлиентаЛицензирования|GetLicensingClientAdditionalParameter|\nПолучитьОтключениеБезопасногоРежима|GetSafeModeDisabled|\nУстановитьОтключениеБезопасногоРежима|SetSafeModeDisabled\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nНайтиПомеченныеНаУдаление|FindMarkedForDeletion|\nНайтиПоСсылкам|FindByRef|\nУдалитьОбъекты|DeleteObjects|\nУстановитьОбновлениеПредопределенныхДанныхИнформационнойБазы|SetInfoBasePredefinedDataUpdate|\nПолучитьОбновлениеПредопределенныхДанныхИнформационнойБазы|GetInfoBasePredefinedData\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nXMLСтрока|XMLString|\nXMLЗначение|XMLValue|\nXMLТип|XMLType|\nXMLТипЗнч|XMLTypeOf|\nИзXMLТипа|FromXMLType|\nВозможностьЧтенияXML|CanReadXML|\nПолучитьXMLТип|GetXMLType|\nПрочитатьXML|ReadXML|\nЗаписатьXML|WriteXML|\nНайтиНедопустимыеСимволыXML|FindDisallowedXMLCharacters|\nИмпортМоделиXDTO|ImportXDTOModel|\nСоздатьФабрикуXDTO|CreateXDTOFactory\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЗаписатьJSON|WriteJSON|\nПрочитатьJSON|ReadJSON|\nПрочитатьДатуJSON|ReadJSONDate|\nЗаписатьДатуJSON|WriteJSONDate\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЗаписьЖурналаРегистрации|WriteLogEvent|\nПолучитьИспользованиеЖурналаРегистрации|GetEventLogUsing|\nУстановитьИспользованиеЖурналаРегистрации|SetEventLogUsing|\nПредставлениеСобытияЖурналаРегистрации|EventLogEventPresentation|\nВыгрузитьЖурналРегистрации|UnloadEventLog|\nПолучитьЗначенияОтбораЖурналаРегистрации|GetEventLogFilterValues|\nУстановитьИспользованиеСобытияЖурналаРегистрации|SetEventLogEventUse|\nПолучитьИспользованиеСобытияЖурналаРегистрации|GetEventLogEventUse|\nСкопироватьЖурналРегистрации|CopyEventLog|\nОчиститьЖурналРегистрации|ClearEventLog\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nЗначениеВДанныеФормы|ValueToFormData|\nДанныеФормыВЗначение|FormDataToValue|\nКопироватьДанныеФормы|CopyFormData|\nУстановитьСоответствиеОбъектаИФормы|SetObjectAndFormConformity|\nПолучитьСоответствиеОбъектаИФормы|GetObjectAndFormConformity\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПолучитьФункциональнуюОпцию|GetFunctionalOption|\nПолучитьФункциональнуюОпциюИнтерфейса|GetInterfaceFunctionalOption|\nУстановитьПараметрыФункциональныхОпцийИнтерфейса|SetInterfaceFunctionalOptionParameters|\nПолучитьПараметрыФункциональныхОпцийИнтерфейса|GetInterfaceFunctionalOptionParameters|\nОбновитьИнтерфейс|RefreshInterface\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nУстановитьРасширениеРаботыСКриптографией|InstallCryptoExtension|\nНачатьУстановкуРасширенияРаботыСКриптографией|BeginInstallCryptoExtension|\nПодключитьРасширениеРаботыСКриптографией|AttachCryptoExtension|\nНачатьПодключениеРасширенияРаботыСКриптографией|BeginAttachingCryptoExtension\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nУстановитьСоставСтандартногоИнтерфейсаOData|SetStandardODataInterfaceContent|\nПолучитьСоставСтандартногоИнтерфейсаOData|GetStandardODataInterfaceContent\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?i:(?\u003c=[^\\wа-яё\\.]|^)(СоединитьБуферыДвоичныхДанных|ConcatBinaryDataBuffers)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nМин|Min|\nМакс|Max|\nОписаниеОшибки|ErrorDescription|\nВычислить|Eval|\nИнформацияОбОшибке|ErrorInfo|\nBase64Значение|Base64Value|\nBase64Строка|Base64String|\nЗаполнитьЗначенияСвойств|FillPropertyValues|\nЗначениеЗаполнено|ValueIsFilled|\nПолучитьПредставленияНавигационныхСсылок|GetURLsPresentations|\nНайтиОкноПоНавигационнойСсылке|FindWindowByURL|\nПолучитьОкна|GetWindows|\nПерейтиПоНавигационнойСсылке|GotoURL|\nПолучитьНавигационнуюСсылку|GetURL|\nПолучитьДопустимыеКодыЛокализации|GetAvailableLocaleCodes|\nПолучитьНавигационнуюСсылкуИнформационнойБазы|GetInfoBaseURL|\nПредставлениеКодаЛокализации|LocaleCodePresentation|\nПолучитьДопустимыеЧасовыеПояса|GetAvailableTimeZones|\nПредставлениеЧасовогоПояса|TimeZonePresentation|\nТекущаяУниверсальнаяДата|CurrentUniversalDate|\nТекущаяУниверсальнаяДатаВМиллисекундах|CurrentUniversalDateInMilliseconds|\nМестноеВремя|ToLocalTime|\nУниверсальноеВремя|ToUniversalTime|\nЧасовойПояс|TimeZone|\nСмещениеЛетнегоВремени|DaylightTimeOffset|\nСмещениеСтандартногоВремени|StandardTimeOffset|\nКодироватьСтроку|EncodeString|\nРаскодироватьСтроку|DecodeString|\nНайти|Find|\nПродолжитьВызов|ProceedWithCall\n)\\s*(?=\\())"},{"name":"support.function.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nПередНачаломРаботыСистемы|BeforeStart|\nПриНачалеРаботыСистемы|OnStart|\nПередЗавершениемРаботыСистемы|BeforeExit|\nПриЗавершенииРаботыСистемы|OnExit|\nОбработкаВнешнегоСобытия|ExternEventProcessing|\nУстановкаПараметровСеанса|SessionParametersSetting|\nПриИзмененииПараметровЭкрана|OnChangeDisplaySettings\n)\\s*(?=\\())"},{"name":"support.class.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nWSСсылки|WSReferences|\nБиблиотекаКартинок|PictureLib|\nБиблиотекаМакетовОформленияКомпоновкиДанных|DataCompositionAppearanceTemplateLib|\nБиблиотекаСтилей|StyleLib|\nБизнесПроцессы|BusinessProcesses|\nВнешниеИсточникиДанных|ExternalDataSources|\nВнешниеОбработки|ExternalDataProcessors|\nВнешниеОтчеты|ExternalReports|\nДокументы|Documents|\nДоставляемыеУведомления|DeliverableNotifications|\nЖурналыДокументов|DocumentJournals|\nЗадачи|Tasks|\nИнформацияОбИнтернетСоединении|InternetConnectionInformation|\nИспользованиеРабочейДаты|WorkingDateUse|\nИсторияРаботыПользователя|UserWorkHistory|\nКонстанты|Constants|\nКритерииОтбора|FilterCriteria|\nМетаданные|Metadata|\nОбработки|DataProcessors|\nОтправкаДоставляемыхУведомлений|DeliverableNotificationSend|\nОтчеты|Reports|\nПараметрыСеанса|SessionParameters|\nПеречисления|Enums|\nПланыВидовРасчета|ChartsOfCalculationTypes|\nПланыВидовХарактеристик|ChartsOfCharacteristicTypes|\nПланыОбмена|ExchangePlans|\nПланыСчетов|ChartsOfAccounts|\nПолнотекстовыйПоиск|FullTextSearch|\nПользователиИнформационнойБазы|InfoBaseUsers|\nПоследовательности|Sequences|\nРасширенияКонфигурации|ConfigurationExtensions|\nРегистрыБухгалтерии|AccountingRegisters|\nРегистрыНакопления|AccumulationRegisters|\nРегистрыРасчета|CalculationRegisters|\nРегистрыСведений|InformationRegisters|\nРегламентныеЗадания|ScheduledJobs|\nСериализаторXDTO|XDTOSerializer|\nСправочники|Catalogs|\nСредстваГеопозиционирования|LocationTools|\nСредстваКриптографии|CryptoToolsManager|\nСредстваМультимедиа|MultimediaTools|\nСредстваОтображенияРекламы|AdvertisingPresentationTools|\nСредстваПочты|MailTools|\nСредстваТелефонии|TelephonyTools|\nФабрикаXDTO|XDTOFactory|\nФайловыеПотоки|FileStreams|\nФоновыеЗадания|BackgroundJobs|\nХранилищаНастроек|SettingsStorages|\nВстроенныеПокупки|InAppPurchases|\nОтображениеРекламы|AdRepresentation|\nПанельЗадачОС|OSTaskbar|\nПроверкаВстроенныхПокупок|InAppPurchasesValidation\n)(?=[^\\wа-яё]|$))"},{"name":"support.variable.bsl","match":"(?x)(?i:(?\u003c=[^\\wа-яё\\.]|^)(\nГлавныйИнтерфейс|MainInterface|\nГлавныйСтиль|MainStyle|\nПараметрЗапуска|LaunchParameter|\nРабочаяДата|WorkingDate|\nХранилищеВариантовОтчетов|ReportsVariantsStorage|\nХранилищеНастроекДанныхФорм|FormDataSettingsStorage|\nХранилищеОбщихНастроек|CommonSettingsStorage|\nХранилищеПользовательскихНастроекДинамическихСписков|DynamicListsUserSettingsStorage|\nХранилищеПользовательскихНастроекОтчетов|ReportsUserSettingsStorage|\nХранилищеСистемныхНастроек|SystemSettingsStorage\n)(?=[^\\wа-яё]|$))"}]},"query":{"begin":"(?i)(?\u003c=[^\\wа-яё\\.]|^)(Выбрать|Select(\\s+Разрешенные|\\s+Allowed)?(\\s+Различные|\\s+Distinct)?(\\s+Первые|\\s+Top)?)(?=[^\\wа-яё\\.]|$)","end":"(?=\\\"[^\\\"])","patterns":[{"name":"comment.line.double-slash.bsl","begin":"^\\s*//","end":"$"},{"name":"comment.line.double-slash.sdbl","match":"(//((\\\"\\\")|[^\\\"])*)"},{"name":"string.quoted.double.sdbl","match":"\\\"\\\"[^\"]*\\\"\\\""},{"include":"source.sdbl"}],"beginCaptures":{"1":{"name":"keyword.control.sdbl"}}}}}
@@ -1 +1 @@
1
- {"name":"CDS","scopeName":"source.cds","patterns":[{"begin":"\\b(aspect|(abstract\\s+)?entity)\\b","end":"(?\u003c=})(;)?|(;)","patterns":[{"begin":":","end":"(?={|;)","patterns":[{"include":"#identifiers"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"0":{"name":"keyword.operator.cds"}}},{"include":"#bracedElementDef"},{"include":"#keywords"},{"include":"#identifiers"}],"beginCaptures":{"1":{"name":"keyword.strong.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},{"begin":"(?i)\\b(extend)\\s+((context|service|aspect|entity|projection|type)\\s+)?(\\S+)(\\s+(with)(\\s+(actions|definitions|columns|elements|enum))?|(?=\\s*{))","end":"(?\u003c=})(;)?|(;)","patterns":[{"include":"#bracedElementDef"},{"include":"#keywords"},{"include":"#identifiers"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"1":{"name":"keyword.strong.cds"},"3":{"name":"keyword.cds"},"4":{"name":"identifier.cds"},"6":{"name":"keyword.cds"},"8":{"name":"keyword.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},{"match":"(?\u003c!\\.)\\b(annotate)\\b\\s*[\\w.]+\\b\\s*\\b(with)?\\b","captures":{"1":{"name":"keyword.strong.control.import.cds"},"2":{"name":"keyword.strong.control.import.cds"}}},{"name":"meta.import.cds","begin":"(?\u003c!\\.)\\b(import|using)(?!\\s*:)\\b","end":"(;)|\\n","patterns":[{"begin":"{","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:(\\bdefault\\b|\\*)|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"variable.language.default.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.strong.cds"},"4":{"name":"invalid.illegal.cds"},"5":{"name":"variable.other.module-alias.cds"}}},{"name":"punctuation.separator.object.cds","match":","},{"include":"#comments"},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"match":"(?:(\\*)|(?=\\D)(\\b[\\$\\.\\w]+\\b))\\s*(\\bas\\b)\\s*(?=\\D)(\\b[\\$\\.\\w]+\\b)","captures":{"1":{"name":"variable.language.import-all.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.strong.control.cds"},"4":{"name":"variable.other.module-alias.cds"}}},{"name":"variable.language.import-all.cds","match":"\\*"},{"name":"variable.language.default.cds","match":"\\b(default)\\b"},{"include":"#strings"},{"include":"#comments"},{"name":"keyword.strong.control.cds","match":"(?i)\\b(from)\\b"},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b(?=.*\\bfrom\\b)"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"1":{"name":"keyword.strong.control.import.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"}}},{"name":"meta.export.cds","match":"\\b(export)\\b\\s*\\b(default)\\b(?:\\s*)\\b((?!\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b)[$_a-zA-Z][$_a-zA-Z0-9]*)?\\b","captures":{"1":{"name":"keyword.control.cds"},"2":{"name":"variable.language.default.cds"},"3":{"name":"variable.other.module.cds"}}},{"name":"meta.export.cds","begin":"(?\u003c!\\.)\\b(export)(?!\\s*:)\\b","end":"(?=;|\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b|$)","patterns":[{"include":"#numbers"},{"begin":"{(?=.*\\bfrom\\b)","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:\\b(default)\\b|(\\*)|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"variable.language.default.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.control.cds"},"4":{"name":"variable.language.default.cds"},"5":{"name":"invalid.illegal.cds"},"6":{"name":"variable.other.module-alias.cds"}}},{"name":"meta.delimiter.object.comma.cds","match":","},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"begin":"(?![\\p{L}$_]){","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:\\b(default)\\b|(\\*)|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"invalid.illegal.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.control.cds"},"4":{"name":"variable.language.default.cds"},"5":{"name":"invalid.illegal.cds"},"6":{"name":"variable.other.module-alias.cds"}}},{"name":"meta.delimiter.object.comma.cds","match":","},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"name":"variable.language.import-all.cds","match":"\\*(?=.*\\bfrom\\b)"},{"name":"variable.language.default.cds","match":"\\b(default)\\b"},{"include":"#strings"},{"include":"#comments"},{"name":"keyword.control.cds","match":"(?i)\\b(from)\\b"},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"},{"name":"meta.delimiter.object.comma.cds","match":","},{"include":"#operators"}],"beginCaptures":{"1":{"name":"keyword.control.export.cds"}}},{"name":"meta.method.cds","begin":"\\b(?:(static)\\s+)?(?!(?:break|case|catch|continue|do|else|finally|for|if|export|import|using|package|return|switch|throw|try|while|with)[\\s\\(])([$_a-zA-Z][$_a-zA-Z0-9]*)\\s*(\\()(?=(?:[^\\(\\)]*)?\\)\\s*{)","end":"\\)","patterns":[{"include":"#function-params"}],"beginCaptures":{"1":{"name":"storage.modifier.static.cds"},"2":{"name":"entity.name.function.cds"},"3":{"name":"punctuation.definition.parameters.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.begin.cds"}}},{"name":"meta.class.cds","match":"\\b(class)(?:\\s+([$_a-zA-Z][$_a-zA-Z0-9]*))?(?:\\s+(extends)\\s+([$_a-zA-Z][$_a-zA-Z0-9]*))?\\s*($|(?={))","captures":{"1":{"name":"storage.type.class.cds"},"2":{"name":"entity.name.type.class.cds"},"3":{"name":"storage.modifier.cds"},"4":{"name":"entity.other.inherited-class.cds"}}},{"name":"storage.type.arrow.cds","match":"=\u003e"},{"name":"storage.type.var.cds","match":"(?\u003c!\\.|\\$)\\b(let|var)\\b(?!\\$)"},{"name":"storage.modifier.cds","match":"(?\u003c!\\.|\\$)\\b(get|set|const)\\b(?!\\$)"},{"name":"meta.control.yield.cds","match":"(?\u003c!\\.)\\b(yield)(?!\\s*:)\\b(?:\\s*(\\*))?","captures":{"1":{"name":"keyword.control.cds"},"2":{"name":"storage.modifier.cds"}}},{"name":"constant.language.cds","match":"\\b(false|Infinity|NaN|null|true|undefined)\\b"},{"name":"variable.language.cds","match":"(?\u003c!\\.)\\b(super|this)(?!\\s*:)\\b"},{"name":"punctuation.terminator.statement.cds","match":"\\;"},{"match":"(\\[)(\\])","captures":{"1":{"name":"punctuation.section.scope.begin.cds"},"2":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"name":"meta.brace.square.cds","match":"\\[|\\]"},{"name":"support.class.cds","match":"(?\u003c=new )([$_a-zA-Z][$_a-zA-Z0-9]*)(?!\\w)"},{"name":"support.class.cds","match":"(?\u003c= instanceof )([$_a-zA-Z][$_a-zA-Z0-9]*)(?!\\w)"},{"name":"support.class.cds","match":"(?\u003c!\\w)([$_a-zA-Z][$_a-zA-Z0-9]*)(?=\\.prototype\\b)"},{"name":"keyword.other.cds","match":"(?i)(?\u003c=\\.)(prototype)\\b"},{"name":"meta.function-call.cds","match":"(?\u003c!\\w)([$_a-zA-Z][$_a-zA-Z0-9]*)(?=\\()"},{"include":"#keywords"},{"include":"#numbers"},{"include":"#strings"},{"include":"#comments"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"bracedElementDef":{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#extendElement"},{"include":"#elementDef"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},"comments":{"patterns":[{"name":"entity.other.attribute-name","match":"@\\(?[\\w.]+\\b"},{"name":"comment.block.documentation.cds","begin":"/\\*\\*(?!/)","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cds"}}},{"name":"comment.block.cds","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cds"}}},{"name":"comment.line.double-slash.cds","match":"//.*"}]},"elementDef":{"begin":"\\b(virtual(?:\\s+))?(key(?:\\s+))?(masked(?:\\s+))?(element(?:\\s+))?","end":"(?=})|(;)","patterns":[{"include":"#bracedElementDef"},{"include":"#strings"},{"include":"#comments"},{"include":"#keywords"},{"name":"keyword.operator.cds","match":":"},{"begin":"([$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\])(?=\\s*[:{,])","end":"(,)|(?=\\s*[:{])","beginCaptures":{"1":{"name":"entity.name.type.attribute-name.cds"}},"endCaptures":{"1":{"name":"punctuation.separator.object.cds"}}},{"include":"#identifiers"},{"include":"#operators"},{"include":"#numbers"},{}],"beginCaptures":{"1":{"name":"keyword.cds"},"2":{"name":"keyword.strong.cds"},"3":{"name":"keyword.cds"},"4":{"name":"keyword.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"}}},"escapes":{"name":"constant.character.escape.cds","match":"\\\\([xu$]\\{?[0-9a-fA-F]+}?|.|$)"},"extendElement":{"begin":"\\b(?=extend\\b.*\\bwith\\b)","end":"(?\u003c=})(;)?|(;)","patterns":[{"begin":"\\bextend\\b","end":"\\bwith\\b","patterns":[{"name":"keyword.cds","match":"element(?!(?:\\s*/\\*.*\\*/\\s*|\\s+)?with\\b)"},{"name":"entity.name.type.attribute-name.cds","match":"[$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\]"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"keyword.strong.cds"}},"endCaptures":{"0":{"name":"keyword.cds"}}},{"begin":"{","end":"}","patterns":[{"include":"#extendElement"},{"include":"#elementDef"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"include":"#comments"},{"include":"#keywords"},{"include":"#identifiers"},{"include":"#operators"},{"name":"punctuation.section.scope.begin.cds","match":"\\("},{"name":"punctuation.section.scope.end.cds","match":"\\)"},{"include":"#numbers"}],"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},"function-params":{"patterns":[{"begin":"(?=[\\p{L}$_])","end":"(?=[,)/])","patterns":[{"name":"variable.parameter.function.cds","match":"\\G[$_a-zA-Z][$_a-zA-Z0-9]*"}]},{"include":"#comments"}]},"identifiers":{"patterns":[{"name":"identifier.cds","match":"[$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\]"}]},"interpolation":{"name":"meta.embedded.line.cds","contentName":"source.cds","begin":"\\${","end":"(})","patterns":[{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"meta.brace.curly.cds"}},"endCaptures":{"0":{"name":"meta.brace.curly.cds"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.cds"},"1":{"name":"source.cds"}}},"keywords":{"patterns":[{"name":"support.class.cds","match":"(?\u003c!\\.|\\$)\\b(Association\\s*(?:\\[[0-9.eE+, *-]*\\]\\s*)?to\\s*(?:(many|one)\\s*)?|Composition\\s*(?:\\[[0-9.eE+, *-]*\\]\\s*)?of\\s*(?:(many|one)\\s*)?|(Binary|Boolean|Date|DateTime|Decimal|DecimalFloat|Double|Int(16|32|64)|Integer|Integer64|LargeBinary|LargeString|Number|String|Time|Timestamp|UInt8|UUID)\\s*(\\([^()]*\\))?)(?!\\$|\\s*:)"},{"name":"invalid.illegal.cds","match":"(?\u003c!\\.|\\$)\\b(await)\\b(?!\\$|\\s*:)"},{"name":"invalid.deprecated.cds","match":"(?\u003c!\\.|\\$)\\b(implements|interface|package|private|protected|public)\\b(?!\\$|\\s*:)"},{"name":"invalid.illegal.cds","match":"(?\u003c!\\.|\\$)\\b(class|static|extends)\\b(?!\\$|\\s*:)"},{"name":"keyword.cds","match":"(?i)(?\u003c!\\.|\\$)\\b(all|and|any|asc|between|by|case|cast|cross|desc|distinct|element|elements|escape|except|excluding|exists|first|from|full|group|group by|having|in|inner|intersect|into|is|join|last|left|like|limit|many|minus|mixin|not null|not|null|nulls|offset|one|or|order by|outer|redirected to|select|some|top|type of|union|where|with)\\b(?!\\$|\\s*:)"},{"name":"keyword.strong.cds","match":"(?i)(?\u003c!\\.|\\$)\\b(as|key|on|type)\\b(?!\\$|\\s*:)"},{"name":"keyword.cds","match":"(?\u003c!\\.|\\$)\\b(after|always|analysis|array of|async|asynchronous|auto|both|cache|column|columns|configuration|current|cycle|day|default|depends|detection|disabled|documents|else|enabled|end|every|existing|export|extended|extract|fast|flush|fulltext|fuzzy|generated|getnumservers|hana|hash|hour|identity|import|increment|index|keeping|language|layout|leading|masked|maxvalue|merge|migration|mime|mining|minute|minutes|minvalue|mode|month|name|new|no|off|only|others|overlay|parameters|partition|partitioning|partitions|phrase|preprocess|priority|projection|projection on|queue|range|ratio|reset|returns|right|roundrobin|row|search|second|separators|start|storage|store|subtype|sync|synchronous|table|technical|temporary|text|then|token|trailing|trim|unique|unload|value|values|virtual|when|with parameters|year)\\b(?!\\$|\\s*:)"},{"name":"keyword.strong.cds","match":"(?\u003c!\\.|\\$)\\b(abstract|action|actions|annotation|aspect|context|define|entity|enum|event|expose|extend|facet|function|namespace|service|view)\\b(?!\\$|\\s*:)"}]},"numbers":{"patterns":[{"name":"constant.numeric.hex.cds","match":"(?\u003c!\\w|\\$)0[xX][[:xdigit:]]+\\b"},{"name":"constant.numeric.binary.cds","match":"(?\u003c!\\w|\\$)0[bB][01]+\\b"},{"name":"constant.numeric.octal.cds","match":"(?\u003c!\\w|\\$)0[oO][0-7]+\\b"},{"name":"constant.numeric.cds","match":"(?\u003c!\\w|\\$)[+-]?[0-9]+('.'[0-9]+)?([eE][+-]?[0-9]+)?(?!\\w)"}]},"operators":{"patterns":[{"name":"keyword.operator.assignment.compound.cds","match":"%=|\\+=|\\-=|\\*=|(?\u003c!\\()/="},{"name":"keyword.operator.assignment.compound.bitwise.cds","match":"\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|\\|="},{"name":"keyword.operator.comparison.cds","match":"!==|!=|\u003c=|\u003e=|===|==|\u003c|\u003e"},{"name":"keyword.operator.logical.cds","match":"\u0026\u0026|!|\\|\\|"},{"name":"keyword.operator.bitwise.cds","match":"\u0026|\\||\\^|~"},{"name":"keyword.cds","match":"\\:\\s*(localized)\\s+"},{"name":"keyword.operator.cds","match":"\\:"},{"name":"keyword.operator.logical.cds","match":"!"},{"name":"keyword.operator.assignment.cds","match":"=|\\:"},{"name":"keyword.operator.decrement.cds","match":"\\-\\-"},{"name":"keyword.operator.increment.cds","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.cds","match":"%|\\*|/|\\-|\\+"}]},"strings":{"patterns":[{"name":"string.quoted.single.cds","begin":"'","end":"'(?!')","patterns":[{"name":"meta.single-quote.doubled.cds","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cds"}}},{"name":"string.quoted.other.template.cds","begin":"`","end":"`","patterns":[{"include":"#interpolation"},{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cds"}}}]}}}
1
+ {"name":"CDS","scopeName":"source.cds","patterns":[{"begin":"\\b(aspect|(abstract\\s+)?entity)\\b","end":"(?\u003c=})(;)?|(;)","patterns":[{"begin":":","end":"(?={|;)","patterns":[{"include":"#identifiers"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"0":{"name":"keyword.operator.cds"}}},{"include":"#bracedElementDef"},{"include":"#keywords"},{"include":"#identifiers"}],"beginCaptures":{"1":{"name":"keyword.strong.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},{"begin":"(?i)\\b(extend)\\s+((context|service|aspect|entity|projection|type)\\s+)?(\\S+)(\\s+(with)(\\s+(actions|definitions|columns|elements|enum))?|(?=\\s*{))","end":"(?\u003c=})(;)?|(;)","patterns":[{"include":"#bracedElementDef"},{"include":"#keywords"},{"include":"#identifiers"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"1":{"name":"keyword.strong.cds"},"3":{"name":"keyword.cds"},"4":{"name":"identifier.cds"},"6":{"name":"keyword.cds"},"8":{"name":"keyword.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},{"match":"(?\u003c!\\.)\\b(annotate)\\b\\s*[\\w.]+\\b\\s*\\b(with)?\\b","captures":{"1":{"name":"keyword.strong.control.import.cds"},"2":{"name":"keyword.strong.control.import.cds"}}},{"name":"meta.import.cds","begin":"(?\u003c!\\.)\\b(import|using)(?!\\s*:)\\b","end":"(;)|\\n","patterns":[{"begin":"{","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:(\\bdefault\\b|\\*)|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"variable.language.default.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.strong.cds"},"4":{"name":"invalid.illegal.cds"},"5":{"name":"variable.other.module-alias.cds"}}},{"name":"punctuation.separator.object.cds","match":","},{"include":"#comments"},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"match":"(?:(\\*)|(?=\\D)(\\b[\\$\\.\\w]+\\b))\\s*(\\bas\\b)\\s*(?=\\D)(\\b[\\$\\.\\w]+\\b)","captures":{"1":{"name":"variable.language.import-all.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.strong.control.cds"},"4":{"name":"variable.other.module-alias.cds"}}},{"name":"variable.language.import-all.cds","match":"\\*"},{"name":"variable.language.default.cds","match":"\\b(default)\\b"},{"include":"#strings"},{"include":"#comments"},{"name":"keyword.strong.control.cds","match":"(?i)\\b(from)\\b"},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b(?=.*\\bfrom\\b)"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"1":{"name":"keyword.strong.control.import.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"}}},{"name":"meta.export.cds","match":"\\b(export)\\b\\s*\\b(default)\\b(?:\\s*)\\b((?!\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b)[$_a-zA-Z][$_a-zA-Z0-9]*)?\\b","captures":{"1":{"name":"keyword.control.cds"},"2":{"name":"variable.language.default.cds"},"3":{"name":"variable.other.module.cds"}}},{"name":"meta.export.cds","begin":"(?\u003c!\\.)\\b(export)(?!\\s*:)\\b","end":"(?=;|\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b|$)","patterns":[{"include":"#numbers"},{"begin":"{(?=.*\\bfrom\\b)","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:\\b(default)\\b|(\\*)|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"variable.language.default.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.control.cds"},"4":{"name":"variable.language.default.cds"},"5":{"name":"invalid.illegal.cds"},"6":{"name":"variable.other.module-alias.cds"}}},{"name":"meta.delimiter.object.comma.cds","match":","},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"begin":"(?![\\p{L}$_]){","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:\\b(default)\\b|(\\*)|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"invalid.illegal.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.control.cds"},"4":{"name":"variable.language.default.cds"},"5":{"name":"invalid.illegal.cds"},"6":{"name":"variable.other.module-alias.cds"}}},{"name":"meta.delimiter.object.comma.cds","match":","},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"name":"variable.language.import-all.cds","match":"\\*(?=.*\\bfrom\\b)"},{"name":"variable.language.default.cds","match":"\\b(default)\\b"},{"include":"#strings"},{"include":"#comments"},{"name":"keyword.control.cds","match":"(?i)\\b(from)\\b"},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"},{"name":"meta.delimiter.object.comma.cds","match":","},{"include":"#operators"}],"beginCaptures":{"1":{"name":"keyword.control.export.cds"}}},{"name":"meta.method.cds","begin":"\\b(?:(static)\\s+)?(?!(?:break|case|catch|continue|do|else|finally|for|if|export|import|using|package|return|switch|throw|try|while|with)[\\s\\(])([$_a-zA-Z][$_a-zA-Z0-9]*)\\s*(\\()(?=(?:[^\\(\\)]*)?\\)\\s*{)","end":"\\)","patterns":[{"include":"#function-params"}],"beginCaptures":{"1":{"name":"storage.modifier.static.cds"},"2":{"name":"entity.name.function.cds"},"3":{"name":"punctuation.definition.parameters.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.begin.cds"}}},{"name":"meta.class.cds","match":"\\b(class)(?:\\s+([$_a-zA-Z][$_a-zA-Z0-9]*))?(?:\\s+(extends)\\s+([$_a-zA-Z][$_a-zA-Z0-9]*))?\\s*($|(?={))","captures":{"1":{"name":"storage.type.class.cds"},"2":{"name":"entity.name.type.class.cds"},"3":{"name":"storage.modifier.cds"},"4":{"name":"entity.other.inherited-class.cds"}}},{"name":"storage.type.arrow.cds","match":"=\u003e"},{"name":"storage.type.var.cds","match":"(?\u003c!\\.|\\$)\\b(let|var)\\b(?!\\$)"},{"name":"storage.modifier.cds","match":"(?\u003c!\\.|\\$)\\b(get|set|const)\\b(?!\\$)"},{"name":"meta.control.yield.cds","match":"(?\u003c!\\.)\\b(yield)(?!\\s*:)\\b(?:\\s*(\\*))?","captures":{"1":{"name":"keyword.control.cds"},"2":{"name":"storage.modifier.cds"}}},{"name":"constant.language.cds","match":"\\b(false|Infinity|NaN|null|true|undefined)\\b"},{"name":"variable.language.cds","match":"(?\u003c!\\.)\\b(super|this)(?!\\s*:)\\b"},{"name":"punctuation.terminator.statement.cds","match":"\\;"},{"match":"(\\[)(\\])","captures":{"1":{"name":"punctuation.section.scope.begin.cds"},"2":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"name":"meta.brace.square.cds","match":"\\[|\\]"},{"name":"support.class.cds","match":"(?\u003c=new )([$_a-zA-Z][$_a-zA-Z0-9]*)(?!\\w)"},{"name":"support.class.cds","match":"(?\u003c= instanceof )([$_a-zA-Z][$_a-zA-Z0-9]*)(?!\\w)"},{"name":"support.class.cds","match":"(?\u003c!\\w)([$_a-zA-Z][$_a-zA-Z0-9]*)(?=\\.prototype\\b)"},{"name":"keyword.other.cds","match":"(?i)(?\u003c=\\.)(prototype)\\b"},{"name":"meta.function-call.cds","match":"(?\u003c!\\w)([$_a-zA-Z][$_a-zA-Z0-9]*)(?=\\()"},{"include":"#keywords"},{"include":"#numbers"},{"include":"#strings"},{"include":"#comments"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"bracedElementDef":{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#extendElement"},{"include":"#elementDef"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},"comments":{"patterns":[{"name":"entity.other.attribute-name","match":"@\\(?[\\w.]+\\b"},{"name":"comment.block.documentation.cds","begin":"/\\*\\*(?!/)","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cds"}}},{"name":"comment.block.cds","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cds"}}},{"name":"comment.line.double-slash.cds","match":"//.*"}]},"elementDef":{"begin":"(?=\\()|\\b(virtual(?:\\s+))?(key(?:\\s+))?(masked(?:\\s+))?(element(?:\\s+))?","end":"(?=})|(;)","patterns":[{"include":"#bracedElementDef"},{"include":"#strings"},{"include":"#comments"},{"include":"#keywords"},{"begin":"\\(","end":"\\)","patterns":[{"match":"[$_a-zA-Z][$_a-zA-Z0-9]*|\\\"[^\\\"]*(\\\"\\\"[^\\\"]*)*\\\"|!\\\\[[^\\\\]]*(\\\\]\\\\][^\\\\]]*)*\\\\]","captures":{"0":{"name":"entity.name.type.attribute-name.cds"}}},{"include":"#operators"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"([$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\])(?=\\s*[:{,])","end":"(,)|(?=\\s*[:{])","beginCaptures":{"1":{"name":"entity.name.type.attribute-name.cds"}},"endCaptures":{"1":{"name":"punctuation.separator.object.cds"}}},{"match":"^\\s*([$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\])\\s*$","captures":{"1":{"name":"entity.name.type.attribute-name.cds"}}},{"include":"#identifiers"},{"include":"#operators"},{"include":"#numbers"},{}],"beginCaptures":{"1":{"name":"keyword.cds"},"2":{"name":"keyword.strong.cds"},"3":{"name":"keyword.cds"},"4":{"name":"keyword.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"}}},"escapes":{"name":"constant.character.escape.cds","match":"\\\\([xu$]\\{?[0-9a-fA-F]+}?|.|$)"},"extendElement":{"begin":"\\b(?=extend\\b.*\\bwith\\b)","end":"(?\u003c=})(;)?|(;)","patterns":[{"begin":"\\bextend\\b","end":"\\bwith\\b","patterns":[{"name":"keyword.cds","match":"element(?!(?:\\s*/\\*.*\\*/\\s*|\\s+)?with\\b)"},{"name":"entity.name.type.attribute-name.cds","match":"[$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\]"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"keyword.strong.cds"}},"endCaptures":{"0":{"name":"keyword.cds"}}},{"begin":"{","end":"}","patterns":[{"include":"#extendElement"},{"include":"#elementDef"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"include":"#comments"},{"include":"#keywords"},{"include":"#identifiers"},{"include":"#operators"},{"name":"punctuation.section.scope.begin.cds","match":"\\("},{"name":"punctuation.section.scope.end.cds","match":"\\)"},{"include":"#numbers"}],"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},"function-params":{"patterns":[{"begin":"(?=[\\p{L}$_])","end":"(?=[,)/])","patterns":[{"name":"variable.parameter.function.cds","match":"\\G[$_a-zA-Z][$_a-zA-Z0-9]*"}]},{"include":"#comments"}]},"identifiers":{"patterns":[{"name":"identifier.cds","match":"[$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\]"}]},"interpolation":{"name":"meta.embedded.line.cds","contentName":"source.cds","begin":"\\${","end":"(})","patterns":[{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"meta.brace.curly.cds"}},"endCaptures":{"0":{"name":"meta.brace.curly.cds"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.cds"},"1":{"name":"source.cds"}}},"keywords":{"patterns":[{"name":"support.class.cds","match":"(?\u003c!\\.|\\$)\\b(Association\\s*(?:\\[[0-9.eE+, *-]*\\]\\s*)?to\\s*(?:(many|one)\\s*)?|Composition\\s*(?:\\[[0-9.eE+, *-]*\\]\\s*)?of\\s*(?:(many|one)\\s*)?|(Binary|Boolean|DateTime|Date|DecimalFloat|Decimal|Double|Int(16|32|64)|Integer64|Integer|LargeBinary|LargeString|Number|String|Timestamp|Time|UInt8|UUID)\\s*(\\([^()]*\\))?)(?!\\$|\\s*:)"},{"name":"invalid.illegal.cds","match":"(?\u003c!\\.|\\$)\\b(await)\\b(?!\\$|\\s*:)"},{"name":"invalid.deprecated.cds","match":"(?\u003c!\\.|\\$)\\b(implements|interface|package|private|protected|public)\\b(?!\\$|\\s*:)"},{"name":"invalid.illegal.cds","match":"(?\u003c!\\.|\\$)\\b(class|static|extends)\\b(?!\\$|\\s*:)"},{"name":"keyword.cds","match":"(?i)(?\u003c!\\.|\\$)\\b(all|and|any|asc|between|by|case|cast|cross|desc|distinct|element|elements|escape|except|excluding|exists|first|from|full|group|group by|having|in|inner|intersect|into|is|join|last|left|like|limit|many|minus|mixin|not null|not|null|nulls|offset|one|or|order by|outer|redirected to|select|some|top|type of|union|where|with)\\b(?!\\$|\\s*:)"},{"name":"keyword.strong.cds","match":"(?i)(?\u003c!\\.|\\$)\\b(as|key|on|type)\\b(?!\\$|\\s*:)"},{"name":"keyword.cds","match":"(?\u003c!\\.|\\$)\\b(after|always|analysis|array of|async|asynchronous|auto|both|cache|column|columns|configuration|current|cycle|day|default|depends|detection|disabled|documents|else|enabled|end|every|existing|export|extended|extract|fast|flush|fulltext|fuzzy|generated|getnumservers|hana|hash|hour|identity|import|increment|index|keeping|language|layout|leading|masked|maxvalue|merge|migration|mime|mining|minute|minutes|minvalue|mode|month|name|new|no|off|only|others|overlay|parameters|partition|partitioning|partitions|phrase|preprocess|priority|projection|projection on|queue|range|ratio|reset|returns|right|roundrobin|row|search|second|separators|start|storage|store|subtype|sync|synchronous|table|technical|temporary|text|then|token|trailing|trim|unique|unload|value|values|virtual|when|with parameters|year)\\b(?!\\$|\\s*:)"},{"name":"keyword.strong.cds","match":"(?\u003c!\\.|\\$)\\b(abstract|action|actions|annotation|aspect|context|define|entity|enum|event|expose|extend|facet|function|namespace|service|view)\\b(?!\\$|\\s*:)"}]},"numbers":{"patterns":[{"name":"constant.numeric.hex.cds","match":"(?\u003c!\\w|\\$)0[xX][[:xdigit:]]+\\b"},{"name":"constant.numeric.binary.cds","match":"(?\u003c!\\w|\\$)0[bB][01]+\\b"},{"name":"constant.numeric.octal.cds","match":"(?\u003c!\\w|\\$)0[oO][0-7]+\\b"},{"name":"constant.numeric.cds","match":"(?\u003c!\\w|\\$)[+-]?[0-9]+('.'[0-9]+)?([eE][+-]?[0-9]+)?(?!\\w)"}]},"operators":{"patterns":[{"name":"keyword.operator.assignment.compound.cds","match":"%=|\\+=|\\-=|\\*=|(?\u003c!\\()/="},{"name":"keyword.operator.assignment.compound.bitwise.cds","match":"\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|\\|="},{"name":"keyword.operator.comparison.cds","match":"!==|!=|\u003c=|\u003e=|===|==|\u003c|\u003e"},{"name":"keyword.operator.logical.cds","match":"\u0026\u0026|!|\\|\\|"},{"name":"keyword.operator.bitwise.cds","match":"\u0026|\\||\\^|~"},{"name":"keyword.cds","match":"\\:\\s*(localized)\\s+"},{"name":"keyword.operator.cds","match":"[?:]"},{"name":"keyword.operator.logical.cds","match":"!"},{"name":"keyword.operator.assignment.cds","match":"=|\\:"},{"name":"keyword.operator.decrement.cds","match":"\\-\\-"},{"name":"keyword.operator.increment.cds","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.cds","match":"%|\\*|/|\\-|\\+"}]},"strings":{"patterns":[{"name":"string.quoted.single.cds","begin":"'","end":"'(?!')","patterns":[{"name":"meta.single-quote.doubled.cds","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cds"}}},{"name":"string.quoted.other.template.cds","begin":"`","end":"`","patterns":[{"include":"#interpolation"},{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cds"}}}]}}}
@@ -1 +1 @@
1
- {"name":"clarity","scopeName":"source.clar","patterns":[{"include":"#expression"},{"include":"#define-constant"},{"include":"#define-data-var"},{"include":"#define-map"},{"include":"#define-function"},{"include":"#define-fungible-token"},{"include":"#define-non-fungible-token"},{"include":"#define-trait"},{"include":"#use-trait"}],"repository":{"built-in-func":{"name":"meta.built-in-function","begin":"(?x) (\\() \\s* (\\-|\\+|\u003c\\=|\u003e\\=|\u003c|\u003e|\\*|/|and|append|as-contract|as-max-len\\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\\?|contract-of|default-to|element-at|element-at\\?|filter|fold|from-consensus-buff\\?|ft-burn\\?|ft-get-balance|ft-get-supply|ft-mint\\?|ft-transfer\\?|get-block-info\\?|get-burn-block-info\\?|hash160|if|impl-trait|index-of|index-of\\?|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\\?|nft-get-owner\\?|nft-mint\\?|nft-transfer\\?|not|or|pow|principal-construct\\?|principal-destruct\\?|principal-of\\?|print|replace-at\\?|secp256k1-recover\\?|secp256k1-verify|sha256|sha512|sha512/256|slice\\?|sqrti|string-to-int\\?|string-to-uint\\?|stx-account|stx-burn\\?|stx-get-balance|stx-transfer-memo\\?|stx-transfer\\?|to-consensus-buff\\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.built-in-function.start.clarity"},"2":{"name":"keyword.declaration.built-in-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.built-in-function.end.clarity"}}},"comment":{"name":"comment.line.semicolon.clarity","match":"(?x) (?\u003c=^|[()\\[\\]{}\",'`;\\s]) (;) .* $"},"data-type":{"patterns":[{"include":"#comment"},{"name":"entity.name.type.numeric.clarity","match":"\\b(uint|int)\\b"},{"name":"entity.name.type.principal.clarity","match":"\\b(principal)\\b"},{"name":"entity.name.type.bool.clarity","match":"\\b(bool)\\b"},{"match":"(?x) (\\() \\s* (?:(string-ascii|string-utf8)\\s+(\\d+)) \\s* (\\))","captures":{"1":{"name":"punctuation.string-def.start.clarity"},"2":{"name":"entity.name.type.string.clarity"},"3":{"name":"constant.numeric.string-len.clarity"},"4":{"name":"punctuation.string-def.end.clarity"}}},{"match":"(?x) (\\() \\s* (buff)\\s+(\\d+)\\s* (\\))","captures":{"1":{"name":"punctuation.buff-def.start.clarity"},"2":{"name":"entity.name.type.buff.clarity"},"3":{"name":"constant.numeric.buf-len.clarity"},"4":{"name":"punctuation.buff-def.end.clarity"}}},{"name":"meta.optional-def","begin":"(?x) (\\() \\s* (optional)\\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.optional-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"endCaptures":{"1":{"name":"punctuation.optional-def.end.clarity"}}},{"name":"meta.response-def","begin":"(?x) (\\() \\s* (response)\\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.response-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"endCaptures":{"1":{"name":"punctuation.response-def.end.clarity"}}},{"name":"meta.list-def","begin":"(?x) (\\() \\s* (list) \\s+ (\\d+) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.list-def.start.clarity"},"2":{"name":"entity.name.type.list.clarity"},"3":{"name":"constant.numeric.list-len.clarity"}},"endCaptures":{"1":{"name":"punctuation.list-def.end.clarity"}}},{"name":"meta.tuple-def","begin":"(\\{)","end":"(\\})","patterns":[{"name":"entity.name.tag.tuple-data-type-key.clarity","match":"([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*)(?=:)"},{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.tuple-def.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.tuple-def.end.clarity"}}}]},"define-constant":{"name":"meta.define-constant","begin":"(?x) (\\() \\s* (define-constant) \\s+ ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s+","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-constant.start.clarity"},"2":{"name":"keyword.declaration.define-constant.clarity"},"3":{"name":"entity.name.constant-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-constant.end.clarity"}}},"define-data-var":{"name":"meta.define-data-var","begin":"(?x) (\\() \\s* (define-data-var) \\s+ ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-data-var.start.clarity"},"2":{"name":"keyword.declaration.define-data-var.clarity"},"3":{"name":"entity.name.data-var-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-data-var.end.clarity"}}},"define-function":{"name":"meta.define-function","begin":"(?x) (\\() \\s* (define-(?:public|private|read-only)) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"},{"name":"meta.define-function-signature","begin":"(?x) (\\() \\s* ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s*","end":"(\\))","patterns":[{"name":"meta.function-argument","begin":"(?x) (\\() \\s* ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.function-argument.start.clarity"},"2":{"name":"variable.parameter.clarity"}},"endCaptures":{"1":{"name":"punctuation.function-argument.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.function-signature.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.function-signature.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.define-function.start.clarity"},"2":{"name":"keyword.declaration.define-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-function.end.clarity"}}},"define-fungible-token":{"match":"(?x) (\\() \\s* (define-fungible-token) \\s+ ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) (?:\\s+(u\\d+))?","captures":{"1":{"name":"punctuation.define-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-fungible-token.clarity"},"3":{"name":"entity.name.fungible-token-name.clarity variable.other.clarity"},"4":{"name":"constant.numeric.fungible-token-total-supply.clarity"},"5":{"name":"punctuation.define-fungible-token.end.clarity"}}},"define-map":{"name":"meta.define-map","begin":"(?x) (\\() \\s* (define-map) \\s+ ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-map.start.clarity"},"2":{"name":"keyword.declaration.define-map.clarity"},"3":{"name":"entity.name.map-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-map.end.clarity"}}},"define-non-fungible-token":{"name":"meta.define-non-fungible-token","begin":"(?x) (\\() \\s* (define-non-fungible-token) \\s+ ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.define-non-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-non-fungible-token.clarity"},"3":{"name":"entity.name.non-fungible-token-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-non-fungible-token.end.clarity"}}},"define-trait":{"name":"meta.define-trait","begin":"(?x) (\\() \\s* (define-trait) \\s+ ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s+","end":"(\\))","patterns":[{"name":"meta.define-trait-body","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"name":"meta.trait-function","begin":"(?x) (\\() \\s* ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]+\\??) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"name":"meta.trait-function-args","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.trait-function-args.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.trait-function-args.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.trait-function.start.clarity"},"2":{"name":"entity.name.trait-function-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.trait-function.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.define-trait-body.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-trait-body.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.define-trait.start.clarity"},"2":{"name":"keyword.declaration.define-trait.clarity"},"3":{"name":"entity.name.trait-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-trait.end.clarity"}}},"expression":{"patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#literal"},{"include":"#let-func"},{"include":"#built-in-func"},{"include":"#get-set-func"}]},"get-set-func":{"name":"meta.get-set-func","begin":"(?x) (\\() \\s* (var-get|var-set|map-get\\?|map-set|map-insert|map-delete|get) \\s+ ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s*","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.get-set-func.start.clarity"},"2":{"name":"keyword.control.clarity"},"3":{"name":"variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.get-set-func.end.clarity"}}},"keyword":{"name":"constant.language.clarity","match":"\\b(?:block-height|burn-block-height|chain-id|contract-caller|is-in-regtest|stx-liquid-supply|tx-sender|tx-sponsor?)\\b"},"let-func":{"name":"meta.let-function","begin":"(?x) (\\() \\s* (let) \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"},{"name":"meta.let-var","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"name":"meta.let-local-var","begin":"(?x) (\\() ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.let-local-var.start.clarity"},"2":{"name":"entity.name.let-local-var-name.clarity variable.parameter.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-local-var.end.clarity"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.let-var.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-var.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.let-function.start.clarity"},"2":{"name":"keyword.declaration.let-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-function.end.clarity"}}},"literal":{"patterns":[{"include":"#number-literal"},{"include":"#bool-literal"},{"include":"#string-literal"},{"include":"#tuple-literal"},{"include":"#principal-literal"},{"include":"#list-literal"},{"include":"#optional-literal"},{"include":"#response-literal"}],"repository":{"bool-literal":{"name":"constant.language.bool.clarity","match":"\\b(true|false)\\b"},"list-literal":{"name":"meta.list","begin":"(?x) (\\() \\s* (list) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.list.start.clarity"},"2":{"name":"entity.name.type.list.clarity"}},"endCaptures":{"1":{}}},"number-literal":{"patterns":[{"name":"constant.numeric.uint.clarity","match":"\\bu\\d+\\b"},{"name":"constant.numeric.int.clarity","match":"\\b\\d+\\b"},{"name":"constant.numeric.hex.clarity","match":"\\b0x[0-9a-f]*\\b"}]},"optional-literal":{"patterns":[{"name":"constant.language.none.clarity","match":"\\b(none)\\b"},{"name":"meta.some","begin":"(?x) (\\() \\s* (some) \\s+","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.some.start.clarity"},"2":{"name":"constant.language.some.clarity"}},"endCaptures":{"1":{"name":"punctuation.some.end.clarity"}}}]},"principal-literal":{"name":"constant.other.principal.clarity","match":"(?x) \\'[0-9A-Z]{28,41}(:?\\.[a-zA-Z][a-zA-Z0-9\\-]+){0,2} | (\\.[a-zA-Z][a-zA-Z0-9\\-]*){1,2} (?=[\\s(){},]|$)"},"response-literal":{"name":"meta.response","begin":"(?x) (\\() \\s* (ok|err) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.response.start.clarity"},"2":{"name":"constant.language.ok-err.clarity"}},"endCaptures":{"1":{"name":"punctuation.response.end.clarity"}}},"string-literal":{"patterns":[{"name":"string.quoted.double.clarity","begin":"(u?)(\")","end":"\"","patterns":[{"name":"constant.character.escape.quote","match":"\\\\."}],"beginCaptures":{"1":{"name":"string.quoted.utf8.clarity"},"2":{"name":"punctuation.definition.string.begin.clarity"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.clarity"}}}]},"tuple-literal":{"name":"meta.tuple","begin":"(\\{)","end":"(\\})","patterns":[{"name":"entity.name.tag.tuple-key.clarity","match":"([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*)(?=:)"},{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.tuple.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.tuple.end.clarity"}}}}},"use-trait":{"name":"meta.use-trait","begin":"(?x) (\\() \\s* (use-trait) \\s+ ([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*) \\s+","end":"(\\))","patterns":[{"include":"#literal"}],"beginCaptures":{"1":{"name":"punctuation.use-trait.start.clarity"},"2":{"name":"keyword.declaration.use-trait.clarity"},"3":{"name":"entity.name.trait-alias.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.use-trait.end.clarity"}}},"user-func":{"name":"meta.user-function","begin":"(?x) (\\() \\s* (([a-zA-Z][a-zA-Z0-9_\\-\\!\\?]*)) \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.user-function.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.user-function.end.clarity"}}}}}
1
+ {"name":"clarity","scopeName":"source.clar","patterns":[{"include":"#expression"},{"include":"#define-constant"},{"include":"#define-data-var"},{"include":"#define-map"},{"include":"#define-function"},{"include":"#define-fungible-token"},{"include":"#define-non-fungible-token"},{"include":"#define-trait"},{"include":"#use-trait"}],"repository":{"built-in-func":{"name":"meta.built-in-function","begin":"(?x) (\\() \\s* (\\-|\\+|\u003c\\=|\u003e\\=|\u003c|\u003e|\\*|/|and|append|as-contract|as-max-len\\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\\?|contract-of|default-to|element-at|element-at\\?|filter|fold|from-consensus-buff\\?|ft-burn\\?|ft-get-balance|ft-get-supply|ft-mint\\?|ft-transfer\\?|get-block-info\\?|get-burn-block-info\\?|hash160|if|impl-trait|index-of|index-of\\?|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\\?|nft-get-owner\\?|nft-mint\\?|nft-transfer\\?|not|or|pow|principal-construct\\?|principal-destruct\\?|principal-of\\?|print|replace-at\\?|secp256k1-recover\\?|secp256k1-verify|sha256|sha512|sha512/256|slice\\?|sqrti|string-to-int\\?|string-to-uint\\?|stx-account|stx-burn\\?|stx-get-balance|stx-transfer-memo\\?|stx-transfer\\?|to-consensus-buff\\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.built-in-function.start.clarity"},"2":{"name":"keyword.declaration.built-in-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.built-in-function.end.clarity"}}},"comment":{"name":"comment.line.semicolon.clarity","match":"(?x) (?\u003c=^|[()\\[\\]{}\",'`;\\s]) (;) .* $"},"data-type":{"patterns":[{"include":"#comment"},{"name":"entity.name.type.numeric.clarity","match":"\\b(uint|int)\\b"},{"name":"entity.name.type.principal.clarity","match":"\\b(principal)\\b"},{"name":"entity.name.type.bool.clarity","match":"\\b(bool)\\b"},{"match":"(?x) (\\() \\s* (?:(string-ascii|string-utf8)\\s+(\\d+)) \\s* (\\))","captures":{"1":{"name":"punctuation.string_type-def.start.clarity"},"2":{"name":"entity.name.type.string_type.clarity"},"3":{"name":"constant.numeric.string_type-len.clarity"},"4":{"name":"punctuation.string_type-def.end.clarity"}}},{"match":"(?x) (\\() \\s* (buff)\\s+(\\d+)\\s* (\\))","captures":{"1":{"name":"punctuation.buff-def.start.clarity"},"2":{"name":"entity.name.type.buff.clarity"},"3":{"name":"constant.numeric.buf-len.clarity"},"4":{"name":"punctuation.buff-def.end.clarity"}}},{"name":"meta.optional-def","begin":"(?x) (\\() \\s* (optional)\\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.optional-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"endCaptures":{"1":{"name":"punctuation.optional-def.end.clarity"}}},{"name":"meta.response-def","begin":"(?x) (\\() \\s* (response)\\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.response-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"endCaptures":{"1":{"name":"punctuation.response-def.end.clarity"}}},{"name":"meta.list-def","begin":"(?x) (\\() \\s* (list) \\s+ (\\d+) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.list-def.start.clarity"},"2":{"name":"entity.name.type.list.clarity"},"3":{"name":"constant.numeric.list-len.clarity"}},"endCaptures":{"1":{"name":"punctuation.list-def.end.clarity"}}},{"name":"meta.tuple-def","begin":"(\\{)","end":"(\\})","patterns":[{"name":"entity.name.tag.tuple-data-type-key.clarity","match":"([a-zA-Z][\\w\\?\\!\\-]*)(?=:)"},{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.tuple-def.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.tuple-def.end.clarity"}}}]},"define-constant":{"name":"meta.define-constant","begin":"(?x) (\\() \\s* (define-constant) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-constant.start.clarity"},"2":{"name":"keyword.declaration.define-constant.clarity"},"3":{"name":"entity.name.constant-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-constant.end.clarity"}}},"define-data-var":{"name":"meta.define-data-var","begin":"(?x) (\\() \\s* (define-data-var) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-data-var.start.clarity"},"2":{"name":"keyword.declaration.define-data-var.clarity"},"3":{"name":"entity.name.data-var-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-data-var.end.clarity"}}},"define-function":{"name":"meta.define-function","begin":"(?x) (\\() \\s* (define-(?:public|private|read-only)) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"name":"meta.define-function-signature","begin":"(?x) (\\() \\s* ([a-zA-Z][\\w\\?\\!\\-]*) \\s*","end":"(\\))","patterns":[{"name":"meta.function-argument","begin":"(?x) (\\() \\s* ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.function-argument.start.clarity"},"2":{"name":"variable.parameter.clarity"}},"endCaptures":{"1":{"name":"punctuation.function-argument.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.function-signature.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.function-signature.end.clarity"}}},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.define-function.start.clarity"},"2":{"name":"keyword.declaration.define-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-function.end.clarity"}}},"define-fungible-token":{"match":"(?x) (\\() \\s* (define-fungible-token) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) (?:\\s+(u\\d+))?","captures":{"1":{"name":"punctuation.define-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-fungible-token.clarity"},"3":{"name":"entity.name.fungible-token-name.clarity variable.other.clarity"},"4":{"name":"constant.numeric.fungible-token-total-supply.clarity"},"5":{"name":"punctuation.define-fungible-token.end.clarity"}}},"define-map":{"name":"meta.define-map","begin":"(?x) (\\() \\s* (define-map) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.define-map.start.clarity"},"2":{"name":"keyword.declaration.define-map.clarity"},"3":{"name":"entity.name.map-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-map.end.clarity"}}},"define-non-fungible-token":{"name":"meta.define-non-fungible-token","begin":"(?x) (\\() \\s* (define-non-fungible-token) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.define-non-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-non-fungible-token.clarity"},"3":{"name":"entity.name.non-fungible-token-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-non-fungible-token.end.clarity"}}},"define-trait":{"name":"meta.define-trait","begin":"(?x) (\\() \\s* (define-trait) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"name":"meta.define-trait-body","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"name":"meta.trait-function","begin":"(?x) (\\() \\s* ([a-zA-Z][\\w\\!\\?\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#data-type"},{"name":"meta.trait-function-args","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"include":"#data-type"}],"beginCaptures":{"1":{"name":"punctuation.trait-function-args.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.trait-function-args.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.trait-function.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.trait-function.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.define-trait-body.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-trait-body.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.define-trait.start.clarity"},"2":{"name":"keyword.declaration.define-trait.clarity"},"3":{"name":"entity.name.trait-name.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.define-trait.end.clarity"}}},"expression":{"patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#literal"},{"include":"#let-func"},{"include":"#built-in-func"},{"include":"#get-set-func"}]},"get-set-func":{"name":"meta.get-set-func","begin":"(?x) (\\() \\s* (var-get|var-set|map-get\\?|map-set|map-insert|map-delete|get) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s*","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.get-set-func.start.clarity"},"2":{"name":"keyword.control.clarity"},"3":{"name":"variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.get-set-func.end.clarity"}}},"keyword":{"name":"constant.language.clarity","match":"(?\u003c!\\S)(?!-)\\b(?:block-height|burn-block-height|chain-id|contract-caller|is-in-regtest|stx-liquid-supply|tx-sender|tx-sponsor?)\\b(?!\\s*-)"},"let-func":{"name":"meta.let-function","begin":"(?x) (\\() \\s* (let) \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"},{"name":"meta.let-var","begin":"(?x) (\\() \\s*","end":"(\\))","patterns":[{"name":"meta.let-local-var","begin":"(?x) (\\() ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.let-local-var.start.clarity"},"2":{"name":"entity.name.let-local-var-name.clarity variable.parameter.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-local-var.end.clarity"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.let-var.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-var.end.clarity"}}}],"beginCaptures":{"1":{"name":"punctuation.let-function.start.clarity"},"2":{"name":"keyword.declaration.let-function.clarity"}},"endCaptures":{"1":{"name":"punctuation.let-function.end.clarity"}}},"literal":{"patterns":[{"include":"#number-literal"},{"include":"#bool-literal"},{"include":"#string-literal"},{"include":"#tuple-literal"},{"include":"#principal-literal"},{"include":"#list-literal"},{"include":"#optional-literal"},{"include":"#response-literal"}],"repository":{"bool-literal":{"name":"constant.language.bool.clarity","match":"(?\u003c!\\S)(?!-)\\b(true|false)\\b(?!\\s*-)"},"list-literal":{"name":"meta.list","begin":"(?x) (\\() \\s* (list) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.list.start.clarity"},"2":{"name":"entity.name.type.list.clarity"}},"endCaptures":{"1":{}}},"number-literal":{"patterns":[{"name":"constant.numeric.uint.clarity","match":"(?\u003c!\\S)(?!-)\\bu\\d+\\b(?!\\s*-)"},{"name":"constant.numeric.int.clarity","match":"(?\u003c!\\S)(?!-)\\b\\d+\\b(?!\\s*-)"},{"name":"constant.numeric.hex.clarity","match":"(?\u003c!\\S)(?!-)\\b0x[0-9a-f]*\\b(?!\\s*-)"}]},"optional-literal":{"patterns":[{"name":"constant.language.none.clarity","match":"(?\u003c!\\S)(?!-)\\b(none)\\b(?!\\s*-)"},{"name":"meta.some","begin":"(?x) (\\() \\s* (some) \\s+","end":"(\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"punctuation.some.start.clarity"},"2":{"name":"constant.language.some.clarity"}},"endCaptures":{"1":{"name":"punctuation.some.end.clarity"}}}]},"principal-literal":{"name":"constant.other.principal.clarity","match":"(?x) \\'[0-9A-Z]{28,41}(:?\\.[a-zA-Z][a-zA-Z0-9\\-]+){0,2} | (\\.[a-zA-Z][a-zA-Z0-9\\-]*){1,2} (?=[\\s(){},]|$)"},"response-literal":{"name":"meta.response","begin":"(?x) (\\() \\s* (ok|err) \\s+","end":"(\\))","patterns":[{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.response.start.clarity"},"2":{"name":"constant.language.ok-err.clarity"}},"endCaptures":{"1":{"name":"punctuation.response.end.clarity"}}},"string-literal":{"patterns":[{"name":"string.quoted.double.clarity","begin":"(u?)(\")","end":"\"","patterns":[{"name":"constant.character.escape.quote","match":"\\\\."}],"beginCaptures":{"1":{"name":"string.quoted.utf8.clarity"},"2":{"name":"punctuation.definition.string.begin.clarity"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.clarity"}}}]},"tuple-literal":{"name":"meta.tuple","begin":"(\\{)","end":"(\\})","patterns":[{"name":"entity.name.tag.tuple-key.clarity","match":"([a-zA-Z][\\w\\?\\!\\-]*)(?=:)"},{"include":"#expression"},{"include":"#user-func"}],"beginCaptures":{"1":{"name":"punctuation.tuple.start.clarity"}},"endCaptures":{"1":{"name":"punctuation.tuple.end.clarity"}}}}},"use-trait":{"name":"meta.use-trait","begin":"(?x) (\\() \\s* (use-trait) \\s+ ([a-zA-Z][\\w\\?\\!\\-]*) \\s+","end":"(\\))","patterns":[{"include":"#literal"}],"beginCaptures":{"1":{"name":"punctuation.use-trait.start.clarity"},"2":{"name":"keyword.declaration.use-trait.clarity"},"3":{"name":"entity.name.trait-alias.clarity variable.other.clarity"}},"endCaptures":{"1":{"name":"punctuation.use-trait.end.clarity"}}},"user-func":{"name":"meta.user-function","begin":"(?x) (\\() \\s* (([a-zA-Z][\\w\\?\\!\\-]*)) \\s*","end":"(\\))","patterns":[{"include":"#expression"},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.user-function.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"endCaptures":{"1":{"name":"punctuation.user-function.end.clarity"}}}}}