bash-merge 7.1.9 → 7.1.11
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/bash/merge/file_analysis.rb +4 -0
- data/lib/bash/merge/rust_host_provider.rb +46 -0
- data/lib/bash/merge/version.rb +1 -1
- data/lib/bash/merge.rb +9 -0
- data.tar.gz.sig +0 -0
- metadata +24 -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: 123dae7219ce26037d3297a38241d4558ab5a04eb6900321f32754a34f3d1d8a
|
|
4
|
+
data.tar.gz: 309f9daa0c1003f1b4c315926d78f50de7b71364460653ce3ddac60c27a35652
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6b576340b074ff3bf0774da61434d97b950229e3adb0050e3581a1506d84de9a01ce39277b38d8baa561cdd5239e01dc9b8c03d59ffba5062223ad51ae04e51d
|
|
7
|
+
data.tar.gz: 5d84127744a77716c69a7f345333ed3d18594f7241b450acabb20321e762cec4343f470c60ae9dc48ba3f003337e303569cc59bded249ffb8ceb765654787c1d
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
|
@@ -230,6 +230,10 @@ module Bash
|
|
|
230
230
|
# TreeHaver handles backend selection against the grammars Bash::Merge
|
|
231
231
|
# has already registered during bootstrap.
|
|
232
232
|
# Set TREE_HAVER_BACKEND=ffi for bash (MRI/Rust have compatibility issues)
|
|
233
|
+
if @parser_path && (TreeHaver.current_backend_id || ENV['TREE_HAVER_BACKEND']).to_s == 'rust_tslp'
|
|
234
|
+
raise TreeHaver::NotAvailable, 'Rust TSLP fallback does not support an explicit parser path'
|
|
235
|
+
end
|
|
236
|
+
|
|
233
237
|
parser = if @parser_path
|
|
234
238
|
TreeHaver.with_language_registration(
|
|
235
239
|
:bash,
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'ast/merge'
|
|
4
|
+
require 'ast/merge/typed_core_provider'
|
|
5
|
+
|
|
6
|
+
module Bash
|
|
7
|
+
module Merge
|
|
8
|
+
# Opt-in Rust provider for the portable top-level function/assignment and
|
|
9
|
+
# literal-title test-harness subset. Compatibility name, not a prototype dependency.
|
|
10
|
+
class RustHostProvider < Ast::Merge::TypedCoreProvider
|
|
11
|
+
PROVIDER_ID = 'rust.bash'
|
|
12
|
+
FAMILY = 'bash'
|
|
13
|
+
DIALECTS = [:bash].freeze
|
|
14
|
+
OPERATIONS = %i[analyze diff2 merge2 merge3].freeze
|
|
15
|
+
CORE_PROVIDER = 'kernel.bash'
|
|
16
|
+
CORE_PROFILE = 'kernel.bash.owners.v1'
|
|
17
|
+
PACKAGE = 'bash-merge'
|
|
18
|
+
|
|
19
|
+
def capabilities
|
|
20
|
+
super.merge(ast_ownership: :top_level_functions_assignments_and_literal_test_titles).freeze
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
def package_version = Bash::Merge::Version::VERSION
|
|
26
|
+
def parser_language(dialect) = dialect
|
|
27
|
+
def owner_path(owner) = owner.fetch('id')
|
|
28
|
+
|
|
29
|
+
def additional_fields = %i[path_name labels conflict_marker_size]
|
|
30
|
+
|
|
31
|
+
def policy(operation, request)
|
|
32
|
+
# Git supplies neutral framing even to non-rendering providers. A path
|
|
33
|
+
# is context, never a language selector. This profile emits no markers:
|
|
34
|
+
# accept only empty labels and the default width, not custom requests.
|
|
35
|
+
labels = request.fetch(:labels, {})
|
|
36
|
+
width = request[:conflict_marker_size]
|
|
37
|
+
width = Integer(width, 10) if width.is_a?(String)
|
|
38
|
+
unless labels == {} && (width.nil? || (width.is_a?(Integer) && width == 7))
|
|
39
|
+
raise ArgumentError, 'Typed Bash does not support custom conflict markers or labels'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
super
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
data/lib/bash/merge/version.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Bash
|
|
|
5
5
|
# Version namespace for this gem.
|
|
6
6
|
module Version
|
|
7
7
|
# Current gem version.
|
|
8
|
-
VERSION = '7.1.
|
|
8
|
+
VERSION = '7.1.11'
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
data/lib/bash/merge.rb
CHANGED
|
@@ -120,6 +120,7 @@ module Bash
|
|
|
120
120
|
autoload :MergeResult, 'bash/merge/merge_result'
|
|
121
121
|
autoload :NodeWrapper, 'bash/merge/node_wrapper'
|
|
122
122
|
autoload :Provider, 'bash/merge/provider'
|
|
123
|
+
autoload :RustHostProvider, 'bash/merge/rust_host_provider'
|
|
123
124
|
autoload :SmartMerger, 'bash/merge/smart_merger'
|
|
124
125
|
|
|
125
126
|
class << self
|
|
@@ -144,6 +145,14 @@ module Bash
|
|
|
144
145
|
availability(source: source).available?
|
|
145
146
|
end
|
|
146
147
|
|
|
148
|
+
def rust_host_provider
|
|
149
|
+
@rust_host_provider ||= RustHostProvider.new
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def register_rust_host_provider!(replace: false)
|
|
153
|
+
Ast::Merge.register_provider(rust_host_provider, replace: replace)
|
|
154
|
+
end
|
|
155
|
+
|
|
147
156
|
def availability(source: "#!/usr/bin/env bash\necho hello\n")
|
|
148
157
|
diagnostics = []
|
|
149
158
|
grammar_path = bash_grammar_path(diagnostics)
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bash-merge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.1.
|
|
4
|
+
version: 7.1.11
|
|
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.11
|
|
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.11
|
|
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.11
|
|
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.11
|
|
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: "☯️ Bash statement, comment, freeze-block, and template merge behavior
|
|
291
291
|
for Structured Merge."
|
|
292
292
|
email:
|
|
@@ -307,6 +307,7 @@ files:
|
|
|
307
307
|
- lib/bash/merge/merge_result.rb
|
|
308
308
|
- lib/bash/merge/node_wrapper.rb
|
|
309
309
|
- lib/bash/merge/provider.rb
|
|
310
|
+
- lib/bash/merge/rust_host_provider.rb
|
|
310
311
|
- lib/bash/merge/smart_merger.rb
|
|
311
312
|
- lib/bash/merge/test_harness_identity.rb
|
|
312
313
|
- lib/bash/merge/version.rb
|
|
@@ -317,10 +318,10 @@ licenses:
|
|
|
317
318
|
- PolyForm-Small-Business-1.0.0
|
|
318
319
|
metadata:
|
|
319
320
|
homepage_uri: https://structuredmerge.org
|
|
320
|
-
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.
|
|
321
|
-
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.
|
|
321
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.11
|
|
322
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.11/CHANGELOG.md
|
|
322
323
|
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
323
|
-
documentation_uri: https://www.rubydoc.info/gems/bash-merge/7.1.
|
|
324
|
+
documentation_uri: https://www.rubydoc.info/gems/bash-merge/7.1.11
|
|
324
325
|
funding_uri: https://github.com/sponsors/pboling
|
|
325
326
|
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
326
327
|
news_uri: https://www.railsbling.com/tags/bash-merge
|
|
@@ -350,7 +351,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
350
351
|
- !ruby/object:Gem::Version
|
|
351
352
|
version: '0'
|
|
352
353
|
requirements: []
|
|
353
|
-
rubygems_version: 4.0.
|
|
354
|
+
rubygems_version: 4.0.20
|
|
354
355
|
specification_version: 4
|
|
355
356
|
summary: "☯️ Structured Merge Bash analysis and merge for Ruby"
|
|
356
357
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|