github-linguist 7.6.1 → 7.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +5 -5
  2. data/bin/github-linguist +17 -4
  3. data/grammars/annotation.liquidhaskell.haskell.json +11 -11
  4. data/grammars/etc.json +212 -3
  5. data/grammars/hidden.manref.json +29 -0
  6. data/grammars/hint.haskell.json +11 -11
  7. data/grammars/hint.message.haskell.json +11 -11
  8. data/grammars/hint.type.haskell.json +11 -11
  9. data/grammars/injections.etc.json +601 -1
  10. data/grammars/source.abap.json +7 -7
  11. data/grammars/source.abnf.json +23 -1
  12. data/grammars/source.ahk.json +3 -3
  13. data/grammars/source.angelscript.json +1 -1
  14. data/grammars/source.ballerina.json +54 -18
  15. data/grammars/source.csound.json +1 -1
  16. data/grammars/source.css.json +2 -2
  17. data/grammars/source.css.scss.json +164 -15
  18. data/grammars/source.curlrc.json +869 -65
  19. data/grammars/source.dart.json +1 -1
  20. data/grammars/source.dircolors.json +39 -0
  21. data/grammars/source.direct-x.json +135 -0
  22. data/grammars/source.ebnf.json +67 -39
  23. data/grammars/source.elixir.json +43 -0
  24. data/grammars/source.gfm.json +1 -1
  25. data/grammars/source.gitconfig.json +1 -1
  26. data/grammars/source.hack.json +196 -80
  27. data/grammars/source.haskell.json +11 -11
  28. data/grammars/source.hosts.json +40 -0
  29. data/grammars/source.hsig.json +11 -11
  30. data/grammars/source.igor.json +2 -2
  31. data/grammars/source.ini.npmrc.json +311 -0
  32. data/grammars/source.inno.json +133 -0
  33. data/grammars/source.inputrc.json +500 -0
  34. data/grammars/source.js.json +4 -4
  35. data/grammars/source.julia.json +45 -3
  36. data/grammars/source.kotlin.json +1 -1
  37. data/grammars/source.lex.json +4 -4
  38. data/grammars/source.m4.json +141 -99
  39. data/grammars/source.man-conf.json +46 -34
  40. data/grammars/source.matlab.json +225 -35
  41. data/grammars/source.mcfunction-snapshot.json +21388 -561
  42. data/grammars/source.mcfunction.json +55 -5
  43. data/grammars/source.mlir.json +37 -317
  44. data/grammars/source.mrc.json +858 -0
  45. data/grammars/source.opts.json +12 -2
  46. data/grammars/source.p4.json +21 -5
  47. data/grammars/source.prisma.json +428 -0
  48. data/grammars/source.python.json +2 -0
  49. data/grammars/source.reason.json +28 -16
  50. data/grammars/source.rego.json +124 -0
  51. data/grammars/source.sass.json +158 -3
  52. data/grammars/source.scala.json +26 -15
  53. data/grammars/source.ssh-config.json +1 -14
  54. data/grammars/source.swift.json +162 -2
  55. data/grammars/source.ts.json +74 -25
  56. data/grammars/source.tsx.json +75 -26
  57. data/grammars/source.v.json +58 -16
  58. data/grammars/source.vim-snippet.json +645 -0
  59. data/grammars/source.viml.json +5 -5
  60. data/grammars/source.wgetrc.json +1640 -0
  61. data/grammars/source.zig.json +169 -304
  62. data/grammars/text.html.php.blade.json +1 -1
  63. data/grammars/text.html.riot.json +788 -0
  64. data/grammars/text.muse.json +1471 -0
  65. data/grammars/text.tex.latex.haskell.json +11 -11
  66. data/grammars/text.vim-help.json +383 -0
  67. data/grammars/version +1 -1
  68. data/lib/linguist/VERSION +1 -1
  69. data/lib/linguist/blob_helper.rb +4 -2
  70. data/lib/linguist/generated.rb +39 -12
  71. data/lib/linguist/heuristics.yml +16 -1
  72. data/lib/linguist/languages.json +1 -1
  73. data/lib/linguist/languages.yml +183 -14
  74. data/lib/linguist/linguist.bundle +0 -0
  75. data/lib/linguist/samples.json +6910 -536
  76. data/lib/linguist/vendor.yml +6 -0
  77. metadata +18 -5
  78. data/grammars/source.jlex.json +0 -322
@@ -297,7 +297,7 @@
297
297
  {
298
298
  "name": "meta.ctor.type-declaration.haskell",
299
299
  "contentName": "meta.type-signature.haskell",
300
- "begin": "^(?:\u003e|\u003c) ([ \\t]*)(?:(?:((?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*))(?:\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))",
300
+ "begin": "^(?:\u003e|\u003c) ([ \\t]*)(?:(?:((?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*))(?:\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))",
301
301
  "end": "^(?!(?:\u003e|\u003c) \\1[ \\t]|(?:\u003e|\u003c) [ \\t]*$)|^(?!(?:\u003e|\u003c) )",
302
302
  "patterns": [
303
303
  {
@@ -636,7 +636,7 @@
636
636
  {
637
637
  "name": "meta.function.type-declaration.haskell",
638
638
  "contentName": "meta.type-signature.haskell",
639
- "begin": "^(?:\u003e|\u003c) ([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))",
639
+ "begin": "^(?:\u003e|\u003c) ([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))",
640
640
  "end": "^(?!(?:\u003e|\u003c) \\1[ \\t]|(?:\u003e|\u003c) [ \\t]*$)|^(?!(?:\u003e|\u003c) )|(?=(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:\u003c-|=)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))",
641
641
  "patterns": [
642
642
  {
@@ -858,7 +858,7 @@
858
858
  "patterns": [
859
859
  {
860
860
  "name": "entity.name.function.operator.haskell",
861
- "match": "(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))",
861
+ "match": "(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))",
862
862
  "captures": {
863
863
  "0": {
864
864
  "patterns": [
@@ -932,7 +932,7 @@
932
932
  {
933
933
  "name": "meta.function.type-declaration.haskell",
934
934
  "contentName": "meta.type-signature.haskell",
935
- "begin": "^(?:\u003e|\u003c) ([ \\t]*)(((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*))\\s*$",
935
+ "begin": "^(?:\u003e|\u003c) ([ \\t]*)(((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*))\\s*$",
936
936
  "end": "^(?!(?:\u003e|\u003c) \\1[ \\t]|(?:\u003e|\u003c) [ \\t]*$)|^(?!(?:\u003e|\u003c) )",
937
937
  "patterns": [
938
938
  {
@@ -1074,9 +1074,12 @@
1074
1074
  {
1075
1075
  "include": "#comma"
1076
1076
  },
1077
+ {
1078
+ "include": "#infix_op"
1079
+ },
1077
1080
  {
1078
1081
  "name": "meta.other.constructor-list.haskell",
1079
- "begin": "(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))\\s*\\(",
1082
+ "begin": "\\(",
1080
1083
  "end": "\\)",
1081
1084
  "patterns": [
1082
1085
  {
@@ -1102,9 +1105,6 @@
1102
1105
  "include": "#infix_op"
1103
1106
  }
1104
1107
  ]
1105
- },
1106
- {
1107
- "include": "#infix_op"
1108
1108
  }
1109
1109
  ],
1110
1110
  "applyEndPatternLast": true
@@ -1246,8 +1246,8 @@
1246
1246
  {
1247
1247
  "name": "meta.record-field.type-declaration.haskell",
1248
1248
  "contentName": "meta.type-signature.haskell",
1249
- "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))",
1250
- "end": "(?=(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))|})",
1249
+ "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))",
1250
+ "end": "(?=(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))|})",
1251
1251
  "patterns": [
1252
1252
  {
1253
1253
  "include": "#type_signature"
@@ -1339,7 +1339,7 @@
1339
1339
  "scoped_type_override": {
1340
1340
  "patterns": [
1341
1341
  {
1342
- "match": "^(?:\u003e|\u003c) ([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))((?:(?!{-|(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:--+)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))).|{-.*?-})*)((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:\u003c-|=)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))",
1342
+ "match": "^(?:\u003e|\u003c) ([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\)|\\.\\.\\))(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))((?:(?!{-|(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:--+)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))).|{-.*?-})*)((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:\u003c-|=)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))",
1343
1343
  "captures": {
1344
1344
  "2": {
1345
1345
  "patterns": [
@@ -0,0 +1,383 @@
1
+ {
2
+ "name": "Vim Help",
3
+ "scopeName": "text.vim-help",
4
+ "patterns": [
5
+ {
6
+ "name": "meta.file-header.vim-help",
7
+ "match": "(?i)\\A(\\*[#-)!+-~]+\\*)[ \\t]+(For\\s+Vim\\s+version\\s*[\\d.]+)[ \\t]+Last\\s+changed?:\\s*(\\S.*?)\\s*$",
8
+ "captures": {
9
+ "1": {
10
+ "patterns": [
11
+ {
12
+ "include": "#tag"
13
+ }
14
+ ]
15
+ },
16
+ "2": {
17
+ "patterns": [
18
+ {
19
+ "include": "#vimVersion"
20
+ }
21
+ ]
22
+ },
23
+ "3": {
24
+ "name": "constant.numeric.date.last-changed.vim-help"
25
+ }
26
+ }
27
+ },
28
+ {
29
+ "include": "#main"
30
+ }
31
+ ],
32
+ "repository": {
33
+ "codeBlock": {
34
+ "name": "meta.example.vim-help",
35
+ "contentName": "markup.raw.code.verbatim.vim-help",
36
+ "begin": "(?:(?\u003c=\\s)|^)(\u003e)$",
37
+ "end": "^(\u003c)|(?=^\\S)",
38
+ "beginCaptures": {
39
+ "1": {
40
+ "name": "keyword.control.example.begin.vim-help"
41
+ }
42
+ },
43
+ "endCaptures": {
44
+ "1": {
45
+ "name": "keyword.control.example.end.vim-help"
46
+ }
47
+ }
48
+ },
49
+ "columnHeading": {
50
+ "name": "markup.heading.column-title.vim-help",
51
+ "match": "^\\s*\\S.*(~)$",
52
+ "captures": {
53
+ "1": {
54
+ "name": "keyword.operator.column-marker.tilde.vim-help"
55
+ }
56
+ }
57
+ },
58
+ "command": {
59
+ "name": "markup.raw.command.vim-help",
60
+ "match": "(`)([^` \\t]+)(`)",
61
+ "captures": {
62
+ "1": {
63
+ "name": "punctuation.definition.link.begin.vim-help"
64
+ },
65
+ "2": {
66
+ "patterns": [
67
+ {
68
+ "include": "source.viml"
69
+ }
70
+ ]
71
+ },
72
+ "3": {
73
+ "name": "punctuation.definition.link.end.vim-help"
74
+ }
75
+ }
76
+ },
77
+ "link": {
78
+ "name": "meta.link.vim-help",
79
+ "match": "(\\|)([^\"*|]+)(\\|)",
80
+ "captures": {
81
+ "1": {
82
+ "name": "meta.separator.punctuation.link.begin.vim-help"
83
+ },
84
+ "2": {
85
+ "name": "constant.other.link.vim-help"
86
+ },
87
+ "3": {
88
+ "name": "meta.separator.punctuation.link.end.vim-help"
89
+ }
90
+ }
91
+ },
92
+ "main": {
93
+ "patterns": [
94
+ {
95
+ "include": "#tag"
96
+ },
97
+ {
98
+ "include": "#link"
99
+ },
100
+ {
101
+ "include": "#special"
102
+ },
103
+ {
104
+ "include": "#option"
105
+ },
106
+ {
107
+ "include": "#command"
108
+ },
109
+ {
110
+ "include": "#codeBlock"
111
+ },
112
+ {
113
+ "include": "#manualTitle"
114
+ },
115
+ {
116
+ "include": "#columnHeading"
117
+ },
118
+ {
119
+ "include": "#sectionDelimiter"
120
+ },
121
+ {
122
+ "include": "#vimVersion"
123
+ },
124
+ {
125
+ "include": "#url"
126
+ },
127
+ {
128
+ "include": "#other"
129
+ }
130
+ ]
131
+ },
132
+ "manualTitle": {
133
+ "name": "markup.heading.manual-title.vim-help",
134
+ "match": "^[ \\t]+(VIM REFERENCE.*)\\s*$",
135
+ "captures": {
136
+ "1": {
137
+ "name": "constant.other.title-text.vim-help"
138
+ }
139
+ }
140
+ },
141
+ "option": {
142
+ "patterns": [
143
+ {
144
+ "name": "entity.name.tag.option.vim-help",
145
+ "match": "(')[a-z]{2,}(')",
146
+ "captures": {
147
+ "1": {
148
+ "name": "punctuation.definition.begin.option.vim-help"
149
+ },
150
+ "2": {
151
+ "name": "punctuation.definition.end.option.vim-help"
152
+ }
153
+ }
154
+ }
155
+ ]
156
+ },
157
+ "other": {
158
+ "patterns": [
159
+ {
160
+ "name": "markup.changed.${1:/downcase}.vim-help",
161
+ "match": "\\b(DEPRECATED|WARNING|(?:Deprecated|Warning)(?=:))(:|\\b)",
162
+ "captures": {
163
+ "2": {
164
+ "name": "keyword.operator.assignment.key-value.colon.vim-help"
165
+ }
166
+ }
167
+ },
168
+ {
169
+ "name": "invalid.illegal.error.vim-help",
170
+ "match": "\\t[* ]Error\\t+[a-z].*",
171
+ "captures": {
172
+ "1": {
173
+ "name": "punctuation.separator.list-item.marker.vim-help"
174
+ }
175
+ }
176
+ },
177
+ {
178
+ "name": "markup.ignored.todo.vim-help",
179
+ "match": "\\t[* ]Todo\\t+[a-z].*",
180
+ "captures": {
181
+ "1": {
182
+ "name": "punctuation.separator.list-item.marker.vim-help"
183
+ }
184
+ }
185
+ },
186
+ {
187
+ "name": "comment.line.vim-help",
188
+ "match": "\\t[* ](Comment)\\t+([a-z].*)",
189
+ "captures": {
190
+ "1": {
191
+ "name": "punctuation.separator.list-item.marker.vim-help"
192
+ }
193
+ }
194
+ },
195
+ {
196
+ "name": "constant.other.reference.link.vim-help",
197
+ "match": "\\t[* ]Underlined\\t+[a-z].*"
198
+ },
199
+ {
200
+ "name": "meta.${2:/downcase}-line.vim-help",
201
+ "match": "(?x) \\t (\\*|\\x20)\n(Boolean|Character|Conditional|Constant|Debug|Define|Delimiter\n|Exception|Float|Function|Identifier|Include|Keyword|Label|Macro\n|Number|Operator|PreCondit|PreProc|Repeat|SpecialChar\n|SpecialComment|Special|Statement|StorageClass|String\n|Structure|Tag|Typedef|Type)\n(\\t+ ([\"Aa-z].*))",
202
+ "captures": {
203
+ "1": {
204
+ "name": "punctuation.separator.list-item.marker.vim-help"
205
+ },
206
+ "2": {
207
+ "name": "storage.type.${2:/downcase}.vim-help"
208
+ },
209
+ "3": {
210
+ "name": "meta.output.vim-help"
211
+ },
212
+ "4": {
213
+ "name": "${2:/downcase}.vim-help"
214
+ }
215
+ }
216
+ }
217
+ ]
218
+ },
219
+ "sectionDelimiter": {
220
+ "name": "constant.other.section.delimiter.vim-help",
221
+ "match": "^===.*===$|^---.*--$"
222
+ },
223
+ "special": {
224
+ "patterns": [
225
+ {
226
+ "name": "entity.name.keyword.vim-help",
227
+ "match": "(\u003c)N(\u003e)",
228
+ "captures": {
229
+ "1": {
230
+ "name": "punctuation.definition.bracket.angle.begin.vim-help"
231
+ },
232
+ "2": {
233
+ "name": "punctuation.definition.bracket.angle.end.vim-help"
234
+ }
235
+ }
236
+ },
237
+ {
238
+ "name": "entity.name.keyword.vim-help",
239
+ "match": "(\u003c)N(?=\\.(?:$|\\s))",
240
+ "captures": {
241
+ "1": {
242
+ "name": "punctuation.definition.bracket.angle.begin.vim-help"
243
+ }
244
+ }
245
+ },
246
+ {
247
+ "name": "entity.name.keyword.vim-help",
248
+ "match": "(\\()N(\u003e)",
249
+ "captures": {
250
+ "1": {
251
+ "name": "punctuation.definition.bracket.round.begin.vim-help"
252
+ },
253
+ "2": {
254
+ "name": "punctuation.definition.bracket.angle.end.vim-help"
255
+ }
256
+ }
257
+ },
258
+ {
259
+ "name": "entity.name.keyword.vim-help",
260
+ "match": "(\\[)N(\\])",
261
+ "captures": {
262
+ "1": {
263
+ "name": "punctuation.definition.bracket.square.begin.vim-help"
264
+ },
265
+ "2": {
266
+ "name": "punctuation.definition.bracket.square.end.vim-help"
267
+ }
268
+ }
269
+ },
270
+ {
271
+ "match": "(N) (N)",
272
+ "captures": {
273
+ "1": {
274
+ "name": "entity.name.keyword.vim-help"
275
+ },
276
+ "2": {
277
+ "name": "entity.name.keyword.vim-help"
278
+ }
279
+ }
280
+ },
281
+ {
282
+ "name": "entity.name.keyword.vim-help",
283
+ "match": "N(?=th|-1)"
284
+ },
285
+ {
286
+ "name": "entity.name.keyword.vim-help",
287
+ "match": "({)[-a-zA-Z0-9'\"*+/:%#=\\[\\]\u003c\u003e.,]+(})",
288
+ "captures": {
289
+ "1": {
290
+ "name": "punctuation.definition.bracket.curly.begin.vim-help"
291
+ },
292
+ "2": {
293
+ "name": "punctuation.definition.bracket.curly.end.vim-help"
294
+ }
295
+ }
296
+ },
297
+ {
298
+ "name": "entity.name.keyword.vim-help",
299
+ "match": "(?\u003c=\\s)(\\[)[-a-z^A-Z0-9_]{2,}(\\])",
300
+ "captures": {
301
+ "1": {
302
+ "name": "punctuation.definition.bracket.square.begin.vim-help"
303
+ },
304
+ "2": {
305
+ "name": "punctuation.definition.bracket.square.end.vim-help"
306
+ }
307
+ }
308
+ },
309
+ {
310
+ "name": "entity.name.keyword.vim-help",
311
+ "match": "(\u003c)[-a-zA-Z0-9_]+(\u003e)",
312
+ "captures": {
313
+ "1": {
314
+ "name": "punctuation.definition.bracket.angle.begin.vim-help"
315
+ },
316
+ "2": {
317
+ "name": "punctuation.definition.bracket.angle.end.vim-help"
318
+ }
319
+ }
320
+ },
321
+ {
322
+ "name": "entity.name.keyword.vim-help",
323
+ "match": "(\u003c)[SCM]-.(\u003e)",
324
+ "captures": {
325
+ "1": {
326
+ "name": "punctuation.definition.bracket.angle.begin.vim-help"
327
+ },
328
+ "2": {
329
+ "name": "punctuation.definition.bracket.angle.end.vim-help"
330
+ }
331
+ }
332
+ },
333
+ {
334
+ "name": "entity.name.keyword.vim-help",
335
+ "match": "(\\[)(?:\\+\\+opt|[-+]?num|\\+?cmd|addr|arguments|arg|count|group|ident|line|offset|range)(\\])",
336
+ "captures": {
337
+ "1": {
338
+ "name": "punctuation.definition.bracket.square.begin.vim-help"
339
+ },
340
+ "2": {
341
+ "name": "punctuation.definition.bracket.square.end.vim-help"
342
+ }
343
+ }
344
+ },
345
+ {
346
+ "name": "entity.name.keyword.vim-help",
347
+ "match": "\\bCTRL(-)(?:.|Break|Del|Insert|PageDown|PageUp|({)char(}))",
348
+ "captures": {
349
+ "1": {
350
+ "name": "punctuation.delimiter.separator.dash.hyphen.vim-help"
351
+ },
352
+ "2": {
353
+ "name": "punctuation.definition.bracket.curly.begin.vim-help"
354
+ },
355
+ "3": {
356
+ "name": "punctuation.definition.bracket.curly.end.vim-help"
357
+ }
358
+ }
359
+ }
360
+ ]
361
+ },
362
+ "tag": {
363
+ "name": "storage.link.hypertext.vim-help",
364
+ "match": "(\\*)[#-)!+-~]+(\\*)(?=\\s|$)",
365
+ "captures": {
366
+ "1": {
367
+ "name": "punctuation.definition.begin.vim-help"
368
+ },
369
+ "2": {
370
+ "name": "punctuation.definition.end.vim-help"
371
+ }
372
+ }
373
+ },
374
+ "url": {
375
+ "name": "constant.other.reference.link.vim-help",
376
+ "match": "(?x)\n(?:(?:(?:https?|ftp|gopher)://|(?:mailto|file|news):)[^'\\x20\\t\u003c\u003e\"]+\n|(?:www|web|w3)[a-z0-9_-]*\\.[a-z0-9._-]+\\.[^'\\x20\\t\u003c\u003e\"]+)\n[a-zA-Z0-9/]"
377
+ },
378
+ "vimVersion": {
379
+ "name": "entity.other.vim-version.vim-help",
380
+ "match": "\\bVim version [0-9][0-9.a-z]*"
381
+ }
382
+ }
383
+ }