github-linguist 8.0.1 → 9.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/go.mod.json +1 -1
- data/grammars/markdown.vue.codeblock.json +1 -0
- data/grammars/mdx.vue.codeblock.json +1 -0
- data/grammars/source.QB64.json +1 -0
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.angelscript.json +1 -1
- data/grammars/source.basic.json +1 -1
- data/grammars/source.bb.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bsl.json +1 -1
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cmakecache.json +1 -0
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.dart.json +1 -1
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.graphql.json +1 -1
- data/grammars/source.hcl.json +1 -1
- data/grammars/source.hcl.terraform.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.just.json +1 -1
- data/grammars/source.luau.json +1 -1
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mdx.astro.json +1 -0
- data/grammars/source.mdx.json +1 -1
- data/grammars/source.moonbit.json +1 -0
- data/grammars/source.msg.json +1 -0
- data/grammars/source.ned.json +1 -0
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.odin.json +1 -1
- data/grammars/source.openesql.json +1 -0
- data/grammars/source.p4.json +1 -1
- data/grammars/source.polar.json +1 -1
- data/grammars/source.powerbuilder.json +1 -1
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.sdbl.json +1 -1
- data/grammars/source.tact.json +1 -0
- data/grammars/source.toc.json +1 -1
- data/grammars/source.ts.json +1 -1
- data/grammars/source.tsp.json +1 -0
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.vba.json +1 -1
- data/grammars/source.vue.json +1 -0
- data/grammars/source.wdl.json +1 -1
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.md.json +1 -1
- data/grammars/version +1 -1
- data/grammars/vue.directives.json +1 -0
- data/grammars/vue.interpolations.json +1 -0
- data/grammars/vue.sfc.style.variable.injection.json +1 -0
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +31 -0
- data/lib/linguist/generic.yml +1 -0
- data/lib/linguist/heuristics.yml +55 -11
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +93 -3
- data/lib/linguist/lazy_blob.rb +15 -7
- data/lib/linguist/repository.rb +18 -13
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/source/diff.rb +72 -0
- data/lib/linguist/source/repository.rb +64 -0
- data/lib/linguist/source/rugged.rb +95 -0
- metadata +21 -6
- data/grammars/source.cache.cmake.json +0 -1
- data/grammars/text.html.vue.json +0 -1
- data/grammars/text.mdx.astro.codeblock.json +0 -1
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'linguist/generated'
|
2
|
+
require 'cgi'
|
3
|
+
require 'charlock_holmes'
|
4
|
+
require 'mini_mime'
|
5
|
+
require 'yaml'
|
6
|
+
|
7
|
+
module Linguist
|
8
|
+
module Source
|
9
|
+
# Diff is an interface representing a diff between two trees. It is composed
|
10
|
+
# of a collection of iterable deltas between before/after states of files.
|
11
|
+
class Diff
|
12
|
+
# A Delta represents a single file's before/after state in a diff.
|
13
|
+
class Delta
|
14
|
+
# Public: get the status of the file's "after" state as compared to
|
15
|
+
# "before". Valid status values include:
|
16
|
+
#
|
17
|
+
# - :added
|
18
|
+
# - :deleted
|
19
|
+
# - :modified
|
20
|
+
# - :renamed
|
21
|
+
# - :copied
|
22
|
+
# - :ignored
|
23
|
+
# - :untracked
|
24
|
+
# - :typechange
|
25
|
+
#
|
26
|
+
# Returns the status.
|
27
|
+
def status
|
28
|
+
raise NotImplementedError
|
29
|
+
end
|
30
|
+
|
31
|
+
# Public: determine whether the file delta is binary.
|
32
|
+
#
|
33
|
+
# Returns true if the delta is binary, false otherwise.
|
34
|
+
def binary?
|
35
|
+
raise NotImplementedError
|
36
|
+
end
|
37
|
+
|
38
|
+
# Public: get the metadata of the "before" file in the delta. The
|
39
|
+
# metadata is represented as a Hash with the keys:
|
40
|
+
#
|
41
|
+
# - :path (string)
|
42
|
+
# - :oid (string)
|
43
|
+
# - :mode (integer)
|
44
|
+
#
|
45
|
+
# Returns the entry metadata hash.
|
46
|
+
def old_file
|
47
|
+
raise NotImplementedError
|
48
|
+
end
|
49
|
+
|
50
|
+
# Public: get the metadata of the "after" file in the delta. The
|
51
|
+
# metadata is represented as a Hash with the keys:
|
52
|
+
#
|
53
|
+
# - :path (string)
|
54
|
+
# - :oid (string)
|
55
|
+
# - :mode (integer)
|
56
|
+
#
|
57
|
+
# Returns the entry metadata hash.
|
58
|
+
def new_file
|
59
|
+
raise NotImplementedError
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
# Public: iterate through each delta of the given diff. Yields a single
|
64
|
+
# delta to the given block.
|
65
|
+
#
|
66
|
+
# Returns nothing.
|
67
|
+
def each_delta
|
68
|
+
raise NotImplementedError
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module Linguist
|
2
|
+
module Source
|
3
|
+
# Repository is an interface for providing direct access to functionality in
|
4
|
+
# a repository of files whose contents can be scanned for language
|
5
|
+
# information.
|
6
|
+
class Repository
|
7
|
+
# Public: get the number of entries in the root tree of the given commit,
|
8
|
+
# with an optional maximum value.
|
9
|
+
#
|
10
|
+
# commit_id - the string unique identifier of the commit to analyze.
|
11
|
+
# limit - (Optional) the integer maximum number of tree entries to
|
12
|
+
# count.
|
13
|
+
#
|
14
|
+
# Returns the number of entries in the tree or 'limit', whichever is
|
15
|
+
# smaller.
|
16
|
+
def get_tree_size(commit_id, limit = nil)
|
17
|
+
raise NotImplementedError
|
18
|
+
end
|
19
|
+
|
20
|
+
# Public: set the commit whose .gitattributes file(s) should be used as
|
21
|
+
# the source of attribute information in 'load_attributes_for_path'.
|
22
|
+
#
|
23
|
+
# commit_id - the string unique identifier of the attribute source commit.
|
24
|
+
#
|
25
|
+
# Returns nothing.
|
26
|
+
def set_attribute_source(commit_id)
|
27
|
+
raise NotImplementedError
|
28
|
+
end
|
29
|
+
|
30
|
+
# Public: read the data and size information for the specified file blob.
|
31
|
+
#
|
32
|
+
# blob_id - the string unique identifier of the blob to read.
|
33
|
+
# max_size - the integer maximum size in bytes to read from the blob.
|
34
|
+
#
|
35
|
+
# Returns the (possibly truncated) byte string of blob content and
|
36
|
+
# the full, untruncated size of the blob.
|
37
|
+
def load_blob(blob_id, max_size)
|
38
|
+
raise NotImplementedError
|
39
|
+
end
|
40
|
+
|
41
|
+
# Public: look up the attribute values for a given path.
|
42
|
+
#
|
43
|
+
# path - the path for which we want attribute values.
|
44
|
+
# attr_names - the attributes to read for the given path.
|
45
|
+
#
|
46
|
+
# Returns a Hash mapping attribute names to their corresponding values.
|
47
|
+
def load_attributes_for_path(path, attr_names)
|
48
|
+
raise NotImplementedError
|
49
|
+
end
|
50
|
+
|
51
|
+
# Public: compute the diff between the given old and new commits.
|
52
|
+
#
|
53
|
+
# old_commit - the string unique identifier of the "before" state of the
|
54
|
+
# diff, or nil (representing an empty tree).
|
55
|
+
# new_commit - the string unique identifier of the "after" state of the
|
56
|
+
# diff, or nil (representing an empty tree).
|
57
|
+
#
|
58
|
+
# Returns a Source::Diff.
|
59
|
+
def diff(old_commit, new_commit)
|
60
|
+
raise NotImplementedError
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require 'rugged'
|
2
|
+
require 'linguist/source/diff'
|
3
|
+
|
4
|
+
module Linguist
|
5
|
+
module Source
|
6
|
+
# RuggedRepository is an implementation of the Source::Repository abstract
|
7
|
+
# class. It represents a Git repository that is accessed using the libgit2
|
8
|
+
# wrapper Rugged.
|
9
|
+
class RuggedRepository < Linguist::Source::Repository
|
10
|
+
|
11
|
+
class Diff < Linguist::Source::Diff
|
12
|
+
class Delta < Linguist::Source::Diff::Delta
|
13
|
+
def initialize(rugged_delta)
|
14
|
+
@delta = rugged_delta
|
15
|
+
end
|
16
|
+
|
17
|
+
def status; @delta.status; end
|
18
|
+
|
19
|
+
def binary?; @delta.binary; end
|
20
|
+
|
21
|
+
def old_file; @delta.old_file; end
|
22
|
+
|
23
|
+
def new_file; @delta.new_file; end
|
24
|
+
end
|
25
|
+
|
26
|
+
def initialize(rugged_diff)
|
27
|
+
@diff = rugged_diff
|
28
|
+
end
|
29
|
+
|
30
|
+
def each_delta(&block)
|
31
|
+
@diff.each_delta.map do |delta|
|
32
|
+
Delta.new(delta)
|
33
|
+
end.each(&block)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
GIT_ATTR_OPTS = { :priority => [:index], :skip_system => true }
|
38
|
+
GIT_ATTR_FLAGS = Rugged::Repository::Attributes.parse_opts(GIT_ATTR_OPTS)
|
39
|
+
|
40
|
+
def initialize(rugged)
|
41
|
+
@rugged = rugged
|
42
|
+
@tree_map = {}
|
43
|
+
@attr_source = nil
|
44
|
+
end
|
45
|
+
|
46
|
+
def get_tree_size(commit_id, limit)
|
47
|
+
get_tree(commit_id).count_recursive(limit)
|
48
|
+
end
|
49
|
+
|
50
|
+
def set_attribute_source(commit_id)
|
51
|
+
tree = get_tree(commit_id)
|
52
|
+
return if @attr_source == tree
|
53
|
+
|
54
|
+
@attr_source = tree
|
55
|
+
attr_index = Rugged::Index.new
|
56
|
+
attr_index.read_tree(@attr_source)
|
57
|
+
@rugged.index = attr_index
|
58
|
+
end
|
59
|
+
|
60
|
+
def load_attributes_for_path(path, attr_names)
|
61
|
+
@rugged.fetch_attributes(path, attr_names, GIT_ATTR_FLAGS)
|
62
|
+
end
|
63
|
+
|
64
|
+
def load_blob(blob_id, max_size)
|
65
|
+
Rugged::Blob.to_buffer(@rugged, blob_id, max_size)
|
66
|
+
end
|
67
|
+
|
68
|
+
def diff(old_commit, new_commit)
|
69
|
+
old_tree = old_commit.nil? ? nil : get_tree(old_commit)
|
70
|
+
new_tree = new_commit.nil? ? nil : get_tree(new_commit)
|
71
|
+
|
72
|
+
Diff.new(Rugged::Tree.diff(@rugged, old_tree, new_tree))
|
73
|
+
end
|
74
|
+
|
75
|
+
# Internal: get the Rugged::Tree associated with a given commit ID. This
|
76
|
+
# method should not be used outside of Linguist itself and is subject to
|
77
|
+
# change or be removed.
|
78
|
+
#
|
79
|
+
# commit_id - the object ID of the commit whose tree instance we want.
|
80
|
+
#
|
81
|
+
# Returns the Rugged::Tree of the specified commit.
|
82
|
+
def get_tree(commit_id)
|
83
|
+
tree = @tree_map[commit_id]
|
84
|
+
return tree if tree
|
85
|
+
|
86
|
+
@tree_map[commit_id] = Rugged::Commit.lookup(@rugged, commit_id).tree
|
87
|
+
@tree_map[commit_id]
|
88
|
+
end
|
89
|
+
|
90
|
+
def method_missing(method_name, *args, &block)
|
91
|
+
@rugged.send(method_name, *args, &block)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
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:
|
4
|
+
version: 9.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitHub
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cgi
|
@@ -272,13 +272,16 @@ files:
|
|
272
272
|
- grammars/markdown.rescript.codeblock.json
|
273
273
|
- grammars/markdown.talon.codeblock.json
|
274
274
|
- grammars/markdown.textproto.codeblock.json
|
275
|
+
- grammars/markdown.vue.codeblock.json
|
275
276
|
- grammars/mdx.move.codeblock.json
|
277
|
+
- grammars/mdx.vue.codeblock.json
|
276
278
|
- grammars/objdump.x86asm.json
|
277
279
|
- grammars/source.2da.json
|
278
280
|
- grammars/source.4dm.json
|
279
281
|
- grammars/source.8xp.json
|
280
282
|
- grammars/source.Caddyfile-test.json
|
281
283
|
- grammars/source.Caddyfile.json
|
284
|
+
- grammars/source.QB64.json
|
282
285
|
- grammars/source.abap.json
|
283
286
|
- grammars/source.abapcds.json
|
284
287
|
- grammars/source.abl.json
|
@@ -345,7 +348,6 @@ files:
|
|
345
348
|
- grammars/source.c.platform.json
|
346
349
|
- grammars/source.c2hs.json
|
347
350
|
- grammars/source.cabal.json
|
348
|
-
- grammars/source.cache.cmake.json
|
349
351
|
- grammars/source.cadence.json
|
350
352
|
- grammars/source.cairo.json
|
351
353
|
- grammars/source.cairo0.json
|
@@ -369,6 +371,7 @@ files:
|
|
369
371
|
- grammars/source.clojure.json
|
370
372
|
- grammars/source.cm.json
|
371
373
|
- grammars/source.cmake.json
|
374
|
+
- grammars/source.cmakecache.json
|
372
375
|
- grammars/source.cmd.json
|
373
376
|
- grammars/source.cobol.json
|
374
377
|
- grammars/source.cobol_acu_listfile.json
|
@@ -623,6 +626,7 @@ files:
|
|
623
626
|
- grammars/source.maxscript.json
|
624
627
|
- grammars/source.mc.json
|
625
628
|
- grammars/source.mcfunction.json
|
629
|
+
- grammars/source.mdx.astro.json
|
626
630
|
- grammars/source.mdx.json
|
627
631
|
- grammars/source.mercury.json
|
628
632
|
- grammars/source.mermaid.c4c-diagram.json
|
@@ -654,9 +658,11 @@ files:
|
|
654
658
|
- grammars/source.modula2.json
|
655
659
|
- grammars/source.mojo.json
|
656
660
|
- grammars/source.monkey.json
|
661
|
+
- grammars/source.moonbit.json
|
657
662
|
- grammars/source.moonscript.json
|
658
663
|
- grammars/source.move.json
|
659
664
|
- grammars/source.mql5.json
|
665
|
+
- grammars/source.msg.json
|
660
666
|
- grammars/source.msl.json
|
661
667
|
- grammars/source.mupad.json
|
662
668
|
- grammars/source.nanorc.json
|
@@ -664,6 +670,7 @@ files:
|
|
664
670
|
- grammars/source.nasl.json
|
665
671
|
- grammars/source.ncl.json
|
666
672
|
- grammars/source.ne.json
|
673
|
+
- grammars/source.ned.json
|
667
674
|
- grammars/source.nemerle.json
|
668
675
|
- grammars/source.neon.json
|
669
676
|
- grammars/source.nesc.json
|
@@ -699,6 +706,7 @@ files:
|
|
699
706
|
- grammars/source.opal.json
|
700
707
|
- grammars/source.opalsysdefs.json
|
701
708
|
- grammars/source.openbsd-pkg.contents.json
|
709
|
+
- grammars/source.openesql.json
|
702
710
|
- grammars/source.opentype.json
|
703
711
|
- grammars/source.opts.json
|
704
712
|
- grammars/source.ox.json
|
@@ -854,6 +862,7 @@ files:
|
|
854
862
|
- grammars/source.swift.json
|
855
863
|
- grammars/source.sy.json
|
856
864
|
- grammars/source.systemverilog.json
|
865
|
+
- grammars/source.tact.json
|
857
866
|
- grammars/source.tags.json
|
858
867
|
- grammars/source.talon.json
|
859
868
|
- grammars/source.tcl.json
|
@@ -873,6 +882,7 @@ files:
|
|
873
882
|
- grammars/source.toml.json
|
874
883
|
- grammars/source.ts.json
|
875
884
|
- grammars/source.ts.prismaClientRawSQL.json
|
885
|
+
- grammars/source.tsp.json
|
876
886
|
- grammars/source.tsql.json
|
877
887
|
- grammars/source.tsx.json
|
878
888
|
- grammars/source.turing.json
|
@@ -896,6 +906,7 @@ files:
|
|
896
906
|
- grammars/source.vhdl.json
|
897
907
|
- grammars/source.vim-snippet.json
|
898
908
|
- grammars/source.viml.json
|
909
|
+
- grammars/source.vue.json
|
899
910
|
- grammars/source.vyper.json
|
900
911
|
- grammars/source.wavefront.mtl.json
|
901
912
|
- grammars/source.wavefront.obj.json
|
@@ -994,7 +1005,6 @@ files:
|
|
994
1005
|
- grammars/text.html.statamic.json
|
995
1006
|
- grammars/text.html.tcl.json
|
996
1007
|
- grammars/text.html.twig.json
|
997
|
-
- grammars/text.html.vue.json
|
998
1008
|
- grammars/text.idl-idldoc.json
|
999
1009
|
- grammars/text.info.json
|
1000
1010
|
- grammars/text.jade.json
|
@@ -1003,7 +1013,6 @@ files:
|
|
1003
1013
|
- grammars/text.log.latex.json
|
1004
1014
|
- grammars/text.marko.json
|
1005
1015
|
- grammars/text.md.json
|
1006
|
-
- grammars/text.mdx.astro.codeblock.json
|
1007
1016
|
- grammars/text.muse.json
|
1008
1017
|
- grammars/text.openbsd-pkg.desc.json
|
1009
1018
|
- grammars/text.plain.json
|
@@ -1047,6 +1056,9 @@ files:
|
|
1047
1056
|
- grammars/text.zone_file.json
|
1048
1057
|
- grammars/textmate.format-string.json
|
1049
1058
|
- grammars/version
|
1059
|
+
- grammars/vue.directives.json
|
1060
|
+
- grammars/vue.interpolations.json
|
1061
|
+
- grammars/vue.sfc.style.variable.injection.json
|
1050
1062
|
- lib/linguist.rb
|
1051
1063
|
- lib/linguist/VERSION
|
1052
1064
|
- lib/linguist/blob.rb
|
@@ -1069,6 +1081,9 @@ files:
|
|
1069
1081
|
- lib/linguist/samples.rb
|
1070
1082
|
- lib/linguist/sha256.rb
|
1071
1083
|
- lib/linguist/shebang.rb
|
1084
|
+
- lib/linguist/source/diff.rb
|
1085
|
+
- lib/linguist/source/repository.rb
|
1086
|
+
- lib/linguist/source/rugged.rb
|
1072
1087
|
- lib/linguist/strategy/extension.rb
|
1073
1088
|
- lib/linguist/strategy/filename.rb
|
1074
1089
|
- lib/linguist/strategy/manpage.rb
|
@@ -1098,7 +1113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1098
1113
|
- !ruby/object:Gem::Version
|
1099
1114
|
version: '0'
|
1100
1115
|
requirements: []
|
1101
|
-
rubygems_version: 3.5.
|
1116
|
+
rubygems_version: 3.5.16
|
1102
1117
|
signing_key:
|
1103
1118
|
specification_version: 4
|
1104
1119
|
summary: GitHub Language detection
|
@@ -1 +0,0 @@
|
|
1
|
-
{"name":"CMake Cache","scopeName":"source.cache.cmake","patterns":[{"include":"#comments"},{"include":"#assignation"}],"repository":{"assignation":{"name":"variable.other.cmake","match":"([a-zA-Z0-9_\\-\\d]+)(:)(STRING|FILE|FILEPATH|BOOL|INTERNAL|STATIC)(\\=)(.*)","captures":{"1":{"name":"variable.language.cache.cmake"},"2":{"name":"keyword.other.argument-separator.cmake"},"3":{"name":"constant.language.cache.cmake"},"4":{"name":"keyword.operator.cmake"},"5":{"name":"string.unquoted.cmake"}}},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=//|\\#)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.cmake","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.cmake"}}},{"name":"comment.line.sign-line.cmake","begin":"\\#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.cmake"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.cmake"}}}]}}}
|
data/grammars/text.html.vue.json
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"name":"Vue Component","scopeName":"text.html.vue","patterns":[{"include":"#vue-interpolations"},{"name":"meta.tag.any.html","begin":"(\u003c)([a-zA-Z0-9:-]++)(?=[^\u003e]*\u003e\u003c/\\2\u003e)","end":"(\u003e)(\u003c)(/)(\\2)(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"},"2":{"name":"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"},"3":{"name":"punctuation.definition.tag.begin.html"},"4":{"name":"entity.name.tag.html"},"5":{"name":"punctuation.definition.tag.end.html"}}},{"name":"meta.tag.preprocessor.xml.html","begin":"(\u003c\\?)(xml)","end":"(\\?\u003e)","patterns":[{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}],"captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.xml.html"}}},{"name":"comment.block.html","begin":"\u003c!--","end":"--\\s*\u003e","patterns":[{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"--"}],"captures":{"0":{"name":"punctuation.definition.comment.html"}}},{"name":"meta.tag.sgml.html","begin":"\u003c!","end":"\u003e","patterns":[{"name":"meta.tag.sgml.doctype.html","begin":"(?i:DOCTYPE)","end":"(?=\u003e)","patterns":[{"name":"string.quoted.double.doctype.identifiers-and-DTDs.html","match":"\"[^\"\u003e]*\""}],"captures":{"1":{"name":"entity.name.tag.doctype.html"}}},{"name":"constant.other.inline-data.html","begin":"\\[CDATA\\[","end":"]](?=\u003e)"},{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"(\\s*)(?!--|\u003e)\\S(\\s*)"}],"captures":{"0":{"name":"punctuation.definition.tag.html"}}},{"name":"text.slm.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:template))\\b(?=[^\u003e]*lang=(['\"])slm\\1?)","end":"(\u003c/)((?i:template))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:template))","patterns":[{"include":"text.slim"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"text.jade.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:template))\\b(?=[^\u003e]*lang=(['\"])jade\\1?)","end":"(\u003c/)((?i:template))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:template))","patterns":[{"include":"text.jade"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"text.pug.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:template))\\b(?=[^\u003e]*lang=(['\"])pug\\1?)","end":"(\u003c/)((?i:template))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:template))","patterns":[{"include":"text.jade"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"source.stylus.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*lang=(['\"])stylus\\1?)","end":"(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.stylus"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"source.postcss.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*lang=(['\"])postcss\\1?)","end":"(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.postcss"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"source.sass.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*lang=(['\"])sass\\1?)","end":"(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.sass"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"source.scss.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*lang=(['\"])scss\\1?)","end":"(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css.scss"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"source.less.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*lang=(['\"])less\\1?)","end":"(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css.less"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"source.css.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:style))\\b(?![^\u003e]*/\u003e)","end":"(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"source.ts.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:script))\\b(?=[^\u003e]*lang=(['\"])ts\\1?)","end":"(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)","end":"(\u003c/)((?i:script))","patterns":[{"include":"source.ts"}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.script.html"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.script.html"}},"endCaptures":{"2":{"name":"punctuation.definition.tag.html"}}},{"name":"source.coffee.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:script))\\b(?=[^\u003e]*lang=(['\"])coffee\\1?)","end":"(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)","end":"(\u003c/)((?i:script))","patterns":[{"include":"source.coffee"}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.script.html"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.script.html"}},"endCaptures":{"2":{"name":"punctuation.definition.tag.html"}}},{"name":"source.livescript.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:script))\\b(?=[^\u003e]*lang=(['\"])livescript\\1?)","end":"(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)","end":"(\u003c/)((?i:script))","patterns":[{"include":"source.livescript"}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.script.html"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.script.html"}},"endCaptures":{"2":{"name":"punctuation.definition.tag.html"}}},{"name":"source.js.embedded.html","begin":"(\u003c)((?i:script))\\b(?![^\u003e]*/\u003e)(?![^\u003e]*(?i:type.?=.?text/((?!javascript|babel|ecmascript).*)))","end":"(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)","end":"(\u003c/)((?i:script))","patterns":[{"name":"comment.line.double-slash.js","match":"(//).*?((?=\u003c/script)|$\\n?)","captures":{"1":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"\\*/|(?=\u003c/script)","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"include":"source.js"}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.script.html"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.script.html"}},"endCaptures":{"2":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.tag.structure.any.html","begin":"(\u003c/?)((?i:body|head|html)\\b)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.structure.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"name":"meta.tag.block.any.html","begin":"(\u003c/?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\\b)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"name":"meta.tag.inline.any.html","begin":"(\u003c/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\\b)","end":"((?: ?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"name":"meta.tag.other.html","begin":"(\u003c/?)([a-zA-Z0-9:-]+)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"include":"#entities"},{"name":"invalid.illegal.incomplete.html","match":"\u003c\u003e"},{"name":"invalid.illegal.bad-angle-bracket.html","match":"\u003c"}],"repository":{"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"string-double-quoted":{"name":"string.quoted.double.html","begin":"\"","end":"\"","patterns":[{"include":"#vue-interpolations"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-single-quoted":{"name":"string.quoted.single.html","begin":"'","end":"'","patterns":[{"include":"#vue-interpolations"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"tag-generic-attribute":{"name":"entity.other.attribute-name.html","match":"\\b([a-zA-Z\\-:]+)"},"tag-id-attribute":{"name":"meta.attribute-with-value.id.html","begin":"\\b(id)\\b\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"string.quoted.double.html","contentName":"meta.toc-list.id.html","begin":"\"","end":"\"","patterns":[{"include":"#vue-interpolations"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.quoted.single.html","contentName":"meta.toc-list.id.html","begin":"'","end":"'","patterns":[{"include":"#vue-interpolations"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}}],"captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}}},"tag-stuff":{"patterns":[{"include":"#vue-directives"},{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}]},"vue-directives":{"name":"meta.directive.vue","begin":"(?:\\b(v-)|(:|@))([a-zA-Z\\-]+)(?:\\:([a-zA-Z\\-]+))?(?:\\.([a-zA-Z\\-]+))*\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"source.directive.vue","begin":"\"","end":"\"","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"source.directive.vue","begin":"'","end":"'","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}}],"captures":{"1":{"name":"entity.other.attribute-name.html"},"2":{"name":"punctuation.separator.key-value.html"},"3":{"name":"entity.other.attribute-name.html"},"4":{"name":"entity.other.attribute-name.html"},"5":{"name":"entity.other.attribute-name.html"},"6":{"name":"punctuation.separator.key-value.html"}}},"vue-interpolations":{"patterns":[{"name":"expression.embbeded.vue","begin":"\\{\\{\\{?","end":"\\}\\}\\}?","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"punctuation.definition.generic.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.generic.end.html"}}}]}}}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"scopeName":"text.mdx.astro.codeblock","patterns":[{"name":"markup.code.astro.mdx","contentName":"meta.embedded.astro","begin":"(?:^|\\G)[\\t ]*(`{3,})(?:[\\t ]*((?i:(?:.*\\.)?astro))(?:[\\t ]+((?:[^\\n\\r`])+))?)(?:[\\t ]*$)","end":"(\\1)(?:[\\t ]*$)","patterns":[{"include":"#astro-code-block"}],"beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx"}},"endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}}},{"name":"markup.code.astro.mdx","contentName":"meta.embedded.astro","begin":"(?:^|\\G)[\\t ]*(~{3,})(?:[\\t ]*((?i:(?:.*\\.)?astro))(?:[\\t ]+((?:[^\\n\\r])+))?)(?:[\\t ]*$)","end":"(\\1)(?:[\\t ]*$)","patterns":[{"include":"#astro-code-block"}],"beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx"}},"endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}}}],"repository":{"astro-code-block":{"patterns":[{"contentName":"meta.embedded.block.astro.frontmatter","begin":"^\\s*---\\s*$","end":"^\\s*---\\s*$","patterns":[{"include":"source.tsx"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.xi.begin.t"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.xi.end.t"}}},{"include":"source.astro"}]}}}
|