grammars/source.bsl.json in github-linguist-6.2.0 vs grammars/source.bsl.json in github-linguist-6.3.0

- old
+ new

@@ -11,10 +11,13 @@ { "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": "(=)" @@ -158,20 +161,11 @@ { "name": "storage.modifier.directive.bsl", "match": "(?i:\u0026(НаКлиенте((НаСервере(БезКонтекста)?)?)|AtClient((AtServer(NoContext)?)?)|НаСервере(БезКонтекста)?|AtServer(NoContext)?))" }, { - "begin": "(?i)(\u0026(Перед|Before|После|After|Вместо|Around))\\s*\\((.*)\\)", - "end": "$", - "beginCaptures": { - "1": { - "name": "storage.type.annotation.bsl" - }, - "3": { - "name": "string.quoted.double.bsl" - } - } + "include": "#annotations" }, { "name": "keyword.other.preprocessor.bsl", "match": "(?i:#(Если|If|ИначеЕсли|ElsIf|Иначе|Else|КонецЕсли|EndIf).*(Тогда|Then)?)" }, @@ -191,9 +185,55 @@ "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": "//",