markdown-merge 7.1.1 → 7.1.4
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/README.md +3 -11
- data/lib/markdown/merge/rspec/shared_examples/source_preserving_provider.rb +338 -0
- data/lib/markdown/merge/source_preserving_provider.rb +814 -0
- data/lib/markdown/merge/version.rb +1 -1
- data/lib/markdown/merge.rb +38 -0
- data/sig/markdown/merge.rbs +54 -0
- data.tar.gz.sig +0 -0
- metadata +22 -20
- metadata.gz.sig +0 -0
|
@@ -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.4'
|
|
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
|
@@ -54,6 +54,8 @@ module Markdown
|
|
|
54
54
|
autoload :OutputBuilder, 'markdown/merge/output_builder'
|
|
55
55
|
autoload :PartialTemplateMerger, 'markdown/merge/partial_template_merger'
|
|
56
56
|
autoload :PreservationSupport, 'markdown/merge/preservation_support'
|
|
57
|
+
autoload :ProviderBackend, 'markdown/merge/source_preserving_provider'
|
|
58
|
+
autoload :SourcePreservingProvider, 'markdown/merge/source_preserving_provider'
|
|
57
59
|
autoload :SmartMerger, 'markdown/merge/smart_merger'
|
|
58
60
|
autoload :SmartMergerBase, 'markdown/merge/smart_merger_base'
|
|
59
61
|
autoload :TableMatchAlgorithm, 'markdown/merge/table_match_algorithm'
|
|
@@ -61,6 +63,40 @@ module Markdown
|
|
|
61
63
|
autoload :WhitespaceNormalizer, 'markdown/merge/whitespace_normalizer'
|
|
62
64
|
autoload :WrapperSupport, 'markdown/merge/wrapper_support'
|
|
63
65
|
|
|
66
|
+
# Default acyclic Markdown workflow provider backed by the language pack.
|
|
67
|
+
class Provider < SourcePreservingProvider
|
|
68
|
+
# rubocop:disable Metrics/MethodLength -- constructor declares the complete provider boundary
|
|
69
|
+
def initialize
|
|
70
|
+
super(
|
|
71
|
+
provider_id: 'ruby.markdown',
|
|
72
|
+
role: :workflow,
|
|
73
|
+
backend: ProviderBackend.new(
|
|
74
|
+
id: :'kreuzberg-language-pack',
|
|
75
|
+
package: PACKAGE_NAME,
|
|
76
|
+
dialects: %i[markdown],
|
|
77
|
+
parser: lambda { |source|
|
|
78
|
+
Markdown::Merge.register_backend!
|
|
79
|
+
TreeHaver.with_backend('kreuzberg-language-pack') { TreeHaver.parser_for(:markdown).parse(source) }
|
|
80
|
+
},
|
|
81
|
+
headings: ProviderBackend.method(:tree_sitter_headings)
|
|
82
|
+
)
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
# rubocop:enable Metrics/MethodLength
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
class << self
|
|
89
|
+
def merge_provider
|
|
90
|
+
@merge_provider ||= Provider.new
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def register_provider!(replace: false)
|
|
94
|
+
return unless Ast::Merge.respond_to?(:register_provider)
|
|
95
|
+
|
|
96
|
+
Ast::Merge.register_provider(merge_provider, replace: replace)
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
64
100
|
def register_backend!
|
|
65
101
|
BACKEND_REGISTRY.mutex.synchronize do
|
|
66
102
|
return if BACKEND_REGISTRY.registered
|
|
@@ -675,6 +711,8 @@ module Markdown
|
|
|
675
711
|
end
|
|
676
712
|
end
|
|
677
713
|
|
|
714
|
+
Markdown::Merge.register_provider!
|
|
715
|
+
|
|
678
716
|
%w[
|
|
679
717
|
commonmarker/merge/backend
|
|
680
718
|
markly/merge/backend
|
data/sig/markdown/merge.rbs
CHANGED
|
@@ -4,5 +4,59 @@ module Markdown
|
|
|
4
4
|
VERSION: String
|
|
5
5
|
end
|
|
6
6
|
VERSION: String
|
|
7
|
+
|
|
8
|
+
class ProviderBackend
|
|
9
|
+
attr_reader id: Symbol
|
|
10
|
+
attr_reader package: String
|
|
11
|
+
attr_reader dialects: Array[Symbol]
|
|
12
|
+
|
|
13
|
+
def initialize: (
|
|
14
|
+
id: Symbol | String,
|
|
15
|
+
package: String,
|
|
16
|
+
dialects: Array[Symbol | String],
|
|
17
|
+
parser: Proc,
|
|
18
|
+
headings: Proc
|
|
19
|
+
) -> void
|
|
20
|
+
def parse: (String source) -> [untyped, Array[ProviderBackend::Heading]]
|
|
21
|
+
|
|
22
|
+
def self.native_headings: (untyped root, String source, ?kramdown: bool) -> Array[ProviderBackend::Heading]
|
|
23
|
+
def self.tree_sitter_headings: (untyped root, String source) -> Array[ProviderBackend::Heading]
|
|
24
|
+
|
|
25
|
+
class Heading
|
|
26
|
+
attr_reader level: Integer
|
|
27
|
+
attr_reader text: String
|
|
28
|
+
attr_reader start_line: Integer
|
|
29
|
+
attr_reader end_line: Integer
|
|
30
|
+
attr_reader style: Symbol
|
|
31
|
+
|
|
32
|
+
def initialize: (
|
|
33
|
+
level: Integer,
|
|
34
|
+
text: String,
|
|
35
|
+
start_line: Integer,
|
|
36
|
+
end_line: Integer,
|
|
37
|
+
style: Symbol
|
|
38
|
+
) -> void
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
class SourcePreservingProvider
|
|
43
|
+
attr_reader backend: ProviderBackend
|
|
44
|
+
|
|
45
|
+
def initialize: (provider_id: String, role: Symbol, backend: ProviderBackend) -> void
|
|
46
|
+
def provider_id: () -> String
|
|
47
|
+
def family: () -> String
|
|
48
|
+
def capabilities: () -> Hash[Symbol, untyped]
|
|
49
|
+
def analyze: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]
|
|
50
|
+
def diff2: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]
|
|
51
|
+
def merge2: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]
|
|
52
|
+
def merge3: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
class Provider < SourcePreservingProvider
|
|
56
|
+
def initialize: () -> void
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def self.merge_provider: () -> Provider
|
|
60
|
+
def self.register_provider!: (?replace: bool) -> untyped
|
|
7
61
|
end
|
|
8
62
|
end
|
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.4
|
|
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.4
|
|
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.4
|
|
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.4
|
|
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.4
|
|
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: '
|
|
94
|
+
version: '3.0'
|
|
95
95
|
- - ">="
|
|
96
96
|
- !ruby/object:Gem::Version
|
|
97
|
-
version:
|
|
97
|
+
version: 3.0.7
|
|
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: '
|
|
104
|
+
version: '3.0'
|
|
105
105
|
- - ">="
|
|
106
106
|
- !ruby/object:Gem::Version
|
|
107
|
-
version:
|
|
107
|
+
version: 3.0.7
|
|
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.2
|
|
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.2
|
|
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.20
|
|
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.20
|
|
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.6
|
|
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.6
|
|
236
236
|
- !ruby/object:Gem::Dependency
|
|
237
237
|
name: ruby-progressbar
|
|
238
238
|
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.12
|
|
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.12
|
|
290
290
|
description: "☯️ Portable Markdown owner analysis and matching behavior for Structured
|
|
291
291
|
Merge."
|
|
292
292
|
email:
|
|
@@ -329,8 +329,10 @@ files:
|
|
|
329
329
|
- lib/markdown/merge/output_builder.rb
|
|
330
330
|
- lib/markdown/merge/partial_template_merger.rb
|
|
331
331
|
- lib/markdown/merge/preservation_support.rb
|
|
332
|
+
- lib/markdown/merge/rspec/shared_examples/source_preserving_provider.rb
|
|
332
333
|
- lib/markdown/merge/smart_merger.rb
|
|
333
334
|
- lib/markdown/merge/smart_merger_base.rb
|
|
335
|
+
- lib/markdown/merge/source_preserving_provider.rb
|
|
334
336
|
- lib/markdown/merge/table_match_algorithm.rb
|
|
335
337
|
- lib/markdown/merge/table_match_refiner.rb
|
|
336
338
|
- lib/markdown/merge/version.rb
|
|
@@ -343,10 +345,10 @@ licenses:
|
|
|
343
345
|
- PolyForm-Small-Business-1.0.0
|
|
344
346
|
metadata:
|
|
345
347
|
homepage_uri: https://structuredmerge.org
|
|
346
|
-
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.
|
|
347
|
-
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.
|
|
348
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.4
|
|
349
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.4/CHANGELOG.md
|
|
348
350
|
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
349
|
-
documentation_uri: https://www.rubydoc.info/gems/markdown-merge/7.1.
|
|
351
|
+
documentation_uri: https://www.rubydoc.info/gems/markdown-merge/7.1.4
|
|
350
352
|
funding_uri: https://github.com/sponsors/pboling
|
|
351
353
|
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
352
354
|
news_uri: https://www.railsbling.com/tags/markdown-merge
|
metadata.gz.sig
CHANGED
|
Binary file
|