minitest-holdify 1.3.5 → 1.3.6

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: dbd748b5b683c4eb669332d65aa2b2b2a7f85ebeda0f19231e1f5d3b581881e2
4
+ data.tar.gz: 55064de27d4b03325fd59be8b759d57afefd66bdc376af773a28472b90b9c289
5
5
  SHA512:
6
- metadata.gz: '0981c21b5932c8931c467642c6b1575bd3c61f34430f9330eb3c8c22d6712de5dba67ce6b31b8f8f59ed8e2778ddf3d393570721eda84496a35001e394e22588'
7
- data.tar.gz: 5a73f8ab4dedddfe7694651d9a582641926648810c8dc30bec911a10c0f60dd63fa14b2b38422fd861b8abe18e9890b86de182cb73a28b7026b1bc8e7428912d
6
+ metadata.gz: 5140bf266f4903077e7718e13f982fd29409490dface61f73dec08a4b5cefc9ed2b094a92935ad3931fc46291c0cd9d6d185acc48960707cc2108df98ff7e03d
7
+ data.tar.gz: 95621206dfa3b5af7d83f0e8a2916760d3a4ed582f66f34967714aedee0a486d15a4d4695e73697f2e760397708c33e5005918135d8b2c4490dfeba1c6e2ca38
@@ -158,19 +158,24 @@ module Holdify
158
158
  end
159
159
 
160
160
  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
161
+ clean = line.strip
162
+ type, color = case
163
+ when clean.start_with?(SGR[:green]) && !line.include?(SGR[:red]) && clean.end_with?(SGR[:clear], "\e[m")
164
+ ['+', :green]
165
+ when clean.start_with?(SGR[:red]) && !line.include?(SGR[:green]) && clean.end_with?(SGR[:clear], "\e[m")
166
+ ['-', :red]
167
+ when line.include?(SGR[:red]) || line.include?(SGR[:green])
168
+ ['~', :yellow]
169
+ else
170
+ [' ', :none]
171
+ end
172
+
173
+ sgr = SGR[color]
174
+ gutter = if type == '+'
170
175
  "#{sgr}#{type}#{' ' * width}#{SGR[:clear]}"
171
176
  else
172
177
  lineno[0] += 1
173
- "#{sgr}#{type || ' '}#{lineno[0].to_s.rjust(width)}#{SGR[:clear] if sgr}"
178
+ "#{sgr}#{type}#{lineno[0].to_s.rjust(width)}#{SGR[:clear] if sgr}"
174
179
  end
175
180
 
176
181
  "#{gutter} #{line}"
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.6'
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.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Domizio Demichelis