rubytui 1.2.5 → 1.2.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: 3422d29230acde2c0e9da429cf3ddf83a355706183039778574e3e3d9b5875b9
4
- data.tar.gz: '059ab8b520b2d61ca15a0ba129b211ea4c44a52cb4dd826e5401172bb8ed9c1c'
3
+ metadata.gz: 1c02474959ea48e1132fe6eb9d4928bfd903380165103601f7af0f4de781fcd2
4
+ data.tar.gz: b341e4db0fe3e8804415b3436418b9289882bece33a49a6912499854e286c58d
5
5
  SHA512:
6
- metadata.gz: 388a89d892b0f28d9ebbd9e0dd57f9dea31a65bca3d1d9da2f7af2c446fd9ddaddf05cc1d6cc5e3364860dd80225137573272230bf9dbed727c1edb075f750ae
7
- data.tar.gz: 3c74612dc4bd6540af8b37cfdbec084ce5b6c292c9e2a64f9256b41ced9bca5855685930840adf199525a45de2b753a8b9bd099cf6ba0b26528db239de3c59e9
6
+ metadata.gz: e7c0955376bb8cce509abcb7d17caf24d18b94c1e72931ace799d36307290a1432786cc4428a89163c6482b14cfdc3b7a07833ad9a5783fb33b16040c0af9cf7
7
+ data.tar.gz: 2ceee4bcd1442108229131a7fbd5d5f36a8617185224e67bc4ac6393d59608003edbd873a6daaf904d4b1af3449fc46aab2d96cc19ba8981dc1e9f5c68eadb02
@@ -390,18 +390,19 @@ module RubyTUI
390
390
  codes << (style.bg ? style.bg.to_bg_ansi : "49")
391
391
  end
392
392
 
393
- # Modifiers added
393
+ # Modifiers removed, before any are added: SGR 22 turns off both bold
394
+ # and dim, so it must not follow a 1 or 2 meant to stay on
395
+ removed = prev.modifiers & ~style.modifiers
396
+ off = Modifier::SGR_OFF.filter_map { |flag, code| code if Modifier.contains?(removed, flag) }.uniq
397
+ codes.concat(off)
398
+
399
+ # Modifiers added, plus any bold/dim the new style keeps that 22 cleared
394
400
  added = style.modifiers & ~prev.modifiers
401
+ added |= style.modifiers & (Modifier::BOLD | Modifier::DIM) if off.include?("22")
395
402
  Modifier::SGR_ON.each do |flag, code|
396
403
  codes << code if Modifier.contains?(added, flag)
397
404
  end
398
405
 
399
- # Modifiers removed
400
- removed = prev.modifiers & ~style.modifiers
401
- Modifier::SGR_OFF.each do |flag, code|
402
- codes << code if Modifier.contains?(removed, flag)
403
- end
404
-
405
406
  @buffer << "#{CSI}#{codes.join(";")}m" unless codes.empty?
406
407
  @prev_style = style
407
408
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module RubyTUI
4
4
  # Gem version string.
5
- VERSION = "1.2.5"
5
+ VERSION = "1.2.6"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubytui
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 1.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - CoCL