github-linguist 7.7.0 → 7.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/annotation.liquidhaskell.haskell.json +47 -0
  3. data/grammars/hidden.manref.json +1 -1
  4. data/grammars/hint.haskell.json +47 -0
  5. data/grammars/hint.message.haskell.json +47 -0
  6. data/grammars/hint.type.haskell.json +47 -0
  7. data/grammars/markdown.plantuml.codeblock.json +26 -0
  8. data/grammars/source.4dm.json +1100 -0
  9. data/grammars/source.abap.json +1 -1
  10. data/grammars/source.agda.json +32 -202
  11. data/grammars/source.ahk.json +6 -2
  12. data/grammars/source.chapel.json +4 -4
  13. data/grammars/source.csound.json +1 -1
  14. data/grammars/source.dart.json +57 -31
  15. data/grammars/source.dircolors.json +101 -3
  16. data/grammars/source.editorconfig.json +23 -5
  17. data/grammars/source.elixir.json +8 -0
  18. data/grammars/source.elm.json +1 -1
  19. data/grammars/source.emacs.lisp.json +10 -0
  20. data/grammars/source.faust.json +119 -0
  21. data/grammars/source.gcode.json +166 -8
  22. data/grammars/source.hack.json +4 -18
  23. data/grammars/source.haskell.json +47 -0
  24. data/grammars/source.hlsl.json +9 -5
  25. data/grammars/source.hsig.json +47 -0
  26. data/grammars/source.hx.json +4 -0
  27. data/grammars/source.igor.json +44 -0
  28. data/grammars/source.julia.json +25 -21
  29. data/grammars/source.lean.json +19 -3
  30. data/grammars/source.lean.markdown.json +2598 -0
  31. data/grammars/source.matlab.json +215 -152
  32. data/grammars/source.mcfunction-snapshot.json +1 -1
  33. data/grammars/source.meson.json +1 -1
  34. data/grammars/source.mrc.json +416 -534
  35. data/grammars/source.nasl.json +155 -0
  36. data/grammars/source.nextflow.json +2 -2
  37. data/grammars/source.odin-ehr.json +806 -0
  38. data/grammars/source.odin.json +402 -0
  39. data/grammars/source.prisma.json +7 -0
  40. data/grammars/source.qasm.json +66 -0
  41. data/grammars/source.ql.json +1408 -0
  42. data/grammars/source.scala.json +27 -3
  43. data/grammars/source.sy.json +2088 -183
  44. data/grammars/source.terraform.json +576 -132
  45. data/grammars/source.tnsaudit.json +256 -0
  46. data/grammars/source.ts.json +89 -30
  47. data/grammars/source.tsx.json +89 -30
  48. data/grammars/source.v.json +541 -788
  49. data/grammars/source.viml.json +2 -2
  50. data/grammars/source.webassembly.json +10 -0
  51. data/grammars/source.wsd.json +775 -0
  52. data/grammars/text.tex.latex.haskell.json +47 -0
  53. data/grammars/version +1 -1
  54. data/lib/linguist/VERSION +1 -1
  55. data/lib/linguist/file_blob.rb +1 -1
  56. data/lib/linguist/generated.rb +23 -3
  57. data/lib/linguist/heuristics.yml +48 -3
  58. data/lib/linguist/languages.json +1 -1
  59. data/lib/linguist/languages.yml +156 -34
  60. data/lib/linguist/lazy_blob.rb +10 -10
  61. data/lib/linguist/linguist.bundle +0 -0
  62. data/lib/linguist/samples.json +7739 -2010
  63. data/lib/linguist/shebang.rb +5 -3
  64. data/lib/linguist/vendor.yml +3 -0
  65. metadata +13 -7
  66. data/grammars/source.LS.json +0 -85
  67. data/grammars/source.MCPOST.json +0 -54
  68. data/grammars/source.MOD.json +0 -55
  69. data/grammars/source.apt.json +0 -18
  70. data/grammars/source.yaml-ext.json +0 -324
@@ -534,26 +534,12 @@
534
534
  "match": "\\\\[nrt\\\\\\$\\\"]"
535
535
  },
536
536
  {
537
- "begin": "(\\{)(?=\\$.*?\\})",
538
- "end": "(\\})",
539
- "patterns": [
540
- {
541
- "include": "#language"
542
- }
543
- ],
544
- "beginCaptures": {
545
- "1": {
546
- "name": "punctuation.definition.variable.php"
547
- }
548
- },
549
- "endCaptures": {
550
- "1": {
551
- "name": "punctuation.definition.variable.php"
552
- }
553
- }
537
+ "name": "variable.other.php",
538
+ "match": "(\\{\\$.*?\\})"
554
539
  },
555
540
  {
556
- "include": "#variable-name"
541
+ "name": "variable.other.php",
542
+ "match": "(\\$[a-zA-Z_][a-zA-Z0-9_]*((-\u003e[a-zA-Z_][a-zA-Z0-9_]*)|(\\[[a-zA-Z0-9_]+\\]))?)"
557
543
  }
558
544
  ]
559
545
  },
@@ -266,6 +266,9 @@
266
266
  {
267
267
  "include": "#comments"
268
268
  },
269
+ {
270
+ "include": "#string"
271
+ },
269
272
  {
270
273
  "include": "#where"
271
274
  },
@@ -1641,6 +1644,12 @@
1641
1644
  {
1642
1645
  "include": "#via_list"
1643
1646
  },
1647
+ {
1648
+ "include": "#via_list_newline"
1649
+ },
1650
+ {
1651
+ "include": "#via_indent"
1652
+ },
1644
1653
  {
1645
1654
  "include": "#via_simple"
1646
1655
  },
@@ -1649,6 +1658,25 @@
1649
1658
  }
1650
1659
  ]
1651
1660
  },
1661
+ "via_indent": {
1662
+ "patterns": [
1663
+ {
1664
+ "name": "meta.via.haskell",
1665
+ "begin": "^([ \\t]*)(via)\\s*",
1666
+ "end": "^(?!\\1|[ \\t]*$)",
1667
+ "patterns": [
1668
+ {
1669
+ "include": "#type_signature"
1670
+ }
1671
+ ],
1672
+ "beginCaptures": {
1673
+ "2": {
1674
+ "name": "keyword.other.haskell"
1675
+ }
1676
+ }
1677
+ }
1678
+ ]
1679
+ },
1652
1680
  "via_keyword": {
1653
1681
  "patterns": [
1654
1682
  {
@@ -1681,6 +1709,25 @@
1681
1709
  }
1682
1710
  ]
1683
1711
  },
1712
+ "via_list_newline": {
1713
+ "patterns": [
1714
+ {
1715
+ "name": "meta.via.haskell",
1716
+ "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*",
1717
+ "end": "$",
1718
+ "patterns": [
1719
+ {
1720
+ "include": "#type_signature"
1721
+ }
1722
+ ],
1723
+ "beginCaptures": {
1724
+ "1": {
1725
+ "name": "keyword.other.haskell"
1726
+ }
1727
+ }
1728
+ }
1729
+ ]
1730
+ },
1684
1731
  "via_simple": {
1685
1732
  "patterns": [
1686
1733
  {
@@ -13,16 +13,20 @@
13
13
  "end": "$"
14
14
  },
15
15
  {
16
- "name": "constant.numeric.hlsl",
17
- "match": "\\b([0-9]+\\.?[0-9]*)\\b"
16
+ "name": "constant.numeric.decimal.hlsl",
17
+ "match": "\\b[0-9]+\\.[0-9]*(F|f)?\\b"
18
18
  },
19
19
  {
20
- "name": "constant.numeric.hlsl",
21
- "match": "\\b(\\.[0-9]+)\\b"
20
+ "name": "constant.numeric.decimal.hlsl",
21
+ "match": "(\\.([0-9]+)(F|f)?)\\b"
22
+ },
23
+ {
24
+ "name": "constant.numeric.decimal.hlsl",
25
+ "match": "\\b([0-9]+(F|f)?)\\b"
22
26
  },
23
27
  {
24
28
  "name": "constant.numeric.hex.hlsl",
25
- "match": "\\b(0x[0-9A-F]+)\\b"
29
+ "match": "\\b(0(x|X)[0-9a-fA-F]+)\\b"
26
30
  },
27
31
  {
28
32
  "name": "constant.language.hlsl",
@@ -266,6 +266,9 @@
266
266
  {
267
267
  "include": "#comments"
268
268
  },
269
+ {
270
+ "include": "#string"
271
+ },
269
272
  {
270
273
  "include": "#where"
271
274
  },
@@ -1641,6 +1644,12 @@
1641
1644
  {
1642
1645
  "include": "#via_list"
1643
1646
  },
1647
+ {
1648
+ "include": "#via_list_newline"
1649
+ },
1650
+ {
1651
+ "include": "#via_indent"
1652
+ },
1644
1653
  {
1645
1654
  "include": "#via_simple"
1646
1655
  },
@@ -1649,6 +1658,25 @@
1649
1658
  }
1650
1659
  ]
1651
1660
  },
1661
+ "via_indent": {
1662
+ "patterns": [
1663
+ {
1664
+ "name": "meta.via.haskell.hsig",
1665
+ "begin": "^([ \\t]*)(via)\\s*",
1666
+ "end": "^(?!\\1|[ \\t]*$)",
1667
+ "patterns": [
1668
+ {
1669
+ "include": "#type_signature"
1670
+ }
1671
+ ],
1672
+ "beginCaptures": {
1673
+ "2": {
1674
+ "name": "keyword.other.haskell.hsig"
1675
+ }
1676
+ }
1677
+ }
1678
+ ]
1679
+ },
1652
1680
  "via_keyword": {
1653
1681
  "patterns": [
1654
1682
  {
@@ -1681,6 +1709,25 @@
1681
1709
  }
1682
1710
  ]
1683
1711
  },
1712
+ "via_list_newline": {
1713
+ "patterns": [
1714
+ {
1715
+ "name": "meta.via.haskell.hsig",
1716
+ "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*",
1717
+ "end": "$",
1718
+ "patterns": [
1719
+ {
1720
+ "include": "#type_signature"
1721
+ }
1722
+ ],
1723
+ "beginCaptures": {
1724
+ "1": {
1725
+ "name": "keyword.other.haskell.hsig"
1726
+ }
1727
+ }
1728
+ }
1729
+ ]
1730
+ },
1684
1731
  "via_simple": {
1685
1732
  "patterns": [
1686
1733
  {
@@ -1067,6 +1067,10 @@
1067
1067
  {
1068
1068
  "include": "#macro-reification"
1069
1069
  },
1070
+ {
1071
+ "name": "keyword.operator.extractor.hx",
1072
+ "match": "=\u003e"
1073
+ },
1070
1074
  {
1071
1075
  "include": "#operator-assignment"
1072
1076
  },
@@ -66,6 +66,50 @@
66
66
  }
67
67
  }
68
68
  },
69
+ {
70
+ "name": "meta.macro",
71
+ "begin": "(?i)^\\s*(Macro|Window)\\s+(\\w+)\\s*(\\(\\))(\\s+:\\s+\\w+)?",
72
+ "end": "(?i)^\\s*EndMacro",
73
+ "patterns": [
74
+ {
75
+ "include": "#igor_operations"
76
+ }
77
+ ],
78
+ "beginCaptures": {
79
+ "1": {
80
+ "name": "constant.igor"
81
+ },
82
+ "2": {
83
+ "name": "entity.name.igor"
84
+ },
85
+ "3": {
86
+ "name": "brackethighlighter.round.igor"
87
+ },
88
+ "4": {
89
+ "name": "entity.name.igor"
90
+ }
91
+ },
92
+ "endCaptures": {
93
+ "0": {
94
+ "name": "constant.igor"
95
+ }
96
+ }
97
+ },
98
+ {
99
+ "name": "meta.picture",
100
+ "begin": "(?i)^\\s*(Picture)",
101
+ "end": "(?i)^\\s*End",
102
+ "beginCaptures": {
103
+ "0": {
104
+ "name": "constant.igor"
105
+ }
106
+ },
107
+ "endCaptures": {
108
+ "0": {
109
+ "name": "constant.igor"
110
+ }
111
+ }
112
+ },
69
113
  {
70
114
  "include": "#igor_variable"
71
115
  },
@@ -44,6 +44,10 @@
44
44
  "begin": "\\[",
45
45
  "end": "(?:\\])(?:(\\.)?'*)",
46
46
  "patterns": [
47
+ {
48
+ "name": "constant.numeric.julia",
49
+ "match": "\\bbegin\\b"
50
+ },
47
51
  {
48
52
  "name": "constant.numeric.julia",
49
53
  "match": "\\bend\\b"
@@ -124,7 +128,7 @@
124
128
  "function_call": {
125
129
  "patterns": [
126
130
  {
127
- "begin": "([[:alpha:]_][[:word:]⁺-ₜ!′∇]*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(?=\\()",
131
+ "begin": "([[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(?=\\()",
128
132
  "end": "\\)(('|(\\.'))*\\.?')?",
129
133
  "patterns": [
130
134
  {
@@ -157,7 +161,7 @@
157
161
  "function_decl": {
158
162
  "patterns": [
159
163
  {
160
- "match": "([[:alpha:]_][[:word:]⁺-ₜ!′∇]*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?(?=\\(.*\\)(::[^\\s]+)?(\\s*\\bwhere\\b\\s+.+?)?\\s*?=(?![=\u003e]))",
164
+ "match": "([[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?(?=\\(.*\\)(::[^\\s]+)?(\\s*\\bwhere\\b\\s+.+?)?\\s*?=(?![=\u003e]))",
161
165
  "captures": {
162
166
  "1": {
163
167
  "name": "entity.name.function.julia"
@@ -168,7 +172,7 @@
168
172
  }
169
173
  },
170
174
  {
171
- "match": "\\b(function|macro)(?:\\s+(?:[[:alpha:]_][[:word:]⁺-ₜ!′∇]*(\\.))?([[:alpha:]_][[:word:]⁺-ₜ!′∇]*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?|\\s*)(?=\\()",
175
+ "match": "\\b(function|macro)(?:\\s+(?:[[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*(\\.))?([[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?|\\s*)(?=\\()",
172
176
  "captures": {
173
177
  "1": {
174
178
  "name": "keyword.other.julia"
@@ -236,11 +240,7 @@
236
240
  },
237
241
  {
238
242
  "name": "support.function.macro.julia",
239
- "match": "(@(\\.|[[:alpha:]_][[:word:]⁺-ₜ!′∇]*))"
240
- },
241
- {
242
- "name": "support.type.exception.julia",
243
- "match": "\\b(Argument|Assertion|Bounds|Divide|Domain|EOF|Inexact|Key|Load|Memory|Method|OutOfMemory|Overflow|Parse|StackOverflow|System|Type|UV|UndefRef|UndefVar)Error\\b"
243
+ "match": "(@(\\.|[[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*))"
244
244
  }
245
245
  ]
246
246
  },
@@ -280,14 +280,14 @@
280
280
  },
281
281
  {
282
282
  "name": "keyword.operator.update.julia",
283
- "match": "(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|\u0026=|\\$=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|=(?!=))"
283
+ "match": "(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|\u0026=|\\.\u0026=|⊻=|\\.⊻=|\\$=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|=(?!=))"
284
284
  },
285
285
  {
286
286
  "name": "keyword.operator.shift.julia",
287
287
  "match": "(?:\u003c\u003c|\u003e\u003e\u003e|\u003e\u003e|\\.\u003e\u003e\u003e|\\.\u003e\u003e|\\.\u003c\u003c)"
288
288
  },
289
289
  {
290
- "match": "(?:\\s*(::|\u003e:|\u003c:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_][[:word:]⁺-ₜ!′\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?\u003c!\\\\)\"))?)))(?:\\.\\.\\.)?",
290
+ "match": "(?:\\s*(::|\u003e:|\u003c:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_$∇][[:word:]⁺-ₜ!′\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?\u003c!\\\\)\"))?)))(?:\\.\\.\\.)?",
291
291
  "captures": {
292
292
  "1": {
293
293
  "name": "keyword.operator.relation.julia"
@@ -299,7 +299,7 @@
299
299
  },
300
300
  {
301
301
  "name": "keyword.operator.relation.julia",
302
- "match": "(?:===|(?\u003c=\\s)in(?=\\s)|\\.==|!==|!=|\\.\u003e=|\\.\u003e|\\.\u003c=|\\.\u003c|==|\\.!=|\\.=|\\.!|\u003c:|\u003e:|:\u003e|(?\u003c!\u003e)\u003e=|(?\u003c!\u003c)\u003c=|\u003e|\u003c)"
302
+ "match": "(?:===|(?\u003c=\\s)in(?=\\s)|∈|\\.∈|∉|\\.∉|∋|\\.∋|∌|\\.∌|≈|\\.≈|≉|\\.≉|≠|\\.≠|≡|\\.≡|≢|\\.≢|⊆|\\.⊆|⊇|\\.⊇|⊈|\\.⊈|⊉|\\.⊉|⊊|\\.⊊|⊋|\\.⊋|\\.==|!==|!=|\\.\u003e=|\\.\u003e|\\.\u003c=|\\.\u003c|\\.≤|\\.≥|==|\\.!=|\\.=|\\.!|\u003c:|\u003e:|:\u003e|(?\u003c!\u003e)\u003e=|(?\u003c!\u003c)\u003c=|\u003e|\u003c|≥|≤)"
303
303
  },
304
304
  {
305
305
  "name": "keyword.operator.ternary.julia",
@@ -319,11 +319,15 @@
319
319
  },
320
320
  {
321
321
  "name": "keyword.operator.bitwise.julia",
322
- "match": "(?:\\||\\\u0026|~)"
322
+ "match": "(?:\\||\\.\\||\\\u0026|\\.\\\u0026|~|\\.~|⊻|\\.⊻)"
323
323
  },
324
324
  {
325
325
  "name": "keyword.operator.arithmetic.julia",
326
- "match": "(?:\\+\\+|--|\\+|\\.\\+|-|\\.\\-|\\*|\\.\\*|//(?!=)|\\.//(?!=)|/|\\./|%|\\.%|\\\\|\\.\\\\|\\^|\\.\\^)"
326
+ "match": "(?:\\+\\+|--|\\+|\\.\\+|-|\\.\\-|\\*|\\.\\*|//(?!=)|\\.//(?!=)|/|\\./|%|\\.%|\\\\|\\.\\\\|\\^|\\.\\^|÷|\\.÷|⋅|\\.⋅|∩|\\.∩|∪|\\.∪|×|√|∛)"
327
+ },
328
+ {
329
+ "name": "keyword.operator.compose.julia",
330
+ "match": "(?:∘)"
327
331
  },
328
332
  {
329
333
  "name": "keyword.operator.isa.julia",
@@ -338,7 +342,7 @@
338
342
  "match": "(?:\\$(?=.+))"
339
343
  },
340
344
  {
341
- "match": "([[:alpha:]_][[:word:]⁺-ₜ!′∇]*)(('|(\\.'))*\\.?')",
345
+ "match": "([[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)(('|(\\.'))*\\.?')",
342
346
  "captures": {
343
347
  "2": {
344
348
  "name": "keyword.operator.transposed-variable.julia"
@@ -852,8 +856,8 @@
852
856
  },
853
857
  {
854
858
  "name": "string.quoted.other.julia",
855
- "begin": "(?\u003c!\")([[:alpha:]_][[:word:]⁺-ₜ!′∇]*)\"\"\"",
856
- "end": "(\"\"\")([[:alpha:]_][[:word:]⁺-ₜ!′∇]*)?",
859
+ "begin": "(?\u003c!\")([[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)\"\"\"",
860
+ "end": "(\"\"\")([[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)?",
857
861
  "patterns": [
858
862
  {
859
863
  "include": "#string_escaped_char"
@@ -878,8 +882,8 @@
878
882
  },
879
883
  {
880
884
  "name": "string.quoted.other.julia",
881
- "begin": "(?\u003c!\")([[:alpha:]_][[:word:]⁺-ₜ!′∇]*)\"",
882
- "end": "(?\u003c![^\\\\]\\\\)(\")([[:alpha:]_][[:word:]⁺-ₜ!′∇]*)?",
885
+ "begin": "(?\u003c!\")([[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)\"",
886
+ "end": "(?\u003c![^\\\\]\\\\)(\")([[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)?",
883
887
  "patterns": [
884
888
  {
885
889
  "include": "#string_escaped_char"
@@ -931,7 +935,7 @@
931
935
  "patterns": [
932
936
  {
933
937
  "name": "variable.interpolation.julia",
934
- "match": "\\$[[:alpha:]_][[:word:]⁺-ₜ!′∇]*"
938
+ "match": "\\$[[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*"
935
939
  },
936
940
  {
937
941
  "name": "variable.interpolation.julia",
@@ -960,7 +964,7 @@
960
964
  "patterns": [
961
965
  {
962
966
  "name": "constant.other.symbol.julia",
963
- "match": "(?\u003c![[:word:]⁺-ₜ!′∇\\)\\]\\}]):(?:[[:alpha:]_][[:word:]⁺-ₜ!′∇]*)"
967
+ "match": "(?\u003c![[:word:]⁺-ₜ!′∇\\)\\]\\}]):(?:[[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)"
964
968
  }
965
969
  ]
966
970
  },
@@ -968,7 +972,7 @@
968
972
  "patterns": [
969
973
  {
970
974
  "name": "meta.type.julia",
971
- "match": "(?\u003e!:_)(?:struct|mutable\\s+struct|abstract\\s+type|primitive\\s+type)\\s+([[:alpha:]_][[:word:]⁺-ₜ!′∇]*)(\\s*(\u003c:)\\s*[[:alpha:]_][[:word:]⁺-ₜ!′∇]*(?:{.*})?)?",
975
+ "match": "(?\u003e!:_)(?:struct|mutable\\s+struct|abstract\\s+type|primitive\\s+type)\\s+([[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*)(\\s*(\u003c:)\\s*[[:alpha:]_$∇][[:word:]⁺-ₜ!′∇]*(?:{.*})?)?",
972
976
  "captures": {
973
977
  "1": {
974
978
  "name": "entity.name.type.julia"
@@ -56,7 +56,7 @@
56
56
  },
57
57
  {
58
58
  "name": "keyword.other.lean",
59
- "match": "\\b(?\u003c!\\.)(import|prelude|theory|definition|def|abbreviation|instance|renaming|hiding|exposing|parameter|parameters|begin|constant|constants|lemma|variable|variables|theorem|example|open|axiom|inductive|coinductive|with|structure|universe|universes|alias|precedence|reserve|postfix|prefix|infix|infixl|infixr|notation|end|using|namespace|section|local|set_option|extends|include|omit|class|classes|instances|raw|run_cmd|restate_axiom)(?!\\.)\\b"
59
+ "match": "\\b(?\u003c!\\.)(import|export|prelude|theory|definition|def|abbreviation|instance|renaming|hiding|exposing|parameter|parameters|begin|constant|constants|lemma|variable|variables|theorem|example|open|axiom|inductive|coinductive|with|structure|universe|universes|alias|precedence|reserve|postfix|prefix|infix|infixl|infixr|notation|end|using|namespace|section|local|set_option|extends|include|omit|class|classes|instances|raw|run_cmd|restate_axiom)(?!\\.)\\b"
60
60
  },
61
61
  {
62
62
  "name": "keyword.other.lean",
@@ -175,12 +175,28 @@
175
175
  "docComment": {
176
176
  "name": "comment.block.documentation.lean",
177
177
  "begin": "/--",
178
- "end": "-/"
178
+ "end": "-/",
179
+ "patterns": [
180
+ {
181
+ "include": "source.lean.markdown"
182
+ },
183
+ {
184
+ "include": "#blockComment"
185
+ }
186
+ ]
179
187
  },
180
188
  "modDocComment": {
181
189
  "name": "comment.block.documentation.lean",
182
190
  "begin": "/-!",
183
- "end": "-/"
191
+ "end": "-/",
192
+ "patterns": [
193
+ {
194
+ "include": "source.lean.markdown"
195
+ },
196
+ {
197
+ "include": "#blockComment"
198
+ }
199
+ ]
184
200
  }
185
201
  }
186
202
  }