minitest-holdify 1.3.5 → 1.3.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d19382125e8e102ff0d8b01ca8227e68b44c7d0a532e99b5b2e7236a37a37407
4
- data.tar.gz: cc34821ba517f701180baa40391421cc6d888d18a079be4c1445d6bda43578dc
3
+ metadata.gz: bf4cac7c6df9469fcdf1d5d9163a889b65c1c77777dfaf32622d21cfebe108ae
4
+ data.tar.gz: 495c373a2830de647cbaef7e58f36a8dd1664bdd50c4528c3135b3af277d025e
5
5
  SHA512:
6
- metadata.gz: '0981c21b5932c8931c467642c6b1575bd3c61f34430f9330eb3c8c22d6712de5dba67ce6b31b8f8f59ed8e2778ddf3d393570721eda84496a35001e394e22588'
7
- data.tar.gz: 5a73f8ab4dedddfe7694651d9a582641926648810c8dc30bec911a10c0f60dd63fa14b2b38422fd861b8abe18e9890b86de182cb73a28b7026b1bc8e7428912d
6
+ metadata.gz: 8894999267d0057e657ab17bd41612ffe09681ff5e7325d3d90903d33f0b06dc2e1a4438b1c87048136ba2c61d24f60e2f2b22bc5d849064e559c8393be5cad9
7
+ data.tar.gz: 91224d393746382dc2470704b0f013b1b71798ba9d225de85c544aed9f97ee9f1f676dace6a395c58b257044b98fb919b5a818cfb107cd46acda495b7d7f2953
@@ -137,10 +137,9 @@ module Holdify
137
137
  SGR = { clear: "\e[0m",
138
138
  red: "\e[31m",
139
139
  green: "\e[32m",
140
- yellow: "\e[33m",
141
- magenta: "\e[35m" }.freeze
140
+ yellow: "\e[33m" }.freeze
142
141
 
143
- def dye(color, string) = "#{SGR[color]}#{string}#{SGR[:clear]}"
142
+ def dye(color, string) = "#{SGR[color]}#{string}#{SGR[:clear] if SGR[color]}"
144
143
 
145
144
  def file_refs
146
145
  refs = super
@@ -158,22 +157,26 @@ module Holdify
158
157
  end
159
158
 
160
159
  def render_line(line, lineno, width)
161
- clean = line.gsub(/\e\[(1|22|0)m/, '').lstrip
162
- added = clean.start_with?(SGR[:green]) && !line.include?(SGR[:red])
163
- removed = clean.start_with?(SGR[:red]) && !line.include?(SGR[:green])
164
- changed = line.include?(SGR[:red]) || line.include?(SGR[:green])
165
-
166
- type, color = (added && ['+', :green]) || (removed && ['-', :red]) || (changed && ['~', :yellow])
167
-
168
- sgr = SGR[color].to_s if color
169
- gutter = if added
170
- "#{sgr}#{type}#{' ' * width}#{SGR[:clear]}"
160
+ clean = line.strip
161
+ type, color = case
162
+ when clean.start_with?(SGR[:green]) && !line.include?(SGR[:red]) && clean.end_with?(SGR[:clear], "\e[m")
163
+ ['+', :green]
164
+ when clean.start_with?(SGR[:red]) && !line.include?(SGR[:green]) && clean.end_with?(SGR[:clear], "\e[m")
165
+ ['-', :red]
166
+ when line.include?(SGR[:red]) || line.include?(SGR[:green])
167
+ ['~', :yellow]
168
+ else
169
+ [' ', :none]
170
+ end
171
+
172
+ gutter = if type == '+'
173
+ ' ' * width
171
174
  else
172
175
  lineno[0] += 1
173
- "#{sgr}#{type || ' '}#{lineno[0].to_s.rjust(width)}#{SGR[:clear] if sgr}"
176
+ lineno[0].to_s.rjust(width)
174
177
  end
175
178
 
176
- "#{gutter} #{line}"
179
+ "#{dye(color, "#{type}#{gutter}")} #{line}"
177
180
  end
178
181
  end
179
182
  end
data/lib/holdify.rb CHANGED
@@ -7,7 +7,7 @@ require_relative 'holdify/store'
7
7
 
8
8
  # The container module
9
9
  module Holdify
10
- VERSION = '1.3.5'
10
+ VERSION = '1.3.7'
11
11
 
12
12
  @fresh_mutex = Mutex.new
13
13
  @fresh = []
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-holdify
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5
4
+ version: 1.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Domizio Demichelis