markdown-merge 7.1.8 → 7.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/markdown/merge/version.rb +1 -1
- data/lib/markdown/merge.rb +31 -7
- data.tar.gz.sig +0 -0
- metadata +23 -23
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: da0ac2287bb76ebfe82d273e22a54b6b3124af0dcea883c4c896b9977a22f38f
|
|
4
|
+
data.tar.gz: 7a391a9b16e58f35cdfcd864ca9477e34a8b44eb4b33e8684685d0137d172df9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 358b5d9ab2f89d4e92904ff2f991010d03e53822115b5f79cfed6d27a465733af1062f3713d5037df5193dae4ca59784c78ac304b6bbf0436e471c15265aa3ec
|
|
7
|
+
data.tar.gz: 68e8a8a9c28b4206934fda4a3f9b55d968feca0830cc45e62417544b8eedee9dfc9a50c2832d6886786edd3ac538b0a9b22e45c34716154593b74e8d80f86eb3
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
|
@@ -5,7 +5,7 @@ module Markdown
|
|
|
5
5
|
# Version namespace for this gem.
|
|
6
6
|
module Version
|
|
7
7
|
# Current gem version.
|
|
8
|
-
VERSION = '7.1.
|
|
8
|
+
VERSION = '7.1.10'
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
data/lib/markdown/merge.rb
CHANGED
|
@@ -13,6 +13,10 @@ module Markdown
|
|
|
13
13
|
'markly' => TreeHaver::BackendReference.new(id: 'markly', family: 'native').freeze,
|
|
14
14
|
'kramdown' => TreeHaver::BackendReference.new(id: 'kramdown', family: 'native').freeze
|
|
15
15
|
}.freeze
|
|
16
|
+
# Order in which an unspecified (:auto) backend is chosen from those available.
|
|
17
|
+
# Markly is the most capable Markdown parser; the language pack is the last
|
|
18
|
+
# resort. BACKEND_REFERENCES keeps the shared fixtures' reporting order.
|
|
19
|
+
BACKEND_PREFERENCE = %w[markly commonmarker kramdown kreuzberg-language-pack].freeze
|
|
16
20
|
BACKEND_REGISTRY = Struct.new(:registered, :mutex).new(false, Mutex.new)
|
|
17
21
|
|
|
18
22
|
class Error < Ast::Merge::Error; end
|
|
@@ -202,11 +206,13 @@ module Markdown
|
|
|
202
206
|
|
|
203
207
|
destination_sections = collect_markdown_sections(
|
|
204
208
|
destination.dig(:analysis, :normalized_source),
|
|
205
|
-
destination.dig(:analysis, :owners)
|
|
209
|
+
destination.dig(:analysis, :owners),
|
|
210
|
+
backend: backend
|
|
206
211
|
)
|
|
207
212
|
template_sections = collect_markdown_sections(
|
|
208
213
|
template.dig(:analysis, :normalized_source),
|
|
209
|
-
template.dig(:analysis, :owners)
|
|
214
|
+
template.dig(:analysis, :owners),
|
|
215
|
+
backend: backend
|
|
210
216
|
)
|
|
211
217
|
destination_paths = destination_sections.to_h { |section| [section[:path], true] }
|
|
212
218
|
merged_sections = destination_sections.map { |section| section[:text] }.reject(&:empty?) +
|
|
@@ -543,11 +549,28 @@ module Markdown
|
|
|
543
549
|
starts
|
|
544
550
|
end
|
|
545
551
|
|
|
546
|
-
def collect_markdown_sections(source, owners)
|
|
552
|
+
def collect_markdown_sections(source, owners, backend: nil)
|
|
547
553
|
lines = normalize_source(source).split("\n")
|
|
548
554
|
starts = markdown_owner_start_indices(source)
|
|
549
|
-
|
|
550
|
-
|
|
555
|
+
link_definitions = FileAnalysis.new(source, backend: backend || :auto).statements
|
|
556
|
+
.grep(LinkDefinitionNode)
|
|
557
|
+
.each_with_object({}) do |owner, definitions|
|
|
558
|
+
label = owner.signature.last
|
|
559
|
+
path = "/link_definition/#{label}"
|
|
560
|
+
definitions[path] ||= {
|
|
561
|
+
path: path,
|
|
562
|
+
owner_kind: 'link_definition',
|
|
563
|
+
match_key: label,
|
|
564
|
+
start_line: owner.location.start_line
|
|
565
|
+
}
|
|
566
|
+
end
|
|
567
|
+
all_owners = owners + link_definitions.values
|
|
568
|
+
ordered = all_owners.filter_map do |owner|
|
|
569
|
+
start = if owner.key?(:start_line)
|
|
570
|
+
owner[:start_line] - 1
|
|
571
|
+
else
|
|
572
|
+
starts[owner[:path]]
|
|
573
|
+
end
|
|
551
574
|
next if start.nil?
|
|
552
575
|
|
|
553
576
|
{ owner: owner, start: start }
|
|
@@ -632,7 +655,7 @@ module Markdown
|
|
|
632
655
|
current = TreeHaver.current_backend_id
|
|
633
656
|
return current if BACKEND_REFERENCES.key?(current.to_s) && markdown_backend_available_for_analysis?(current)
|
|
634
657
|
|
|
635
|
-
|
|
658
|
+
BACKEND_PREFERENCE.find { |backend_id| markdown_backend_available_for_analysis?(backend_id) } ||
|
|
636
659
|
'kreuzberg-language-pack'
|
|
637
660
|
end
|
|
638
661
|
|
|
@@ -713,9 +736,10 @@ end
|
|
|
713
736
|
|
|
714
737
|
Markdown::Merge.register_provider!
|
|
715
738
|
|
|
739
|
+
# Optional backends: loaded when their gems are installed, never required.
|
|
716
740
|
%w[
|
|
717
|
-
commonmarker/merge/backend
|
|
718
741
|
markly/merge/backend
|
|
742
|
+
commonmarker/merge/backend
|
|
719
743
|
].each do |feature|
|
|
720
744
|
require feature
|
|
721
745
|
rescue LoadError
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: markdown-merge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.1.
|
|
4
|
+
version: 7.1.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -43,28 +43,28 @@ dependencies:
|
|
|
43
43
|
requirements:
|
|
44
44
|
- - '='
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 7.1.
|
|
46
|
+
version: 7.1.10
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - '='
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 7.1.
|
|
53
|
+
version: 7.1.10
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
55
|
name: tree_haver
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - '='
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: 7.1.
|
|
60
|
+
version: 7.1.10
|
|
61
61
|
type: :runtime
|
|
62
62
|
prerelease: false
|
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - '='
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 7.1.
|
|
67
|
+
version: 7.1.10
|
|
68
68
|
- !ruby/object:Gem::Dependency
|
|
69
69
|
name: version_gem
|
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -91,20 +91,20 @@ dependencies:
|
|
|
91
91
|
requirements:
|
|
92
92
|
- - "~>"
|
|
93
93
|
- !ruby/object:Gem::Version
|
|
94
|
-
version: '3.
|
|
94
|
+
version: '3.1'
|
|
95
95
|
- - ">="
|
|
96
96
|
- !ruby/object:Gem::Version
|
|
97
|
-
version: 3.
|
|
97
|
+
version: 3.1.8
|
|
98
98
|
type: :development
|
|
99
99
|
prerelease: false
|
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
|
101
101
|
requirements:
|
|
102
102
|
- - "~>"
|
|
103
103
|
- !ruby/object:Gem::Version
|
|
104
|
-
version: '3.
|
|
104
|
+
version: '3.1'
|
|
105
105
|
- - ">="
|
|
106
106
|
- !ruby/object:Gem::Version
|
|
107
|
-
version: 3.
|
|
107
|
+
version: 3.1.8
|
|
108
108
|
- !ruby/object:Gem::Dependency
|
|
109
109
|
name: bundler-audit
|
|
110
110
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -182,7 +182,7 @@ dependencies:
|
|
|
182
182
|
version: '3.2'
|
|
183
183
|
- - ">="
|
|
184
184
|
- !ruby/object:Gem::Version
|
|
185
|
-
version: 3.2.
|
|
185
|
+
version: 3.2.5
|
|
186
186
|
type: :development
|
|
187
187
|
prerelease: false
|
|
188
188
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -192,7 +192,7 @@ dependencies:
|
|
|
192
192
|
version: '3.2'
|
|
193
193
|
- - ">="
|
|
194
194
|
- !ruby/object:Gem::Version
|
|
195
|
-
version: 3.2.
|
|
195
|
+
version: 3.2.5
|
|
196
196
|
- !ruby/object:Gem::Dependency
|
|
197
197
|
name: kettle-test
|
|
198
198
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -202,7 +202,7 @@ dependencies:
|
|
|
202
202
|
version: '2.0'
|
|
203
203
|
- - ">="
|
|
204
204
|
- !ruby/object:Gem::Version
|
|
205
|
-
version: 2.0.
|
|
205
|
+
version: 2.0.23
|
|
206
206
|
type: :development
|
|
207
207
|
prerelease: false
|
|
208
208
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -212,7 +212,7 @@ dependencies:
|
|
|
212
212
|
version: '2.0'
|
|
213
213
|
- - ">="
|
|
214
214
|
- !ruby/object:Gem::Version
|
|
215
|
-
version: 2.0.
|
|
215
|
+
version: 2.0.23
|
|
216
216
|
- !ruby/object:Gem::Dependency
|
|
217
217
|
name: turbo_tests2
|
|
218
218
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -222,7 +222,7 @@ dependencies:
|
|
|
222
222
|
version: '3.2'
|
|
223
223
|
- - ">="
|
|
224
224
|
- !ruby/object:Gem::Version
|
|
225
|
-
version: 3.2.
|
|
225
|
+
version: 3.2.14
|
|
226
226
|
type: :development
|
|
227
227
|
prerelease: false
|
|
228
228
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -232,7 +232,7 @@ dependencies:
|
|
|
232
232
|
version: '3.2'
|
|
233
233
|
- - ">="
|
|
234
234
|
- !ruby/object:Gem::Version
|
|
235
|
-
version: 3.2.
|
|
235
|
+
version: 3.2.14
|
|
236
236
|
- !ruby/object:Gem::Dependency
|
|
237
237
|
name: ruby-progressbar
|
|
238
238
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -256,7 +256,7 @@ dependencies:
|
|
|
256
256
|
version: '1.0'
|
|
257
257
|
- - ">="
|
|
258
258
|
- !ruby/object:Gem::Version
|
|
259
|
-
version: 1.0.
|
|
259
|
+
version: 1.0.9
|
|
260
260
|
type: :development
|
|
261
261
|
prerelease: false
|
|
262
262
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -266,7 +266,7 @@ dependencies:
|
|
|
266
266
|
version: '1.0'
|
|
267
267
|
- - ">="
|
|
268
268
|
- !ruby/object:Gem::Version
|
|
269
|
-
version: 1.0.
|
|
269
|
+
version: 1.0.9
|
|
270
270
|
- !ruby/object:Gem::Dependency
|
|
271
271
|
name: gitmoji-regex
|
|
272
272
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -276,7 +276,7 @@ dependencies:
|
|
|
276
276
|
version: '2.0'
|
|
277
277
|
- - ">="
|
|
278
278
|
- !ruby/object:Gem::Version
|
|
279
|
-
version: 2.0.
|
|
279
|
+
version: 2.0.15
|
|
280
280
|
type: :development
|
|
281
281
|
prerelease: false
|
|
282
282
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -286,7 +286,7 @@ dependencies:
|
|
|
286
286
|
version: '2.0'
|
|
287
287
|
- - ">="
|
|
288
288
|
- !ruby/object:Gem::Version
|
|
289
|
-
version: 2.0.
|
|
289
|
+
version: 2.0.15
|
|
290
290
|
description: "☯️ Portable Markdown owner analysis and matching behavior for Structured
|
|
291
291
|
Merge."
|
|
292
292
|
email:
|
|
@@ -345,10 +345,10 @@ licenses:
|
|
|
345
345
|
- PolyForm-Small-Business-1.0.0
|
|
346
346
|
metadata:
|
|
347
347
|
homepage_uri: https://structuredmerge.org
|
|
348
|
-
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.
|
|
349
|
-
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.
|
|
348
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.10
|
|
349
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.10/CHANGELOG.md
|
|
350
350
|
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
351
|
-
documentation_uri: https://www.rubydoc.info/gems/markdown-merge/7.1.
|
|
351
|
+
documentation_uri: https://www.rubydoc.info/gems/markdown-merge/7.1.10
|
|
352
352
|
funding_uri: https://github.com/sponsors/pboling
|
|
353
353
|
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
354
354
|
news_uri: https://www.railsbling.com/tags/markdown-merge
|
|
@@ -378,7 +378,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
378
378
|
- !ruby/object:Gem::Version
|
|
379
379
|
version: '0'
|
|
380
380
|
requirements: []
|
|
381
|
-
rubygems_version: 4.0.
|
|
381
|
+
rubygems_version: 4.0.20
|
|
382
382
|
specification_version: 4
|
|
383
383
|
summary: "☯️ Structured Merge Markdown analysis and matching for Ruby"
|
|
384
384
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|