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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Linguist
2
4
  class Shebang
3
5
  # Public: Use shebang to detect language of the blob.
@@ -23,10 +25,10 @@ module Linguist
23
25
  #
24
26
  # Returns a String or nil
25
27
  def self.interpreter(data)
26
- shebang = data.lines.first
27
-
28
28
  # First line must start with #!
29
- return unless shebang && shebang.start_with?("#!")
29
+ return unless data.start_with?("#!")
30
+
31
+ shebang = data[0, data.index($/) || data.length]
30
32
 
31
33
  s = StringScanner.new(shebang)
32
34
 
@@ -41,6 +41,9 @@
41
41
  # Node dependencies
42
42
  - node_modules/
43
43
 
44
+ # Yarn releases
45
+ - (^|/)\.yarn/releases/
46
+
44
47
  # esy.sh dependencies
45
48
  - (^|/)_esy$
46
49
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-linguist
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.7.0
4
+ version: 7.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-06 00:00:00.000000000 Z
11
+ date: 2020-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: charlock_holmes
@@ -253,10 +253,9 @@ files:
253
253
  - grammars/injections.etc.json
254
254
  - grammars/markdown.haxe.codeblock.json
255
255
  - grammars/markdown.hxml.codeblock.json
256
+ - grammars/markdown.plantuml.codeblock.json
256
257
  - grammars/objdump.x86asm.json
257
- - grammars/source.LS.json
258
- - grammars/source.MCPOST.json
259
- - grammars/source.MOD.json
258
+ - grammars/source.4dm.json
260
259
  - grammars/source.SASLog.json
261
260
  - grammars/source.abap.json
262
261
  - grammars/source.abl.json
@@ -276,7 +275,6 @@ files:
276
275
  - grammars/source.apache-config.mod_perl.json
277
276
  - grammars/source.apl.json
278
277
  - grammars/source.applescript.json
279
- - grammars/source.apt.json
280
278
  - grammars/source.asn.json
281
279
  - grammars/source.asp.json
282
280
  - grammars/source.aspectj.json
@@ -366,6 +364,7 @@ files:
366
364
  - grammars/source.factor.json
367
365
  - grammars/source.fan.json
368
366
  - grammars/source.fancy.json
367
+ - grammars/source.faust.json
369
368
  - grammars/source.figctrl.json
370
369
  - grammars/source.figfont.json
371
370
  - grammars/source.firestore.json
@@ -458,6 +457,7 @@ files:
458
457
  - grammars/source.julia.json
459
458
  - grammars/source.kotlin.json
460
459
  - grammars/source.lean.json
460
+ - grammars/source.lean.markdown.json
461
461
  - grammars/source.lex.json
462
462
  - grammars/source.lex.regexp.json
463
463
  - grammars/source.lid.json
@@ -498,6 +498,7 @@ files:
498
498
  - grammars/source.mrc.json
499
499
  - grammars/source.mupad.json
500
500
  - grammars/source.nanorc.json
501
+ - grammars/source.nasl.json
501
502
  - grammars/source.ncl.json
502
503
  - grammars/source.ne.json
503
504
  - grammars/source.nemerle.json
@@ -527,6 +528,8 @@ files:
527
528
  - grammars/source.ocaml.json
528
529
  - grammars/source.ocamllex.json
529
530
  - grammars/source.ocamlyacc.json
531
+ - grammars/source.odin-ehr.json
532
+ - grammars/source.odin.json
530
533
  - grammars/source.ooc.json
531
534
  - grammars/source.opa.json
532
535
  - grammars/source.opal.json
@@ -574,6 +577,8 @@ files:
574
577
  - grammars/source.python.salt.json
575
578
  - grammars/source.q.json
576
579
  - grammars/source.q_output.json
580
+ - grammars/source.qasm.json
581
+ - grammars/source.ql.json
577
582
  - grammars/source.qmake.json
578
583
  - grammars/source.qml.json
579
584
  - grammars/source.quake.json
@@ -641,6 +646,7 @@ files:
641
646
  - grammars/source.thrift.json
642
647
  - grammars/source.tl.json
643
648
  - grammars/source.tla.json
649
+ - grammars/source.tnsaudit.json
644
650
  - grammars/source.toc.json
645
651
  - grammars/source.toml.json
646
652
  - grammars/source.ts.json
@@ -668,6 +674,7 @@ files:
668
674
  - grammars/source.webidl.json
669
675
  - grammars/source.wgetrc.json
670
676
  - grammars/source.wollok.json
677
+ - grammars/source.wsd.json
671
678
  - grammars/source.x10.json
672
679
  - grammars/source.x86.json
673
680
  - grammars/source.x86asm.json
@@ -677,7 +684,6 @@ files:
677
684
  - grammars/source.xq.json
678
685
  - grammars/source.xtend.json
679
686
  - grammars/source.yacc.json
680
- - grammars/source.yaml-ext.json
681
687
  - grammars/source.yaml.json
682
688
  - grammars/source.yaml.salt.json
683
689
  - grammars/source.yang.json
@@ -1,85 +0,0 @@
1
- {
2
- "name": "Fanuc (Ls)",
3
- "scopeName": "source.LS",
4
- "patterns": [
5
- {
6
- "name": "support.constant.LS",
7
- "match": "((CNT|ACC)([A-Za-z0-9_]+))|(FINE)",
8
- "captures": {
9
- "1": {
10
- "name": "support.constant.LS"
11
- }
12
- }
13
- },
14
- {
15
- "name": "support.constant.LS",
16
- "match": "([0-9]+)(:)(C|J|L|\\s)",
17
- "captures": {
18
- "1": {
19
- "name": "keyword.constant.LS"
20
- }
21
- }
22
- },
23
- {
24
- "name": "keyword.LS",
25
- "match": "(GP)([0-9]+)(:)"
26
- },
27
- {
28
- "name": "keyword.LS",
29
- "match": "(mm/sec|mm|deg|MNEDITOR)"
30
- },
31
- {
32
- "name": "constant.numeric.LS",
33
- "match": "((-)?(\\d+)((.|,)\\d)?(%)?)"
34
- },
35
- {
36
- "name": "entity.name.function.LS",
37
- "begin": "(P)(\\[)([0-9]+)",
38
- "end": "(\\])",
39
- "beginCaptures": {
40
- "1": {
41
- "name": "entity.name.function.LS"
42
- },
43
- "3": {
44
- "name": "variable.parameter.LS"
45
- }
46
- }
47
- },
48
- {
49
- "name": "comment.number-sign.LS",
50
- "match": "(!.*$)"
51
- },
52
- {
53
- "name": "support.variable.LS",
54
- "match": "\\s(READ_WRITE)"
55
- },
56
- {
57
- "name": "support.variable.LS",
58
- "match": "\\s?(UFRAME_NUM|UTOOL_NUM|CONFIG|CONTROL_CODE|DEFAULT_GROUP|PAUSE_REQUEST|ABORT_REQUEST|BUSY_LAMP_OFF|TIME_SLICE|TASK_PRIORITY|STACK_SIZE|PROTECT|MEMORY_SIZE|LINE_COUNT|VERSION|FILE_NAME|MODIFIED|CREATE|PROG_SIZE|COMMENT|OWNER)\\s"
59
- },
60
- {
61
- "name": "support.variable.LS",
62
- "match": "\\s?(X|Y|Z|W|P|R|J1|J2|J3|J4|J5|J6|UF|UT)\\s"
63
- },
64
- {
65
- "name": "keyword.LS",
66
- "match": "\\s(ABORT|Assignment|CANCEL|CONTINUE|DISABLE|ENABLE|HOLD|NOABORT|NOMESSAGE|NOPAUSE|PAUSE|Port_Id|PULSE|RESUME|SIGNAL|EVENT|SEMAPHORE|STOP|UNHOLD|UNPAUSE)\\s"
67
- },
68
- {
69
- "name": "keyword.LS",
70
- "match": "\\s(EVAL|FROM|IN|NOWAIT|UNTIL|VIA|WHEN|WITH)\\s"
71
- },
72
- {
73
- "name": "entity.name.type.LS",
74
- "match": "\\s?(ARRAY|BOOLEAN|BYTE|CONFIG|DISP_DAT_T|FILE|GROUP_ASSOC|INTEGER|JOINTPOS|PATH|POSITION|QUEUE_TYPE|REAL|SHORT|STD_PTH_NODE|STRING|VECTOR|XYZWPR|XYZWPREXT)\\s"
75
- },
76
- {
77
- "name": "string.quoted.double.LS",
78
- "match": "\".*?\""
79
- },
80
- {
81
- "name": "string.quoted.single.LS",
82
- "match": "\\'.*?\\'"
83
- }
84
- ]
85
- }
@@ -1,54 +0,0 @@
1
- {
2
- "name": "Mastercam (mcpost)",
3
- "scopeName": "source.MCPOST",
4
- "patterns": [
5
- {
6
- "name": "comment.number-sign.MCPOST",
7
- "match": "(#.*$)"
8
- },
9
- {
10
- "name": "constant.numeric.MCPOST",
11
- "match": "(\\b)(zero|one|two|three|four|five|six|seven|height|nine)(\\b)"
12
- },
13
- {
14
- "name": "constant.numeric.MCPOST",
15
- "match": "(\\b)(-?[0-9]+)(.[0-9]+)?(\\b)"
16
- },
17
- {
18
- "name": "variable.language.MCPOST",
19
- "match": "([a-zA-Z0-9]+)(\\$)"
20
- },
21
- {
22
- "name": "entity.name.function.MCPOST",
23
- "match": "([a-zA-Z0-9]+)(\\()(.*)(\\))",
24
- "beginCaptures": {
25
- "1": {
26
- "name": "entity.name.function.MCPOST"
27
- },
28
- "3": {
29
- "name": "variable.parametere.MCPOST"
30
- }
31
- }
32
- },
33
- {
34
- "name": "entity.name.function.MCPOST",
35
- "match": "(\\b)(^p[a-zA-Z]+)(_?([a-zA-Z]+)?)(_?)([a-zA-Z]+)(\\b)"
36
- },
37
- {
38
- "name": "keyword.MCPOST",
39
- "match": "^\\[[a-zA-Z0-9]((_?|\\-?)[a-zA-Z0-9\\s])*(_?|\\-?)[a-zA-Z0-9]\\]"
40
- },
41
- {
42
- "name": "keyword.control.MCPOST",
43
- "match": "(\\b)(if|else|while|for|return)(\\b)"
44
- },
45
- {
46
- "name": "string.quoted.double.MCPOST",
47
- "match": "\".*?\""
48
- },
49
- {
50
- "name": "string.quoted.single.MCPOST",
51
- "match": "\\'.*?\\'"
52
- }
53
- ]
54
- }
@@ -1,55 +0,0 @@
1
- {
2
- "name": "Kuka (MOD)",
3
- "scopeName": "source.MOD",
4
- "patterns": [
5
- {
6
- "name": "support.constant.MOD",
7
- "match": "((wob|z)([A-Za-z0-9_]))",
8
- "captures": {
9
- "1": {
10
- "name": "support.constant.MOD"
11
- }
12
- }
13
- },
14
- {
15
- "name": "constant.numeric.MOD",
16
- "match": "((-)?(\\d+)((.|,)\\d)?(%)?)"
17
- },
18
- {
19
- "name": "constant.numeric.MOD",
20
- "match": "([9])([E]\\+)([0-9]+)"
21
- },
22
- {
23
- "name": "comment.number-sign.MOD",
24
- "match": "(!.*$)"
25
- },
26
- {
27
- "name": "keyword.MOD",
28
- "match": "(PROC|ENDMODULE|MODULE|ENDPROC)\\s"
29
- },
30
- {
31
- "name": "keyword.MOD",
32
- "match": "\\s(MoveJ|MoveL|MoveAbsJ)\\s"
33
- },
34
- {
35
- "name": "keyword.MOD",
36
- "match": "(tl_|Wobj|fine)"
37
- },
38
- {
39
- "name": "keyword.MOD",
40
- "match": "\\s(IF|THEN|RETURN|PROC)\\s"
41
- },
42
- {
43
- "name": "entity.name.type.MOD",
44
- "match": "\\s?(ARRAY|BOOLEAN|BYTE|CONFIG|DISP_DAT_T|FILE|GROUP_ASSOC|INTEGER|JOINTPOS|PATH|POSITION|QUEUE_TYPE|REAL|SHORT|STD_PTH_NODE|STRING|VECTOR|XYZWPR|XYZWPREXT)\\s"
45
- },
46
- {
47
- "name": "string.quoted.double.MOD",
48
- "match": "\".*?\""
49
- },
50
- {
51
- "name": "string.quoted.single.MOD",
52
- "match": "\\'.*?\\'"
53
- }
54
- ]
55
- }
@@ -1,18 +0,0 @@
1
- {
2
- "name": "APT",
3
- "scopeName": "source.apt",
4
- "patterns": [
5
- {
6
- "name": "constant.numeric.apt",
7
- "match": "((-)?(\\d+)((.|,)\\d)?(%)?)"
8
- },
9
- {
10
- "name": "keyword.control.apt",
11
- "match": "(\\b)(AUTOPS|BSURF|CALL|CANNIN|CIRCLE|CLPRNT|CUT|CUTTER|DEBUG|DNTCUT|FINI|FROM|GO|GOBACK|GODLTA|GOFILE|GOFWD|GOLFT|GORGT|GOSUB|GOTO|IF|INDRIP|INDIRV|INPUT|INTOL|JUMPTO|LATHE|LINE|LOOPND|LOOPST|MACRO|MATRIX|NOPOST|OBTAIN|OUTTOL|PATERN|PLANE|POCKET|POINT|PRINT|PSIS|READ|REDEF|REMARK|RESERV|RETURN|SHAPE|SYN|TRMAC|THICK|TLLFT|TLOFPS|TLON|TLONPS|TLRGT|TOLER|TRACUT|TUNEUP|VECTOR|ZSURF|AAXIS|ABSF|ACOSF|ADJUST|ALL|ANGLF|ARC|ARROWS|ASINF|AT|ATAN2F|ATANF|ATANGL|AUTO|AVOID|BAKGRD|BAXIS|BEGIN|BLACK|BLKDEL|BLUE|BORE|BOTH|BRKCHP|BROWN|CAM|CANF|CAXIS|CCLW|CENTER|CHASE|CIRCUL|CLDATA|CLEAR|CLW|COARSE|COLLET|CONST|COSF|CROSS|CSINK|CTRLIN|CUTANG|CYAN|DARK|DASH|DECR||DEEP|DELTA|DELTAX|DELTAY|DELTAZ|DIAMTR|DISTF|DITTO|DMSF|DOTF|DOTTED|DOWN|DRAG|DRILL|DVALF|DWELL|DXF|ENDARC|FACE|FEDTO|FEED|FINE|FINISH|FLOOD|FRONT|GAGE|GEOMTY|GRAY|GREEN|GRID|HIGH|HOLDER|IN|INCR|INTENS|INTF|INTOF|INVERS|IPM|IPR|IVALF|JVALF|KVALF|LARGE|LAST|LAYER|LEAD|LEFT|LENGTH|LIGHT|LINCIR|LINEAR|LITE|LNTHF|LOCK|LOG10F|LOGF|LOW|MAGNTA|MAIN|MANUAL|MARK|MAXF|MAXIPM|MAXRPM|MED|MEDIUM|MILL|MINF|MINUS|MIRROR|MIST|MMPM|MMPR|MODIFY|MOTION|MULTRD|NEGX|NEGY|NEGZ|NEUTRL|NEXT|NIXIE|NOBACK|NOMORE|NORET|NORMAL|NOW|NOX|NOY|NOZ|NUMF|OFF|OMIT|ON|OPTION|ORIENT|OUT|PALLET|PARAB|PARLEL|PASS|PAST|PEN|PERPTO|PHANTM|PLUS|POSX|POSY|POSZ|QUILL|RADIUS|RANDOM|RANGE|RAPTO|REAM|REAR|RED|RETAIN|REV|RIGHT|ROTF|ROTREF|ROUGH|ROUNDF|RPM|RTHETA|RTRCTO|RVALF|SADDLE|SAME|SCALE|SCRIBE|SECNDS|SETANG|SETOOL|SFM|SIDE|SINF|SLOPE|SMALL|SMM|SOLID|SPLINE|SPRING|SQRTF|START|STEP|TABLE|TANF|TANTO|TAP|TAPKUL|THETAR|THRU|TILTF|TIMES|TO|TOOL|TPI|TRANSL|TRAV|TRFORM|TURN|TYPE|UNIT|UP|WAIT|WHITE|WINDOW|XAXIS|XCOORD|XFIRST|XLARGE|XSMALL|XVALF|XYPLAN|XYROT|XYVIEW|XYZ|YAXIS|YCOORD|YELLOW|YFIRST|YLARGE|YSMALL|YVALF|YZPLAN|YZROT|YZVIEW|ZAXIS|ZCOORD|ZIGZAG|ZLARGE|ZRAPID|ZSMALL|ZVALF|ZXPLAN|ZXROT|ZXVIEW||AIR|ARCSLP|ASLOPE|AUXFUN|BREAK|CAMERA|CHECK|CHUCK|CLAMP|CLEARP|CLRSRF|COMBIN|COOLNT|COPY|COUPLE|CUTCOM|CYCLE|DEBUGG|DELAY|DISPLY|DRAFT|DRESS|END|FEDRAT|GOHOME|HEAD|INDEX|INSERT|ISTOP|LEADER|LETTER|LINTOL|LOAD|LOADTL|LPRINT|MACHIN|MAXDPM|MAXVEL|MCHFIN|MCHTOL|MODE|NIBBLE|OPSKIP|OPSTOP|ORIGIN|OVPLOT|PARTNO|PENDWN|PENUP|PITCH|PIVOTZ|PLABEL|PLOT|PLUNGE|POSMAP|POSTN|PPLOT|PPRINT|PREFUN|PRFSEQ|RAPID|RESET|RETRCT|REVERS|REWIND|ROTABL|ROTATE|ROTHED|SAFETY|SELCTL|SELECT|SEQNO|SET|SLOWDN|SPINDL|STOP|SWITCH|THREAD|TMARK|TOOLNO|TRANS|TURRET|UNLOAD|VTLAXS|AUTOPS|CALL|CIRCLE|CLPRNT|COPY|CUT|CUTTER|DNTCUT|FINI|FROM|GO|GOBACK||GODLTA|GOFWD|GOLFT|GORGT|GOSUB|GOTO|IF|INDEX|INDIRP|INDIRV|INPUT|INTOL|JUMPTO|LINE|MACRO|MATRIX|NOPOST|OBTAIN|OUTTOL|PATERN|PLANE|POCKET|POINT|PRINT|PSSIS|READ|REDEF|REMARK|RESERV|RETURN|SYN|TERMAC|THICK|TLLFT|TLOFPS|TLON|TLONPS|TLRGT|TOLER|TRACUT|TUNEUP|VECTOR|ZSURF|UNITS|INCH|MCS|PERIMETER|MULTAX|OSETNO)(\\b)"
12
- },
13
- {
14
- "name": "comment.number-sign.apt",
15
- "match": "((\\$\\$).*$)"
16
- }
17
- ]
18
- }
@@ -1,324 +0,0 @@
1
- {
2
- "name": "YAML-ext",
3
- "scopeName": "source.yaml-ext",
4
- "patterns": [
5
- {
6
- "include": "#erb"
7
- },
8
- {
9
- "name": "string.unquoted.block.yaml-ext",
10
- "begin": "^(\\s*)(?!-\\s*)(\\S+\\s*(:))\\s*(\\||\u003e)",
11
- "end": "^(?!\\1\\s+)(?=\\s*(-|\\S+\\s*:|#))",
12
- "patterns": [
13
- {
14
- "include": "#erb"
15
- }
16
- ],
17
- "beginCaptures": {
18
- "2": {
19
- "name": "entity.name.tag.yaml-ext"
20
- },
21
- "3": {
22
- "name": "punctuation.separator.key-value.yaml-ext"
23
- }
24
- }
25
- },
26
- {
27
- "name": "string.unquoted.block.yaml-ext",
28
- "begin": "^(\\s*)(?:(-)|(?:(-(\\s*))?(\\S+\\s*(:))))\\s*(\\||\u003e)",
29
- "end": "^(?!\\1 \\4\\s+)(?=\\s*(-|\\S+\\s*:|#))",
30
- "patterns": [
31
- {
32
- "include": "#erb"
33
- }
34
- ],
35
- "beginCaptures": {
36
- "2": {
37
- "name": "punctuation.definition.entry.yaml-ext"
38
- },
39
- "3": {
40
- "name": "punctuation.definition.entry.yaml-ext"
41
- },
42
- "5": {
43
- "name": "entity.name.tag.yaml-ext"
44
- },
45
- "6": {
46
- "name": "punctuation.separator.key-value.yaml-ext"
47
- }
48
- }
49
- },
50
- {
51
- "name": "constant.numeric.yaml-ext",
52
- "match": "(?:(?:(-\\s*)?([^\\s#].*?(:)(?=\\s)))|(-))\\s*((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\s*($|(?=#)(?!#\\{))",
53
- "captures": {
54
- "1": {
55
- "name": "punctuation.definition.entry.yaml-ext"
56
- },
57
- "2": {
58
- "name": "entity.name.tag.yaml-ext"
59
- },
60
- "3": {
61
- "name": "punctuation.separator.key-value.yaml-ext"
62
- },
63
- "4": {
64
- "name": "punctuation.definition.entry.yaml-ext"
65
- }
66
- }
67
- },
68
- {
69
- "name": "string.unquoted.yaml-ext",
70
- "begin": "(?:(?:(-\\s*)?([^\\s#].*?(:)(?=\\s)))|(-))[ \t]*",
71
- "end": "$|(?=#)(?!#\\{)",
72
- "patterns": [
73
- {
74
- "name": "string.unquoted.yaml-ext",
75
- "match": "\\!\\s*"
76
- },
77
- {
78
- "include": "#double_quoted_string"
79
- },
80
- {
81
- "include": "#single_quoted_string"
82
- },
83
- {
84
- "name": "string.unquoted.yaml-ext",
85
- "match": "[^\"'#\\n]([^#\\n]|((?\u003c!\\s)#))*"
86
- }
87
- ],
88
- "beginCaptures": {
89
- "1": {
90
- "name": "punctuation.definition.entry.yaml-ext"
91
- },
92
- "2": {
93
- "name": "entity.name.tag.yaml-ext"
94
- },
95
- "3": {
96
- "name": "punctuation.separator.key-value.yaml-ext"
97
- },
98
- "4": {
99
- "name": "punctuation.definition.entry.yaml-ext"
100
- }
101
- }
102
- },
103
- {
104
- "name": "constant.other.date.yaml-ext",
105
- "match": "(?:(?:(-\\s*)?(\\w+\\s*(:)))|(-))\\s*([0-9]{4}-[0-9]{2}-[0-9]{2})\\s*($|(?=#)(?!#\\{))",
106
- "captures": {
107
- "1": {
108
- "name": "punctuation.definition.entry.yaml-ext"
109
- },
110
- "2": {
111
- "name": "entity.name.tag.yaml-ext"
112
- },
113
- "3": {
114
- "name": "punctuation.separator.key-value.yaml-ext"
115
- },
116
- "4": {
117
- "name": "punctuation.definition.entry.yaml-ext"
118
- }
119
- }
120
- },
121
- {
122
- "name": "meta.tag.yaml-ext",
123
- "match": "(\\w.*?)(:)\\s*((\\!\\!)omap)?",
124
- "captures": {
125
- "1": {
126
- "name": "entity.name.tag.yaml-ext"
127
- },
128
- "2": {
129
- "name": "punctuation.separator.key-value.yaml-ext"
130
- },
131
- "3": {
132
- "name": "keyword.other.omap.yaml-ext"
133
- },
134
- "4": {
135
- "name": "punctuation.definition.keyword.yaml-ext"
136
- }
137
- }
138
- },
139
- {
140
- "name": "variable.other.yaml-ext",
141
- "match": "(\\\u0026|\\*)\\w.*?$",
142
- "captures": {
143
- "1": {
144
- "name": "punctuation.definition.variable.yaml-ext"
145
- }
146
- }
147
- },
148
- {
149
- "include": "#double_quoted_string"
150
- },
151
- {
152
- "include": "#single_quoted_string"
153
- },
154
- {
155
- "name": "string.interpolated.yaml-ext",
156
- "begin": "`",
157
- "end": "`",
158
- "patterns": [
159
- {
160
- "include": "#escaped_char"
161
- },
162
- {
163
- "include": "#erb"
164
- }
165
- ],
166
- "beginCaptures": {
167
- "0": {
168
- "name": "punctuation.definition.string.begin.yaml-ext"
169
- }
170
- },
171
- "endCaptures": {
172
- "0": {
173
- "name": "punctuation.definition.string.end.yaml-ext"
174
- }
175
- }
176
- },
177
- {
178
- "name": "keyword.operator.merge-key.yaml-ext",
179
- "match": "(\\\u003c\\\u003c): ((\\*).*)$",
180
- "captures": {
181
- "1": {
182
- "name": "entity.name.tag.yaml-ext"
183
- },
184
- "2": {
185
- "name": "keyword.operator.merge-key.yaml-ext"
186
- },
187
- "3": {
188
- "name": "punctuation.definition.keyword.yaml-ext"
189
- }
190
- }
191
- },
192
- {
193
- "name": "invalid.deprecated.trailing-whitespace.yaml-ext",
194
- "match": "( |\t)+$",
195
- "disabled": true
196
- },
197
- {
198
- "begin": "(^[ \\t]+)?(?\u003c!\\$)(?\u003c=^|[ \\t])(?=#)(?!#\\{)",
199
- "end": "(?!\\G)",
200
- "patterns": [
201
- {
202
- "name": "comment.line.number-sign.yaml-ext",
203
- "begin": "#",
204
- "end": "\\n",
205
- "beginCaptures": {
206
- "0": {
207
- "name": "punctuation.definition.comment.yaml-ext"
208
- }
209
- }
210
- }
211
- ],
212
- "beginCaptures": {
213
- "1": {
214
- "name": "punctuation.whitespace.comment.leading.yaml-ext"
215
- }
216
- }
217
- },
218
- {
219
- "name": "keyword.operator.symbol",
220
- "match": "-"
221
- },
222
- {
223
- "name": "meta.leading-tabs.yaml-ext",
224
- "begin": "^(?=\\t)",
225
- "end": "(?=[^\\t])",
226
- "patterns": [
227
- {
228
- "match": "(\\t)(\\t)?",
229
- "captures": {
230
- "1": {
231
- "name": "meta.odd-tab"
232
- },
233
- "2": {
234
- "name": "meta.even-tab"
235
- }
236
- }
237
- }
238
- ]
239
- }
240
- ],
241
- "repository": {
242
- "double_quoted_string": {
243
- "name": "string.quoted.double.yaml-ext",
244
- "begin": "\"",
245
- "end": "\"",
246
- "patterns": [
247
- {
248
- "include": "#escaped_char"
249
- },
250
- {
251
- "include": "#erb"
252
- }
253
- ],
254
- "beginCaptures": {
255
- "0": {
256
- "name": "punctuation.definition.string.begin.yaml-ext"
257
- }
258
- },
259
- "endCaptures": {
260
- "0": {
261
- "name": "punctuation.definition.string.end.yaml-ext"
262
- }
263
- }
264
- },
265
- "erb": {
266
- "name": "meta.embedded.line.ruby",
267
- "contentName": "source.ruby.rails",
268
- "begin": "\u003c%+(?!\u003e)=?",
269
- "end": "(%)\u003e",
270
- "patterns": [
271
- {
272
- "name": "comment.line.number-sign.ruby",
273
- "match": "(#).*?(?=%\u003e)",
274
- "captures": {
275
- "1": {
276
- "name": "punctuation.definition.comment.ruby"
277
- }
278
- }
279
- },
280
- {}
281
- ],
282
- "beginCaptures": {
283
- "0": {
284
- "name": "punctuation.definition.embedded.begin.ruby"
285
- }
286
- },
287
- "endCaptures": {
288
- "0": {
289
- "name": "punctuation.definition.embedded.end.ruby"
290
- },
291
- "1": {
292
- "name": "source.ruby.rails"
293
- }
294
- }
295
- },
296
- "escaped_char": {
297
- "name": "constant.character.escape.yaml-ext",
298
- "match": "\\\\."
299
- },
300
- "single_quoted_string": {
301
- "name": "string.quoted.single.yaml-ext",
302
- "begin": "'",
303
- "end": "'",
304
- "patterns": [
305
- {
306
- "include": "#escaped_char"
307
- },
308
- {
309
- "include": "#erb"
310
- }
311
- ],
312
- "beginCaptures": {
313
- "0": {
314
- "name": "punctuation.definition.string.begin.yaml-ext"
315
- }
316
- },
317
- "endCaptures": {
318
- "0": {
319
- "name": "punctuation.definition.string.end.yaml-ext"
320
- }
321
- }
322
- }
323
- }
324
- }