github-linguist 4.8.15 → 4.8.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/hint.haskell.json +206 -58
  3. data/grammars/hint.message.haskell.json +206 -58
  4. data/grammars/hint.type.haskell.json +206 -58
  5. data/grammars/source.actionscript.3.json +20 -22
  6. data/grammars/source.bsl.json +41 -9
  7. data/grammars/source.c++.json +2 -2
  8. data/grammars/source.clojure.json +3 -2
  9. data/grammars/source.coffee.json +32 -50
  10. data/grammars/source.crystal.json +21 -9
  11. data/grammars/source.cs.json +6 -0
  12. data/grammars/source.css.less.json +11 -11
  13. data/grammars/source.elixir.json +3 -3
  14. data/grammars/source.emacs.lisp.json +105 -11
  15. data/grammars/source.gfm.json +147 -0
  16. data/grammars/source.haskell.json +202 -147
  17. data/grammars/source.js.embedded.html.json +10 -0
  18. data/grammars/source.js.json +73 -26
  19. data/grammars/source.lean.json +8 -4
  20. data/grammars/source.litcoffee.json +1 -0
  21. data/grammars/source.mql5.json +214 -0
  22. data/grammars/source.objc.json +1 -1
  23. data/grammars/source.pic.json +67 -22
  24. data/grammars/source.python.json +6 -6
  25. data/grammars/source.sdbl.json +1 -1
  26. data/grammars/source.shell.json +1 -1
  27. data/grammars/source.sqf.json +5 -1
  28. data/grammars/source.swift.json +2564 -707
  29. data/grammars/source.ts.json +2581 -702
  30. data/grammars/source.tsx.json +2779 -841
  31. data/grammars/source.yaml.json +2 -2
  32. data/grammars/text.html.asdoc.json +0 -2
  33. data/grammars/text.html.handlebars.json +1 -1
  34. data/grammars/text.restructuredtext.json +37 -8
  35. data/grammars/text.roff.json +9 -1
  36. data/grammars/text.shell-session.json +1 -1
  37. data/grammars/text.tex.latex.haskell.json +207 -152
  38. data/grammars/text.xml.flex-config.json +0 -2
  39. data/lib/linguist/heuristics.rb +2 -2
  40. data/lib/linguist/languages.json +1 -1
  41. data/lib/linguist/languages.yml +85 -32
  42. data/lib/linguist/samples.json +2046 -114
  43. data/lib/linguist/vendor.yml +6 -0
  44. data/lib/linguist/version.rb +1 -1
  45. metadata +7 -5
@@ -4,8 +4,6 @@
4
4
  "as"
5
5
  ],
6
6
  "firstLineMatch": "\\bAS3\\b",
7
- "foldingStartMarker": "\\{\\s*$",
8
- "foldingStopMarker": "^\\s*\\}",
9
7
  "keyEquivalent": "^~A",
10
8
  "name": "ActionScript 3",
11
9
  "patterns": [
@@ -191,7 +189,7 @@
191
189
  ]
192
190
  },
193
191
  "class": {
194
- "begin": "(?x) # Turn on extended mode\n ^\\s* # Start of line and optional whitespace\n (\\b(dynamic|final)\\b\\s+)? # Optional dynamic or final\n (\\b(internal|public)\\b\\s+)? # Optional public or internal\n (\\b(dynamic|final)\\b\\s+)? # Optional dynamic or final\n (?=class|function) # Class | Function definition\n ",
192
+ "begin": "(?x)\t\t\t\t\t\t\t# Turn on extended mode\n\t\t\t\t\t ^\\s*\t\t\t\t\t\t\t# Start of line and optional whitespace\n\t\t\t\t\t (\\b(dynamic|final)\\b\\s+)?\t\t# Optional dynamic or final\n\t\t\t\t\t (\\b(internal|public)\\b\\s+)?\t# Optional public or internal\n\t\t\t\t\t (\\b(dynamic|final)\\b\\s+)?\t\t# Optional dynamic or final\n\t\t\t\t\t (?=class)\t\t\t\t\t\t# Class definition\n\t\t\t\t\t",
195
193
  "beginCaptures": {
196
194
  "2": {
197
195
  "name": "storage.type.modifier.actionscript.3"
@@ -327,7 +325,7 @@
327
325
  ]
328
326
  },
329
327
  "class-name": {
330
- "begin": "(?x)\n (?<=class) # look behind for class\n \\s+ # At least one character of whitespace\n (\\w+)\\b # The name of the class.\n ",
328
+ "begin": "(?x)\n\t\t\t\t\t (?<=class)\t\t# look behind for class\n\t\t\t\t\t \\s+\t\t\t# At least one character of whitespace\n\t\t\t \t\t (\\w+)\\b\t\t# The name of the class.\n\t\t\t\t\t",
331
329
  "beginCaptures": {
332
330
  "1": {
333
331
  "name": "entity.name.type.class.actionscript.3"
@@ -495,7 +493,7 @@
495
493
  "name": "support.type.function.global.actionscript.3"
496
494
  }
497
495
  },
498
- "comment": "This is experimental as we need to find a way to loosen the match.\n By removing the dependency on the statement terminator \";\" in the end capture,\n as it is optional for ActionScript. (?<=:XML)\\s*=\\s*",
496
+ "comment": "This is experimental as we need to find a way to loosen the match.\n\t\t\t\t\t\t\t By removing the dependency on the statement terminator \";\" in the end capture,\n\t\t\t\t\t\t\t as it is optional for ActionScript. (?<=:XML)\\s*=\\s*",
499
497
  "contentName": "text.xml",
500
498
  "end": "(?<=>)\\s*;",
501
499
  "name": "meta.embedded.xml",
@@ -614,7 +612,7 @@
614
612
  "name": "keyword.operator.symbolic.actionscript.3"
615
613
  }
616
614
  },
617
- "comment": "These should obviously be scoped to actionscript.4 but for now it is easier to stay with 3.\n Otherwise we need to add the scopes into any commands using them.\n \n var v:Vector.<String>;\n v = new Vector.<String>();\n \n ",
615
+ "comment": "These should obviously be scoped to actionscript.4 but for now it is easier to stay with 3.\n\t\t Otherwise we need to add the scopes into any commands using them.\n\t\t \n\t\t var v:Vector.<String>;\n v = new Vector.<String>();\n\t\t \n\t\t ",
618
616
  "end": ">",
619
617
  "endCaptures": {
620
618
  "0": {
@@ -659,7 +657,7 @@
659
657
  "name": "comment.line.double-slash.actionscript.3"
660
658
  }
661
659
  },
662
- "comment": "Supporting ActionScript files that contain loose code is a big headache, and may well be impossible to do\n if we want to keep all the goodies provided by the package, class and method level scopes. So without spending too\n much time on this I can only think of imposing arbitary begin and end patters where users want to see syntax colouring\n within include files.",
660
+ "comment": "Supporting ActionScript files that contain loose code is a big headache, and may well be impossible to do\n\t\t\tif we want to keep all the goodies provided by the package, class and method level scopes. So without spending too\n\t\t\tmuch time on this I can only think of imposing arbitary begin and end patters where users want to see syntax colouring\n\t\t\twithin include files.",
663
661
  "contentName": "meta.included.actionscript.3",
664
662
  "end": "\\/\\/AS3_INCLUDE_FILE",
665
663
  "endCaptures": {
@@ -710,7 +708,7 @@
710
708
  ]
711
709
  },
712
710
  "interface": {
713
- "begin": "(?x) # Turn on extended mode\n ^ # a line beginning with\n \\s* # some optional space\n (\\b(public)\\b\\s+) # namespace\n (interface)\\s+ # interface declaration and at least one char. of whitespace\n (\\w+) # interface name.\n \\s*",
711
+ "begin": "(?x)\t\t\t\t# Turn on extended mode\n\t\t\t\t\t ^\t\t\t\t\t# a line beginning with\n\t\t\t\t\t \\s*\t\t\t\t# some optional space\n\t\t\t\t\t (\\b(public)\\b\\s+)\t# namespace\n\t\t\t\t\t (interface)\\s+\t\t# interface declaration and at least one char. of whitespace\n\t\t\t\t\t (\\w+) # interface name.\n\t\t\t\t\t \\s*",
714
712
  "beginCaptures": {
715
713
  "1": {
716
714
  "name": "storage.type.namespace.actionscript.3"
@@ -722,7 +720,7 @@
722
720
  "name": "entity.name.type.class.actionscript.3"
723
721
  }
724
722
  },
725
- "comment": "Using a separate definition for interfaces as they use multiple extends statements.\n Relies, luckily, on the fact that an interface doesnt contain any sub blocks to avoid problems with the \n language definition and clashing scopes.",
723
+ "comment": "Using a separate definition for interfaces as they use multiple extends statements.\n\t\t\t\t\t Relies, luckily, on the fact that an interface doesnt contain any sub blocks to avoid problems with the \n\t\t\t\t\t language definition and clashing scopes.",
726
724
  "end": "\\}",
727
725
  "name": "meta.interface.actionscript.3",
728
726
  "patterns": [
@@ -751,7 +749,7 @@
751
749
  },
752
750
  "interface-error-block": {
753
751
  "begin": "\\{",
754
- "comment": "TODO, find a way for this to exist alongside\n an interface that has not been extended.",
752
+ "comment": "TODO, find a way for this to exist alongside\n\t\t an interface that has not been extended.",
755
753
  "end": "\\}",
756
754
  "name": "invalid.illegal.actionscript.3"
757
755
  },
@@ -804,7 +802,7 @@
804
802
  "interface-getter-setters": {
805
803
  "patterns": [
806
804
  {
807
- "begin": "(?x)\n ^\\s* # start of line, optional whitespace\n (function)\\s+ # function declaration\n (\\bget\\b)\\s+ # accessor\n (\\w+) # Method name.\n \\s*\n (\\()\n \\s*\n (.*)?\n \\s*\n (\\))\n \\s*:\\s*",
805
+ "begin": "(?x)\n\t\t\t\t\t\t\t ^\\s* # start of line, optional whitespace\n\t\t\t\t\t\t\t (function)\\s+ # function declaration\n\t\t\t\t\t\t\t (\\bget\\b)\\s+ # accessor\n\t\t\t\t\t\t\t (\\w+) # Method name.\n\t\t\t\t\t\t\t \\s*\n\t\t\t\t\t\t\t (\\()\n\t\t\t\t\t\t\t \\s*\n\t\t\t\t\t\t\t (.*)?\n\t\t\t\t\t\t\t \\s*\n\t\t\t\t\t\t\t (\\))\n\t\t\t\t\t\t\t \\s*:\\s*",
808
806
  "beginCaptures": {
809
807
  "1": {
810
808
  "name": "storage.type.function.actionscript.3"
@@ -844,7 +842,7 @@
844
842
  ]
845
843
  },
846
844
  {
847
- "begin": "(?x)\n ^\\s* # start of line, optional whitespace\n (function)\\s+ # function declaration\n (\\bset\\b)\\s+ # accessor\n (\\w+) # method name\n \\s*\n (\\()",
845
+ "begin": "(?x)\n\t\t\t\t\t\t\t ^\\s* # start of line, optional whitespace\n\t\t\t\t\t\t\t (function)\\s+ # function declaration\n\t\t\t\t\t\t\t (\\bset\\b)\\s+ # accessor\n\t\t\t\t\t\t\t (\\w+) # method name\n\t\t\t\t\t\t\t \\s*\n\t\t\t\t\t\t\t (\\()",
848
846
  "beginCaptures": {
849
847
  "1": {
850
848
  "name": "storage.type.function.actionscript.3"
@@ -859,7 +857,7 @@
859
857
  "name": "punctuation.definition.parameters.begin.actionscript.3"
860
858
  }
861
859
  },
862
- "end": "(?x)\n (\\))\n \\s*:\\s*\n (\n (void)\n |\n (\\w+)\n )",
860
+ "end": "(?x)\n\t\t\t\t\t\t\t(\\))\n\t\t\t\t\t\t\t\\s*:\\s*\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t(void)\n\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t(\\w+)\n\t\t\t\t\t\t\t)",
863
861
  "endCaptures": {
864
862
  "1": {
865
863
  "name": "punctuation.definition.parameters.end.actionscript.3"
@@ -889,7 +887,7 @@
889
887
  ]
890
888
  },
891
889
  "interface-methods": {
892
- "begin": "(?x)\n ^\\s* # start of line, optional whitespace\n (function)\\s+ # function declaration\n (\\s*\\w+) # Method name.\n \\s*(\\()",
890
+ "begin": "(?x)\n\t\t\t\t\t ^\\s* # start of line, optional whitespace\n\t\t\t\t\t (function)\\s+ # function declaration\n\t\t\t\t\t (\\s*\\w+) # Method name.\n\t\t\t\t\t \\s*(\\()",
893
891
  "beginCaptures": {
894
892
  "1": {
895
893
  "name": "storage.type.function.actionscript.3"
@@ -901,7 +899,7 @@
901
899
  "name": "punctuation.definition.parameters.begin.actionscript.3"
902
900
  }
903
901
  },
904
- "comment": "matches: public function functionName():returnType;\n TODO, currently looking for a way to avoid having to use a \n semicolon to terminate the line ending.\n (trouble being mulitline parameters).",
902
+ "comment": "matches: public function functionName():returnType;\n\t\t\t\t\t TODO, currently looking for a way to avoid having to use a \n\t\t\t\t\t semicolon to terminate the line ending.\n\t\t\t\t\t (trouble being mulitline parameters).",
905
903
  "end": "(;)",
906
904
  "endCaptures": {
907
905
  "1": {
@@ -1091,7 +1089,7 @@
1091
1089
  "name": "punctuation.separator.actionscript.3"
1092
1090
  },
1093
1091
  "method": {
1094
- "begin": "(?x)\n ^\\s*\n ((override|static)\\s+){0,2} # Optional override or static\n (public|private|protected|internal|final|dynamic|\\w+)\\s+ # Namespace\n ((override|static)\\s+){0,2} # Optional static.\n (function)\\s+\n (\\s*\\w+) # Method name.\n \\s*(\\()",
1092
+ "begin": "(?x)\n\t\t\t ^\\s*\n \t\t\t ((override|static)\\s+){0,2} # Optional override or static\n \t\t\t (public|private|protected|internal|final|dynamic|\\w+)\\s+ # Namespace\n \t\t\t ((override|static)\\s+){0,2} # Optional static.\n \t\t\t (function)\\s+\n \t\t\t (\\s*\\w+) # Method name.\n \t\t\t \\s*(\\()",
1095
1093
  "beginCaptures": {
1096
1094
  "2": {
1097
1095
  "name": "storage.modifier.actionscript.3"
@@ -1153,7 +1151,7 @@
1153
1151
  "method-getter-setters": {
1154
1152
  "patterns": [
1155
1153
  {
1156
- "begin": "(?x) # Extended mode\n ^\\s* # Start of line, optional whitespace\n ((override|static)\\s+){0,2} # Optional override\n (public|private|protected|internal|final|dynamic|\\w+)\\s+ # namespace declaration\n ((static)\\s+){0,2} # Optional static\n (function)\\s* # function declaration\n (set)\\s+ # set declaration\n (\\w+)\\s* # getter name, optional whitespace\n (\\()",
1154
+ "begin": "(?x) # Extended mode\n\t\t\t\t\t ^\\s* # Start of line, optional whitespace\n \t\t\t ((override|static)\\s+){0,2} # Optional override\n \t\t\t (public|private|protected|internal|final|dynamic|\\w+)\\s+ # namespace declaration\n \t\t\t ((static)\\s+){0,2} # Optional static\n \t\t\t (function)\\s* # function declaration\n (set)\\s+ # set declaration\n (\\w+)\\s* # getter name, optional whitespace\n \t\t\t (\\()",
1157
1155
  "beginCaptures": {
1158
1156
  "2": {
1159
1157
  "name": "storage.modifier.actionscript.3"
@@ -1177,8 +1175,8 @@
1177
1175
  "name": "punctuation.definition.parameters.begin.actionscript.3"
1178
1176
  }
1179
1177
  },
1180
- "comment": "matches: public function set propName():void\n TODO: Capture return type as method",
1181
- "end": "(?x)\n (\\))\n \\s*:\\s*\n (\n (void)\n |\n (\\w+)\n )",
1178
+ "comment": "matches: public function set propName():void\n\t\t\t\t\t TODO: Capture return type as method",
1179
+ "end": "(?x)\n\t\t\t\t\t\t\t (\\))\n\t\t\t\t\t\t\t \\s*:\\s*\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t \t(void)\n\t\t\t\t\t\t\t \t|\n\t\t\t\t\t\t\t \t(\\w+)\n\t\t\t\t\t\t\t )",
1182
1180
  "endCaptures": {
1183
1181
  "1": {
1184
1182
  "name": "punctuation.definition.parameters.end.actionscript.3"
@@ -1206,7 +1204,7 @@
1206
1204
  ]
1207
1205
  },
1208
1206
  {
1209
- "begin": "(?x)\n ^\\s*\n (\n (override|static)\\s+\n ){0,2}\n (public|private|protected|internal|static|final|dynamic|\\w+)\\s+\n (\n (override|static)\\s+\n ){0,2}\n (function)\n \\s*\n (get)\n \\s+\n (\\w+)\n \\s*\n (\\()\n \\s*\n (.*)?\n \\s*\n (\\))\n \\s*:\\s*",
1207
+ "begin": "(?x)\n\t\t\t\t\t ^\\s*\n \t\t\t (\n \t\t\t (override|static)\\s+\n \t\t\t ){0,2}\n \t\t\t (public|private|protected|internal|static|final|dynamic|\\w+)\\s+\n \t\t\t (\n \t\t\t (override|static)\\s+\n \t\t\t ){0,2}\n \t\t\t (function)\n \t\t\t \\s*\n (get)\n \\s+\n (\\w+)\n \\s*\n \t\t\t (\\()\n \t\t\t \\s*\n \t\t\t (.*)?\n \t\t\t \\s*\n \t\t\t (\\))\n \t\t\t \\s*:\\s*",
1210
1208
  "beginCaptures": {
1211
1209
  "10": {
1212
1210
  "name": "invalid.illegal.actionscript.3"
@@ -1286,7 +1284,7 @@
1286
1284
  "name": "storage.type.rest.actionscript.3"
1287
1285
  }
1288
1286
  },
1289
- "match": "(?x)\n (\\w+) # paramater name\n \\s*(\\:)\\s* # type seperator\n (\n (\\w+)\n |\n (\\*) # followed by class or wildcard\n )\n |(\\.\\.\\.) # or rest...\n "
1287
+ "match": "(?x)\n\t\t\t\t\t (\\$?\\w+) # paramater name\n\t\t\t\t\t \\s*(\\:)\\s* # type seperator\n\t\t\t\t\t (\n\t\t\t\t\t\t(\\w+)\n\t\t\t\t\t\t|\n\t\t\t\t\t\t(\\*) # followed by class or wildcard\n\t\t\t\t\t )\n\t\t\t\t\t |(\\.\\.\\.) # or rest...\n\t\t\t\t\t "
1290
1288
  },
1291
1289
  "method-parameters-default": {
1292
1290
  "begin": "(=)",
@@ -1551,7 +1549,7 @@
1551
1549
  "name": "variable.language.actionscript.3"
1552
1550
  },
1553
1551
  {
1554
- "comment": "This follows the convention that underscores or, less often, \n dollars identify private and protected variable names.",
1552
+ "comment": "This follows the convention that underscores or, less often, \n\t\t\t\t\t dollars identify private and protected variable names.",
1555
1553
  "match": "((\\$|\\b_)\\w+?)\\b",
1556
1554
  "name": "variable.language.private.actionscript.3"
1557
1555
  }
@@ -12,18 +12,24 @@
12
12
  },
13
13
  {
14
14
  "comment": "Proc and function definition",
15
- "begin": "(?i:(?<=[^\\wа-яё\\.]|^)(Процедура|Procedure|Функция|Function)\\s+([a-zа-яё0-9_]+)\\s*\\()",
15
+ "begin": "(?i:(?<=[^\\wа-яё\\.]|^)(Процедура|Procedure|Функция|Function)\\s+([a-zа-яё0-9_]+)\\s*(\\())",
16
16
  "beginCaptures": {
17
17
  "1": {
18
18
  "name": "storage.type.bsl"
19
19
  },
20
20
  "2": {
21
21
  "name": "entity.name.function.bsl"
22
+ },
23
+ "3": {
24
+ "name": "punctuation.bracket.begin.bsl"
22
25
  }
23
26
  },
24
- "end": "(?i:\\)\\s*((Экспорт|Export)(?=[^\\wа-яё\\.]|$))?)",
27
+ "end": "(?i:(\\))\\s*((Экспорт|Export)(?=[^\\wа-яё\\.]|$))?)",
25
28
  "endCaptures": {
26
29
  "1": {
30
+ "name": "punctuation.bracket.end.bsl"
31
+ },
32
+ "2": {
27
33
  "name": "storage.modifier.bsl"
28
34
  }
29
35
  },
@@ -183,7 +189,7 @@
183
189
  {
184
190
  "comment": "Глобальный контекст - процедуры и функции сеанса работы",
185
191
  "name": "support.function.bsl",
186
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ПолучитьЗаголовокСистемы|GetCaption|ПолучитьСкоростьКлиентскогоСоединения|GetClientConnectionSpeed|ПодключитьОбработчикОжидания|AttachIdleHandler|УстановитьЗаголовокСистемы|SetCaption|ОтключитьОбработчикОжидания|DetachIdleHandler|ИмяКомпьютера|ComputerName|ЗавершитьРаботуСистемы|Exit|ИмяПользователя|UserName|ПрекратитьРаботуСистемы|Terminate|ПолноеИмяПользователя|UserFullName|ЗаблокироватьРаботуПользователя|LockApplication|КаталогПрограммы|BinDir|КаталогВременныхФайлов|TempFilesDir|ПравоДоступа|AccessRight|РольДоступна|IsInRole|ТекущийЯзык|CurrentLanguage|ТекущийКодЛокализации|CurrentLocaleCode|СтрокаСоединенияИнформационнойБазы|InfoBaseConnectionString|ПодключитьОбработчикОповещения|AttachNotificationHandler|ОтключитьОбработчикОповещения|DetachNotificationHandler|ПолучитьСообщенияПользователю|GetUserMessages|ПараметрыДоступа|AccessParameters|ПредставлениеПриложения|ApplicationPresentation|ТекущийЯзыкСистемы|CurrentSystemLanguage|ЗапуститьСистему|RunSystem|ТекущийРежимЗапуска|CurrentRunMode|УстановитьЧасовойПоясСеанса|SetSessionTimeZone|ЧасовойПоясСеанса|SessionTimeZone|ТекущаяДатаСеанса|CurrentSessionDate|УстановитьКраткийЗаголовокПриложения|SetShortApplicationCaption|ПолучитьКраткийЗаголовокПриложения|GetShortApplicationCaption|ПредставлениеПрава|RightPresentation|ВыполнитьПроверкуПравДоступа|VerifyAccessRights|РабочийКаталогДанныхПользователя|UserDataWorkDir|КаталогДокументов|DocumentsDir|ПолучитьИнформациюЭкрановКлиента|GetClientDisplaysInformation|ТекущийВариантОсновногоШрифтаКлиентскогоПриложения|ClientApplicationBaseFontCurrentVariant|ТекущийВариантИнтерфейсаКлиентскогоПриложения|ClientApplicationInterfaceCurrentVariant|УстановитьЗаголовокКлиентскогоПриложения|SetClientApplicationCaption|ПолучитьЗаголовокКлиентскогоПриложения|GetClientApplicationCaption|НачатьПолучениеКаталогаВременныхФайлов|BeginGettingTempFilesDir|НачатьПолучениеКаталогаДокументов|BeginGettingDocumentsDir|НачатьПолучениеРабочегоКаталогаДанныхПользователя|BeginGettingUserDataWorkDir|ПодключитьОбработчикЗапросаНастроекКлиентаЛицензирования|AttachLicensingClientParametersRequestHandler|ОтключитьОбработчикЗапросаНастроекКлиентаЛицензирования|DetachLicensingClientParametersRequestHandler)\\s*(?=\\())"
192
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ПолучитьЗаголовокСистемы|GetCaption|ПолучитьСкоростьКлиентскогоСоединения|GetClientConnectionSpeed|ПодключитьОбработчикОжидания|AttachIdleHandler|УстановитьЗаголовокСистемы|SetCaption|ОтключитьОбработчикОжидания|DetachIdleHandler|ИмяКомпьютера|ComputerName|ЗавершитьРаботуСистемы|Exit|ИмяПользователя|UserName|ПрекратитьРаботуСистемы|Terminate|ПолноеИмяПользователя|UserFullName|ЗаблокироватьРаботуПользователя|LockApplication|КаталогПрограммы|BinDir|КаталогВременныхФайлов|TempFilesDir|ПравоДоступа|AccessRight|РольДоступна|IsInRole|ТекущийЯзык|CurrentLanguage|ТекущийКодЛокализации|CurrentLocaleCode|СтрокаСоединенияИнформационнойБазы|InfoBaseConnectionString|ПодключитьОбработчикОповещения|AttachNotificationHandler|ОтключитьОбработчикОповещения|DetachNotificationHandler|ПолучитьСообщенияПользователю|GetUserMessages|ПараметрыДоступа|AccessParameters|ПредставлениеПриложения|ApplicationPresentation|ТекущийЯзыкСистемы|CurrentSystemLanguage|ЗапуститьСистему|RunSystem|ТекущийРежимЗапуска|CurrentRunMode|УстановитьЧасовойПоясСеанса|SetSessionTimeZone|ЧасовойПоясСеанса|SessionTimeZone|ТекущаяДатаСеанса|CurrentSessionDate|УстановитьКраткийЗаголовокПриложения|SetShortApplicationCaption|ПолучитьКраткийЗаголовокПриложения|GetShortApplicationCaption|ПредставлениеПрава|RightPresentation|ВыполнитьПроверкуПравДоступа|VerifyAccessRights|РабочийКаталогДанныхПользователя|UserDataWorkDir|КаталогДокументов|DocumentsDir|ПолучитьИнформациюЭкрановКлиента|GetClientDisplaysInformation|ТекущийВариантОсновногоШрифтаКлиентскогоПриложения|ClientApplicationBaseFontCurrentVariant|ТекущийВариантИнтерфейсаКлиентскогоПриложения|ClientApplicationInterfaceCurrentVariant|УстановитьЗаголовокКлиентскогоПриложения|SetClientApplicationCaption|ПолучитьЗаголовокКлиентскогоПриложения|GetClientApplicationCaption|НачатьПолучениеКаталогаВременныхФайлов|BeginGettingTempFilesDir|НачатьПолучениеКаталогаДокументов|BeginGettingDocumentsDir|НачатьПолучениеРабочегоКаталогаДанныхПользователя|BeginGettingUserDataWorkDir|ПодключитьОбработчикЗапросаНастроекКлиентаЛицензирования|AttachLicensingClientParametersRequestHandler|ОтключитьОбработчикЗапросаНастроекКлиентаЛицензирования|DetachLicensingClientParametersRequestHandler|КаталогБиблиотекиМобильногоУстройства|MobileDeviceLibraryDir)\\s*(?=\\())"
187
193
  },
188
194
  {
189
195
  "comment": "Глобальный контекст - процедуры и функции сохранения значений",
@@ -203,12 +209,12 @@
203
209
  {
204
210
  "comment": "Глобальный контекст - Процедуры и функции работы с файлами",
205
211
  "name": "support.function.bsl",
206
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(КопироватьФайл|FileCopy|ПереместитьФайл|MoveFile|УдалитьФайлы|DeleteFiles|НайтиФайлы|FindFiles|СоздатьКаталог|CreateDirectory|ПолучитьИмяВременногоФайла|GetTempFileName|РазделитьФайл|SplitFile|ОбъединитьФайлы|MergeFiles|ПолучитьФайл|GetFile|НачатьПомещениеФайла|BeginPutFile|ПоместитьФайл|PutFile|ЭтоАдресВременногоХранилища|IsTempStorageURL|УдалитьИзВременногоХранилища|DeleteFromTempStorage|ПолучитьИзВременногоХранилища|GetFromTempStorage|ПоместитьВоВременноеХранилище|PutToTempStorage|ПодключитьРасширениеРаботыСФайлами|AttachFileSystemExtension|НачатьУстановкуРасширенияРаботыСФайлами|BeginInstallFileSystemExtension|УстановитьРасширениеРаботыСФайлами|InstallFileSystemExtension|ПолучитьФайлы|GetFiles|ПоместитьФайлы|PutFiles|ЗапроситьРазрешениеПользователя|RequestUserPermission|ПолучитьМаскуВсеФайлы|GetAllFilesMask|ПолучитьМаскуВсеФайлыКлиента|GetClientAllFilesMask|ПолучитьМаскуВсеФайлыСервера|GetServerAllFilesMask|ПолучитьРазделительПути|GetPathSeparator|ПолучитьРазделительПутиКлиента|GetClientPathSeparator|ПолучитьРазделительПутиСервера|GetServerPathSeparator|НачатьПодключениеРасширенияРаботыСФайлами|BeginAttachingFileSystemExtension|НачатьЗапросРазрешенияПользователя|BeginRequestingUserPermission|НачатьПоискФайлов|BeginFindingFiles|НачатьСозданиеКаталога|BeginCreatingDirectory|НачатьКопированиеФайла|BeginCopyingFile|НачатьПеремещениеФайла|BeginMovingFile|НачатьУдалениеФайлов|BeginDeletingFiles|НачатьПолучениеФайлов|BeginGettingFiles|НачатьПомещениеФайлов|BeginPuttingFiles)\\s*(?=\\())"
212
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(КопироватьФайл|FileCopy|ПереместитьФайл|MoveFile|УдалитьФайлы|DeleteFiles|НайтиФайлы|FindFiles|СоздатьКаталог|CreateDirectory|ПолучитьИмяВременногоФайла|GetTempFileName|РазделитьФайл|SplitFile|ОбъединитьФайлы|MergeFiles|ПолучитьФайл|GetFile|НачатьПомещениеФайла|BeginPutFile|ПоместитьФайл|PutFile|ЭтоАдресВременногоХранилища|IsTempStorageURL|УдалитьИзВременногоХранилища|DeleteFromTempStorage|ПолучитьИзВременногоХранилища|GetFromTempStorage|ПоместитьВоВременноеХранилище|PutToTempStorage|ПодключитьРасширениеРаботыСФайлами|AttachFileSystemExtension|НачатьУстановкуРасширенияРаботыСФайлами|BeginInstallFileSystemExtension|УстановитьРасширениеРаботыСФайлами|InstallFileSystemExtension|ПолучитьФайлы|GetFiles|ПоместитьФайлы|PutFiles|ЗапроситьРазрешениеПользователя|RequestUserPermission|ПолучитьМаскуВсеФайлы|GetAllFilesMask|ПолучитьМаскуВсеФайлыКлиента|GetClientAllFilesMask|ПолучитьМаскуВсеФайлыСервера|GetServerAllFilesMask|ПолучитьРазделительПути|GetPathSeparator|ПолучитьРазделительПутиКлиента|GetClientPathSeparator|ПолучитьРазделительПутиСервера|GetServerPathSeparator|НачатьПодключениеРасширенияРаботыСФайлами|BeginAttachingFileSystemExtension|НачатьЗапросРазрешенияПользователя|BeginRequestingUserPermission|НачатьПоискФайлов|BeginFindingFiles|НачатьСозданиеКаталога|BeginCreatingDirectory|НачатьКопированиеФайла|BeginCopyingFile|НачатьПеремещениеФайла|BeginMovingFile|НачатьУдалениеФайлов|BeginDeletingFiles|НачатьПолучениеФайлов|BeginGettingFiles|НачатьПомещениеФайлов|BeginPuttingFiles|НачатьСозданиеДвоичныхДанныхИзФайла|BeginCreateBinaryDataFromFile)\\s*(?=\\())"
207
213
  },
208
214
  {
209
215
  "comment": "Глобальный контекст - Процедуры и функции работы с информационной базой",
210
216
  "name": "support.function.bsl",
211
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(НачатьТранзакцию|BeginTransaction|ЗафиксироватьТранзакцию|CommitTransaction|ОтменитьТранзакцию|RollbackTransaction|УстановитьМонопольныйРежим|SetExclusiveMode|МонопольныйРежим|ExclusiveMode|ПолучитьОперативнуюОтметкуВремени|GetRealTimeTimestamp|ПолучитьСоединенияИнформационнойБазы|GetInfoBaseConnections|НомерСоединенияИнформационнойБазы|InfoBaseConnectionNumber|КонфигурацияИзменена|ConfigurationChanged|КонфигурацияБазыДанныхИзмененаДинамически|DataBaseConfigurationChangedDynamically|УстановитьВремяОжиданияБлокировкиДанных|SetLockWaitTime|ОбновитьНумерациюОбъектов|RefreshObjectsNumbering|ПолучитьВремяОжиданияБлокировкиДанных|GetLockWaitTime|КодЛокализацииИнформационнойБазы|InfoBaseLocaleCode|УстановитьМинимальнуюДлинуПаролейПользователей|SetUserPasswordMinLength|ПолучитьМинимальнуюДлинуПаролейПользователей|GetUserPasswordMinLength|ИнициализироватьПредопределенныеДанные|InitializePredefinedData|УдалитьДанныеИнформационнойБазы|EraseInfoBaseData|УстановитьПроверкуСложностиПаролейПользователей|SetUserPasswordStrengthCheck|ПолучитьПроверкуСложностиПаролейПользователей|GetUserPasswordStrengthCheck|ПолучитьСтруктуруХраненияБазыДанных|GetDBStorageStructureInfo|УстановитьПривилегированныйРежим|SetPrivilegedMode|ПривилегированныйРежим|PrivilegedMode|ТранзакцияАктивна|TransactionActive|НеобходимостьЗавершенияСоединения|ConnectionStopRequest|НомерСеансаИнформационнойБазы|InfoBaseSessionNumber|ПолучитьСеансыИнформационнойБазы|GetInfoBaseSessions|ЗаблокироватьДанныеДляРедактирования|LockDataForEdit|УстановитьСоединениеСВнешнимИсточникомДанных|ConnectExternalDataSource|РазблокироватьДанныеДляРедактирования|UnlockDataForEdit|РазорватьСоединениеСВнешнимИсточникомДанных|DisconnectExternalDataSource|ПолучитьБлокировкуСеансов|GetSessionsLock|УстановитьБлокировкуСеансов|SetSessionsLock|ОбновитьПовторноИспользуемыеЗначения|RefreshReusableValues|УстановитьБезопасныйРежим|SetSafeMode|БезопасныйРежим|SafeMode|ПолучитьДанныеВыбора|GetChoiceData|УстановитьЧасовойПоясИнформационнойБазы|SetInfoBaseTimeZone|ПолучитьЧасовойПоясИнформационнойБазы|GetInfoBaseTimeZone|ПолучитьОбновлениеКонфигурацииБазыДанных|GetDataBaseConfigurationUpdate|УстановитьБезопасныйРежимРазделенияДанных|SetDataSeparationSafeMode|БезопасныйРежимРазделенияДанных|DataSeparationSafeMode|УстановитьВремяЗасыпанияПассивногоСеанса|SetPassiveSessionHibernateTime|ПолучитьВремяЗасыпанияПассивногоСеанса|GetPassiveSessionHibernateTime|УстановитьВремяЗавершенияСпящегоСеанса|SetHibernateSessionTerminateTime|ПолучитьВремяЗавершенияСпящегоСеанса|GetHibernateSessionTerminateTime|ПолучитьТекущийСеансИнформационнойБазы|GetCurrentInfoBaseSession|ПолучитьИдентификаторКонфигурации|GetConfigurationID|УстановитьНастройкиКлиентаЛицензирования|SetLicensingClientParameters|ПолучитьИмяКлиентаЛицензирования|GetLicensingClientName|ПолучитьДополнительныйПараметрКлиентаЛицензирования|GetLicensingClientAdditionalParameter)\\s*(?=\\())"
217
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(НачатьТранзакцию|BeginTransaction|ЗафиксироватьТранзакцию|CommitTransaction|ОтменитьТранзакцию|RollbackTransaction|УстановитьМонопольныйРежим|SetExclusiveMode|МонопольныйРежим|ExclusiveMode|ПолучитьОперативнуюОтметкуВремени|GetRealTimeTimestamp|ПолучитьСоединенияИнформационнойБазы|GetInfoBaseConnections|НомерСоединенияИнформационнойБазы|InfoBaseConnectionNumber|КонфигурацияИзменена|ConfigurationChanged|КонфигурацияБазыДанныхИзмененаДинамически|DataBaseConfigurationChangedDynamically|УстановитьВремяОжиданияБлокировкиДанных|SetLockWaitTime|ОбновитьНумерациюОбъектов|RefreshObjectsNumbering|ПолучитьВремяОжиданияБлокировкиДанных|GetLockWaitTime|КодЛокализацииИнформационнойБазы|InfoBaseLocaleCode|УстановитьМинимальнуюДлинуПаролейПользователей|SetUserPasswordMinLength|ПолучитьМинимальнуюДлинуПаролейПользователей|GetUserPasswordMinLength|ИнициализироватьПредопределенныеДанные|InitializePredefinedData|УдалитьДанныеИнформационнойБазы|EraseInfoBaseData|УстановитьПроверкуСложностиПаролейПользователей|SetUserPasswordStrengthCheck|ПолучитьПроверкуСложностиПаролейПользователей|GetUserPasswordStrengthCheck|ПолучитьСтруктуруХраненияБазыДанных|GetDBStorageStructureInfo|УстановитьПривилегированныйРежим|SetPrivilegedMode|ПривилегированныйРежим|PrivilegedMode|ТранзакцияАктивна|TransactionActive|НеобходимостьЗавершенияСоединения|ConnectionStopRequest|НомерСеансаИнформационнойБазы|InfoBaseSessionNumber|ПолучитьСеансыИнформационнойБазы|GetInfoBaseSessions|ЗаблокироватьДанныеДляРедактирования|LockDataForEdit|УстановитьСоединениеСВнешнимИсточникомДанных|ConnectExternalDataSource|РазблокироватьДанныеДляРедактирования|UnlockDataForEdit|РазорватьСоединениеСВнешнимИсточникомДанных|DisconnectExternalDataSource|ПолучитьБлокировкуСеансов|GetSessionsLock|УстановитьБлокировкуСеансов|SetSessionsLock|ОбновитьПовторноИспользуемыеЗначения|RefreshReusableValues|УстановитьБезопасныйРежим|SetSafeMode|БезопасныйРежим|SafeMode|ПолучитьДанныеВыбора|GetChoiceData|УстановитьЧасовойПоясИнформационнойБазы|SetInfoBaseTimeZone|ПолучитьЧасовойПоясИнформационнойБазы|GetInfoBaseTimeZone|ПолучитьОбновлениеКонфигурацииБазыДанных|GetDataBaseConfigurationUpdate|УстановитьБезопасныйРежимРазделенияДанных|SetDataSeparationSafeMode|БезопасныйРежимРазделенияДанных|DataSeparationSafeMode|УстановитьВремяЗасыпанияПассивногоСеанса|SetPassiveSessionHibernateTime|ПолучитьВремяЗасыпанияПассивногоСеанса|GetPassiveSessionHibernateTime|УстановитьВремяЗавершенияСпящегоСеанса|SetHibernateSessionTerminateTime|ПолучитьВремяЗавершенияСпящегоСеанса|GetHibernateSessionTerminateTime|ПолучитьТекущийСеансИнформационнойБазы|GetCurrentInfoBaseSession|ПолучитьИдентификаторКонфигурации|GetConfigurationID|УстановитьНастройкиКлиентаЛицензирования|SetLicensingClientParameters|ПолучитьИмяКлиентаЛицензирования|GetLicensingClientName|ПолучитьДополнительныйПараметрКлиентаЛицензирования|GetLicensingClientAdditionalParameter|ПолучитьОтключениеБезопасногоРежима|GetSafeModeDisabled|УстановитьОтключениеБезопасногоРежима|SetSafeModeDisabled)\\s*(?=\\())"
212
218
  },
213
219
  {
214
220
  "comment": "Глобальный контекст - Процедуры и функции работы с данными информационной базы",
@@ -250,10 +256,15 @@
250
256
  "name": "support.function.bsl",
251
257
  "match": "(?i:(?<=[^\\wа-яё\\.]|^)(УстановитьСоставСтандартногоИнтерфейсаOData|SetStandardODataInterfaceContent|ПолучитьСоставСтандартногоИнтерфейсаOData|GetStandardODataInterfaceContent)\\s*(?=\\())"
252
258
  },
259
+ {
260
+ "comment": "Глобальный контекст - Процедуры и функции работы с двоичными данными",
261
+ "name": "support.function.bsl",
262
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(СоединитьБуферыДвоичныхДанных|ConcatBinaryDataBuffers)\\s*(?=\\())"
263
+ },
253
264
  {
254
265
  "comment": "Глобальный контекст - Прочие процедуры и функции",
255
266
  "name": "support.function.bsl",
256
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Мин|Min|Макс|Max|ОписаниеОшибки|ErrorDescription|Вычислить|Eval|ИнформацияОбОшибке|ErrorInfo|Base64Значение|Base64Value|Base64Строка|Base64String|ЗаполнитьЗначенияСвойств|FillPropertyValues|ЗначениеЗаполнено|ValueIsFilled|ПолучитьПредставленияНавигационныхСсылок|GetURLsPresentations|НайтиОкноПоНавигационнойСсылке|FindWindowByURL|ПолучитьОкна|GetWindows|ПерейтиПоНавигационнойСсылке|GotoURL|ПолучитьНавигационнуюСсылку|GetURL|ПолучитьДопустимыеКодыЛокализации|GetAvailableLocaleCodes|ПолучитьНавигационнуюСсылкуИнформационнойБазы|GetInfoBaseURL|ПредставлениеКодаЛокализации|LocaleCodePresentation|ПолучитьДопустимыеЧасовыеПояса|GetAvailableTimeZones|ПредставлениеЧасовогоПояса|TimeZonePresentation|ТекущаяУниверсальнаяДата|CurrentUniversalDate|ТекущаяУниверсальнаяДатаВМиллисекундах|CurrentUniversalDateInMilliseconds|МестноеВремя|ToLocalTime|УниверсальноеВремя|ToUniversalTime|ЧасовойПояс|TimeZone|СмещениеЛетнегоВремени|DaylightTimeOffset|СмещениеСтандартногоВремени|StandardTimeOffset|КодироватьСтроку|EncodeString|РаскодироватьСтроку|DecodeString|Найти|Find)\\s*(?=\\())"
267
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(Мин|Min|Макс|Max|ОписаниеОшибки|ErrorDescription|Вычислить|Eval|ИнформацияОбОшибке|ErrorInfo|Base64Значение|Base64Value|Base64Строка|Base64String|ЗаполнитьЗначенияСвойств|FillPropertyValues|ЗначениеЗаполнено|ValueIsFilled|ПолучитьПредставленияНавигационныхСсылок|GetURLsPresentations|НайтиОкноПоНавигационнойСсылке|FindWindowByURL|ПолучитьОкна|GetWindows|ПерейтиПоНавигационнойСсылке|GotoURL|ПолучитьНавигационнуюСсылку|GetURL|ПолучитьДопустимыеКодыЛокализации|GetAvailableLocaleCodes|ПолучитьНавигационнуюСсылкуИнформационнойБазы|GetInfoBaseURL|ПредставлениеКодаЛокализации|LocaleCodePresentation|ПолучитьДопустимыеЧасовыеПояса|GetAvailableTimeZones|ПредставлениеЧасовогоПояса|TimeZonePresentation|ТекущаяУниверсальнаяДата|CurrentUniversalDate|ТекущаяУниверсальнаяДатаВМиллисекундах|CurrentUniversalDateInMilliseconds|МестноеВремя|ToLocalTime|УниверсальноеВремя|ToUniversalTime|ЧасовойПояс|TimeZone|СмещениеЛетнегоВремени|DaylightTimeOffset|СмещениеСтандартногоВремени|StandardTimeOffset|КодироватьСтроку|EncodeString|РаскодироватьСтроку|DecodeString|Найти|Find|ПродолжитьВызов|ProceedWithCall)\\s*(?=\\())"
257
268
  },
258
269
  {
259
270
  "comment": "Глобальный контекст - События приложения и сеанса",
@@ -263,7 +274,7 @@
263
274
  {
264
275
  "comment": "Глобальный контекст - Свойства (классы)",
265
276
  "name": "support.class.bsl",
266
- "match": "(?i:(?<=[^\\wа-яё\\.]|^)(WSСсылки|WSReferences|БиблиотекаКартинок|PictureLib|БиблиотекаМакетовОформленияКомпоновкиДанных|DataCompositionAppearanceTemplateLib|БиблиотекаСтилей|StyleLib|БизнесПроцессы|BusinessProcesses|ВнешниеИсточникиДанных|ExternalDataSources|ВнешниеОбработки|ExternalDataProcessors|ВнешниеОтчеты|ExternalReports|Документы|Documents|ДоставляемыеУведомления|DeliverableNotifications|ЖурналыДокументов|DocumentJournals|Задачи|Tasks|ИспользованиеРабочейДаты|WorkingDateUse|ИсторияРаботыПользователя|UserWorkHistory|Константы|Constants|КритерииОтбора|FilterCriteria|Метаданные|Metadata|Обработки|DataProcessors|ОтправкаДоставляемыхУведомлений|DeliverableNotificationSend|Отчеты|Reports|ПараметрыСеанса|SessionParameters|Перечисления|Enums|ПланыВидовРасчета|ChartsOfCalculationTypes|ПланыВидовХарактеристик|ChartsOfCharacteristicTypes|ПланыОбмена|ExchangePlans|ПланыСчетов|ChartsOfAccounts|ПолнотекстовыйПоиск|FullTextSearch|ПользователиИнформационнойБазы|InfoBaseUsers|Последовательности|Sequences|РасширенияКонфигурации|ConfigurationExtensions|РегистрыБухгалтерии|AccountingRegisters|РегистрыНакопления|AccumulationRegisters|РегистрыРасчета|CalculationRegisters|РегистрыСведений|InformationRegisters|РегламентныеЗадания|ScheduledJobs|СериализаторXDTO|XDTOSerializer|Справочники|Catalogs|СредстваГеопозиционирования|LocationTools|СредстваКриптографии|CryptoToolsManager|СредстваМультимедиа|MultimediaTools|СредстваПочты|MailTools|СредстваТелефонии|TelephonyTools|ФабрикаXDTO|XDTOFactory|ФоновыеЗадания|BackgroundJobs|ХранилищаНастроек|SettingsStorages|ВстроенныеПокупки|InAppPurchases|ОтображениеРекламы|AdRepresentationПанельЗадачОС|OSTaskbar|ПроверкаВстроенныхПокупок|InAppPurchasesValidation)(?=[^\\wа-яё]|$))"
277
+ "match": "(?i:(?<=[^\\wа-яё\\.]|^)(WSСсылки|WSReferences|БиблиотекаКартинок|PictureLib|БиблиотекаМакетовОформленияКомпоновкиДанных|DataCompositionAppearanceTemplateLib|БиблиотекаСтилей|StyleLib|БизнесПроцессы|BusinessProcesses|ВнешниеИсточникиДанных|ExternalDataSources|ВнешниеОбработки|ExternalDataProcessors|ВнешниеОтчеты|ExternalReports|Документы|Documents|ДоставляемыеУведомления|DeliverableNotifications|ЖурналыДокументов|DocumentJournals|Задачи|Tasks|ИнформацияОбИнтернетСоединении|InternetConnectionInformation|ИспользованиеРабочейДаты|WorkingDateUse|ИсторияРаботыПользователя|UserWorkHistory|Константы|Constants|КритерииОтбора|FilterCriteria|Метаданные|Metadata|Обработки|DataProcessors|ОтправкаДоставляемыхУведомлений|DeliverableNotificationSend|Отчеты|Reports|ПараметрыСеанса|SessionParameters|Перечисления|Enums|ПланыВидовРасчета|ChartsOfCalculationTypes|ПланыВидовХарактеристик|ChartsOfCharacteristicTypes|ПланыОбмена|ExchangePlans|ПланыСчетов|ChartsOfAccounts|ПолнотекстовыйПоиск|FullTextSearch|ПользователиИнформационнойБазы|InfoBaseUsers|Последовательности|Sequences|РасширенияКонфигурации|ConfigurationExtensions|РегистрыБухгалтерии|AccountingRegisters|РегистрыНакопления|AccumulationRegisters|РегистрыРасчета|CalculationRegisters|РегистрыСведений|InformationRegisters|РегламентныеЗадания|ScheduledJobs|СериализаторXDTO|XDTOSerializer|Справочники|Catalogs|СредстваГеопозиционирования|LocationTools|СредстваКриптографии|CryptoToolsManager|СредстваМультимедиа|MultimediaTools|СредстваОтображенияРекламы|AdvertisingPresentationTools|СредстваПочты|MailTools|СредстваТелефонии|TelephonyTools|ФабрикаXDTO|ФайловыеПотоки|FileStreams|XDTOFactory|ФоновыеЗадания|BackgroundJobs|ХранилищаНастроек|SettingsStorages|ВстроенныеПокупки|InAppPurchases|ОтображениеРекламы|AdRepresentationПанельЗадачОС|OSTaskbar|ПроверкаВстроенныхПокупок|InAppPurchasesValidation)(?=[^\\wа-яё]|$))"
267
278
  },
268
279
  {
269
280
  "comment": "Глобальный контекст - Свойства (переменные)",
@@ -271,9 +282,22 @@
271
282
  "match": "(?i:(?<=[^\\wа-яё\\.]|^)(ГлавныйИнтерфейс|MainInterface|ГлавныйСтиль|MainStyle|ПараметрЗапуска|LaunchParameter|РабочаяДата|WorkingDate|ХранилищеВариантовОтчетов|ReportsVariantsStorage|ХранилищеНастроекДанныхФорм|FormDataSettingsStorage|ХранилищеОбщихНастроек|CommonSettingsStorage|ХранилищеПользовательскихНастроекДинамическихСписков|DynamicListsUserSettingsStorage|ХранилищеПользовательскихНастроекОтчетов|ReportsUserSettingsStorage|ХранилищеСистемныхНастроек|SystemSettingsStorage)(?=[^\\wа-яё]|$))"
272
283
  },
273
284
  {
274
- "name": "storage.modifier.bsl",
285
+ "name": "storage.modifier.directive.bsl",
275
286
  "match": "(?i:&(НаКлиенте((НаСервере(БезКонтекста)?)?)|AtClient((AtServer(NoContext)?)?)|НаСервере(БезКонтекста)?|AtServer(NoContext)?))"
276
287
  },
288
+ {
289
+ "comment": "Annotations",
290
+ "begin": "(?i)(&(Перед|Before|После|After|Вместо|Around))\\s*\\((.*)\\)",
291
+ "beginCaptures": {
292
+ "1": {
293
+ "name": "storage.type.annotation.bsl"
294
+ },
295
+ "3": {
296
+ "name": "string.quoted.double.bsl"
297
+ }
298
+ },
299
+ "end": "$"
300
+ },
277
301
  {
278
302
  "name": "keyword.other.preprocessor.bsl",
279
303
  "match": "(?i:#(Если|If|ИначеЕсли|ElsIf|Иначе|Else|КонецЕсли|EndIf).*(Тогда|Then)?)"
@@ -356,7 +380,7 @@
356
380
  },
357
381
  {
358
382
  "name": "constant.numeric.bsl",
359
- "match": "\\b((\\h{8}-(\\h{4}-){3}\\h{12})|\\d+\\.?\\d*)\\b"
383
+ "match": "(?<=[^\\wа-яё\\.]|^)(\\d+\\.?\\d*)(?=[^\\wа-яё\\.]|$)"
360
384
  },
361
385
  {
362
386
  "name": "constant.other.date.bsl",
@@ -365,6 +389,14 @@
365
389
  {
366
390
  "name": "keyword.operator.bsl",
367
391
  "match": "(,)"
392
+ },
393
+ {
394
+ "name": "punctuation.bracket.begin.bsl",
395
+ "match": "(\\()"
396
+ },
397
+ {
398
+ "name": "punctuation.bracket.end.bsl",
399
+ "match": "(\\))"
368
400
  }
369
401
  ]
370
402
  }
@@ -256,7 +256,7 @@
256
256
  ]
257
257
  },
258
258
  {
259
- "begin": "\\b(class|struct)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+(\\s*:\\s*(public|protected|private)\\s*([_A-Za-z][_A-Za-z0-9]*\\b)((\\s*,\\s*(public|protected|private)\\s*[_A-Za-z][_A-Za-z0-9]*\\b)*))?",
259
+ "begin": "\\b(class|struct)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+(\\s*:\\s*(public|protected|private)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)((\\s*,\\s*(public|protected|private)\\b\\s*[_A-Za-z][_A-Za-z0-9]*\\b)*))?",
260
260
  "beginCaptures": {
261
261
  "1": {
262
262
  "name": "storage.type.c++"
@@ -273,7 +273,7 @@
273
273
  "6": {
274
274
  "patterns": [
275
275
  {
276
- "match": "(public|protected|private)",
276
+ "match": "\\b(public|protected|private)\\b",
277
277
  "name": "storage.type.modifier.c++"
278
278
  },
279
279
  {
@@ -14,6 +14,7 @@
14
14
  ],
15
15
  "foldingStartMarker": "\\(\\s*$",
16
16
  "foldingStopMarker": "^\\s*\\)",
17
+ "firstLineMatch": "(?x)\n# Hashbang\n^\\#!.*(?:\\s|\\/)\n boot\n(?:$|\\s)\n|\n# Modeline\n(?i:\n # Emacs\n -\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n clojure(script)?\n (?=[\\s;]|(?<![-*])-\\*-).*?-\\*-\n |\n # Vim\n (?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n clojure\n (?=\\s|:|$)\n)",
17
18
  "name": "Clojure",
18
19
  "patterns": [
19
20
  {
@@ -248,8 +249,8 @@
248
249
  ]
249
250
  },
250
251
  "regexp_escaped_char": {
251
- "match": "\\\\",
252
- "name": "constant.character.escape.backslash.clojure"
252
+ "match": "\\\\.",
253
+ "name": "constant.character.escape.clojure"
253
254
  },
254
255
  "set": {
255
256
  "begin": "(\\#\\{)",
@@ -8,7 +8,7 @@
8
8
  "cson",
9
9
  "_coffee"
10
10
  ],
11
- "firstLineMatch": "^#!.*\\bcoffee",
11
+ "firstLineMatch": "(?x)\n# Hashbang\n^\\#!.*(?:\\s|\\/)\n coffee\n(?:$|\\s)\n|\n# Modeline\n(?i:\n # Emacs\n -\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n coffee\n (?=[\\s;]|(?<![-*])-\\*-).*?-\\*-\n |\n # Vim\n (?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n coffee\n (?=\\s|:|$)\n)",
12
12
  "patterns": [
13
13
  {
14
14
  "captures": {
@@ -128,17 +128,17 @@
128
128
  "name": "comment.line.number-sign.coffee"
129
129
  },
130
130
  {
131
- "begin": "/{3}",
132
- "end": "(/{3})[imgy]{0,4}",
131
+ "begin": "///",
132
+ "end": "(///)[gimuy]*",
133
133
  "name": "string.regexp.coffee",
134
134
  "beginCaptures": {
135
135
  "0": {
136
- "name": "punctuation.definition.string.begin.js"
136
+ "name": "punctuation.definition.string.begin.coffee"
137
137
  }
138
138
  },
139
139
  "endCaptures": {
140
140
  "1": {
141
- "name": "punctuation.definition.string.begin.js"
141
+ "name": "punctuation.definition.string.end.coffee"
142
142
  }
143
143
  },
144
144
  "patterns": [
@@ -148,24 +148,24 @@
148
148
  ]
149
149
  },
150
150
  {
151
- "begin": "/(?=(?![ /*+?])([^\\\\]|\\\\.)*?/[igmy]{0,4}(?![a-zA-Z0-9]))",
152
- "end": "(/)[imgy]{0,4}",
153
- "name": "string.regexp.coffee",
154
- "patterns": [
155
- {
156
- "include": "source.js.regexp"
157
- }
158
- ],
151
+ "begin": "/(?![/*+?])(?=([^\\\\]|\\\\.)*?/[gimuy]*)",
159
152
  "beginCaptures": {
160
153
  "0": {
161
- "name": "punctuation.definition.string.begin.js"
154
+ "name": "punctuation.definition.string.begin.coffee"
162
155
  }
163
156
  },
157
+ "end": "(/)[gimuy]*",
164
158
  "endCaptures": {
165
159
  "1": {
166
- "name": "punctuation.definition.string.begin.js"
160
+ "name": "punctuation.definition.string.end.coffee"
167
161
  }
168
- }
162
+ },
163
+ "name": "string.regexp.coffee",
164
+ "patterns": [
165
+ {
166
+ "include": "source.js.regexp"
167
+ }
168
+ ]
169
169
  },
170
170
  {
171
171
  "match": "\\b(?<![\\.\\$])(break|by|catch|continue|else|finally|for|in|of|if|return|switch|then|throw|try|unless|when|while|until|loop|do|(?<=for)\\s+own)(?!\\s*:)\\b",
@@ -194,66 +194,48 @@
194
194
  }
195
195
  },
196
196
  {
197
- "begin": "(?<=\\s|^)(\\{)(?=.+?\\}\\s+[:=])",
197
+ "begin": "(?<=\\s|^)({)(?=[^'\"#]+?}[\\s\\]}]*=)",
198
198
  "beginCaptures": {
199
- "0": {
200
- "name": "keyword.operator.coffee"
199
+ "1": {
200
+ "name": "punctuation.definition.destructuring.begin.bracket.curly.coffee"
201
201
  }
202
202
  },
203
- "end": "(\\}\\s*[:=])",
203
+ "end": "(})(?=[\\s\\]}]*=)",
204
204
  "endCaptures": {
205
- "0": {
206
- "name": "keyword.operator.coffee"
205
+ "1": {
206
+ "name": "punctuation.definition.destructuring.end.bracket.curly.coffee"
207
207
  }
208
208
  },
209
209
  "name": "meta.variable.assignment.destructured.object.coffee",
210
210
  "patterns": [
211
211
  {
212
- "include": "#variable_name"
213
- },
214
- {
215
- "include": "#instance_variable"
212
+ "include": "$self"
216
213
  },
217
214
  {
218
- "include": "#single_quoted_string"
219
- },
220
- {
221
- "include": "#double_quoted_string"
222
- },
223
- {
224
- "include": "#numeric"
215
+ "include": "#variable_name"
225
216
  }
226
217
  ]
227
218
  },
228
219
  {
229
- "begin": "(?<=\\s|^)(\\[)(?=.+?\\]\\s+[:=])",
220
+ "begin": "(?<=\\s|^)(\\[)(?=[^'\"#]+?}[\\s\\]}]*=)",
230
221
  "beginCaptures": {
231
- "0": {
232
- "name": "keyword.operator.coffee"
222
+ "1": {
223
+ "name": "punctuation.definition.destructuring.begin.bracket.square.coffee"
233
224
  }
234
225
  },
235
- "end": "(\\]\\s*[:=])",
226
+ "end": "(\\])(?=[\\s\\]}]*=)",
236
227
  "endCaptures": {
237
- "0": {
238
- "name": "keyword.operator.coffee"
228
+ "1": {
229
+ "name": "punctuation.definition.destructuring.end.bracket.square.coffee"
239
230
  }
240
231
  },
241
232
  "name": "meta.variable.assignment.destructured.array.coffee",
242
233
  "patterns": [
243
234
  {
244
- "include": "#variable_name"
245
- },
246
- {
247
- "include": "#instance_variable"
235
+ "include": "$self"
248
236
  },
249
237
  {
250
- "include": "#single_quoted_string"
251
- },
252
- {
253
- "include": "#double_quoted_string"
254
- },
255
- {
256
- "include": "#numeric"
238
+ "include": "#variable_name"
257
239
  }
258
240
  ]
259
241
  },