hyperlist 1.4.4 → 1.4.5

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: 3dc0016e32134b62af690e6f612eac1820b601cbf86246fb9969441371600a4e
4
- data.tar.gz: 9be26ded0329bc112f10a79f2fffdb3c28174812665956a79b4ec1b88c854a6f
3
+ metadata.gz: 0b5da858aef9693451d436d48156170ebebfffa6f9ff08bf6fb71848bca3970e
4
+ data.tar.gz: f4f82de4e9d76bf55611628f9a9031d2e4eccf0625536964e6615423fc3a43cb
5
5
  SHA512:
6
- metadata.gz: dbe6dbcec4e20da66ff2e7cea0a8f57d7f7001790a3d5313498ae5be5e170509ad777155b09e1b969dc47fdb630923ebebbc1cb17016608615cd3378d3158652
7
- data.tar.gz: 57bf4c6764337eba7502ccaceb7a158d8ce8dd09c7840cf9c05047e2787910f0d28e446f913456fd7ee8893ec9be5fadb7b1b8f5766aebfd181a4cd7154fc8a6
6
+ metadata.gz: f828786e61e63348ace5b6684afc23a8b8b4630a05c8ba73381907d5b6f874b9b2438e5bdb393944503e01b4e07f336e74a4c385dd803569ced68bacd2a35192
7
+ data.tar.gz: d7e22aa25b76906372edf1d80fa88dd73778fd25de5e4b0ae88b80ac77cd7b6a7a10e6eaf178c205805bd00608eecdfe89fa2833e80e410de01bb9461527a6d3
data/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  All notable changes to the HyperList Ruby TUI will be documented in this file.
4
4
 
5
+ ## [1.4.5] - 2025-09-02
6
+
7
+ ### Added
8
+ - **Terminal resize handling**
9
+ - Implemented Signal.trap('WINCH') to catch terminal resize events
10
+ - Application now properly adapts when terminal window is resized
11
+ - UI components (panes) automatically adjust to new dimensions
12
+ - Follows same pattern as RTFM for robust resize handling
13
+
5
14
  ## [1.4.4] - 2025-09-01
6
15
 
7
16
  ### Added
data/README.md CHANGED
@@ -29,7 +29,19 @@ For historical context and the original VIM implementation, see: [hyperlist.vim]
29
29
  ### Help Screen
30
30
  ![HyperList Help](img/screenshot_help.png)
31
31
 
32
- ## What's New in v1.4.0
32
+ ## What's New in v1.4.4
33
+
34
+ ### 🔧 Case Conversion Commands
35
+ - **`gU`**: Convert current line to UPPERCASE
36
+ - **`gu`**: Convert current line to lowercase
37
+ - Works with all HyperList elements (checkboxes, operators, etc.)
38
+
39
+ ### 🐛 Bug Fixes
40
+ - Fixed color code display issues with numbered lists and operators
41
+ - Improved handling of qualifiers like `[? conditional]`
42
+ - Better coloring when combining numbered lists with operators (e.g., `1. NOT: item`)
43
+
44
+ ## Previous Version Features (v1.4.0)
33
45
 
34
46
  ### 🎨 Configuration Lines & Theming
35
47
  - **Configuration Lines**: Add settings at the bottom of HyperList files using `((option=value, option2=value))`
data/hyperlist CHANGED
@@ -72,7 +72,7 @@ class HyperListApp
72
72
  include Rcurses::Input
73
73
  include Rcurses::Cursor
74
74
 
75
- VERSION = "1.4.4"
75
+ VERSION = "1.4.5"
76
76
 
77
77
  def initialize(filename = nil)
78
78
  @filename = filename ? File.expand_path(filename) : nil
@@ -138,6 +138,9 @@ class HyperListApp
138
138
  # Debug: uncomment to see terminal size
139
139
  # puts "Terminal size: #{@rows}x#{@cols}"
140
140
 
141
+ # Setup terminal resize handler
142
+ setup_resize_handler
143
+
141
144
  # Setup UI first (to initialize @footer) before loading file
142
145
  setup_ui
143
146
 
@@ -194,6 +197,33 @@ class HyperListApp
194
197
  end
195
198
  end
196
199
 
200
+ def setup_resize_handler
201
+ # Catch terminal resize signal
202
+ Signal.trap('WINCH') do
203
+ refresh_on_resize
204
+ end
205
+ rescue
206
+ # Ignore if signal handling not available on this platform
207
+ end
208
+
209
+ def refresh_on_resize
210
+ # Get new terminal dimensions
211
+ if IO.console
212
+ @rows, @cols = IO.console.winsize
213
+ else
214
+ @rows = ENV['LINES']&.to_i || 24
215
+ @cols = ENV['COLUMNS']&.to_i || 80
216
+ end
217
+
218
+ # Reinitialize UI with new dimensions
219
+ setup_ui
220
+
221
+ # Force full redraw
222
+ render
223
+ rescue
224
+ # Ignore errors during resize to prevent crashes
225
+ end
226
+
197
227
  def load_file(file)
198
228
  @items = []
199
229
  @encrypted_lines = {}
data/hyperlist.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "hyperlist"
3
- spec.version = "1.4.4"
3
+ spec.version = "1.4.5"
4
4
  spec.authors = ["Geir Isene"]
5
5
  spec.email = ["g@isene.com"]
6
6
 
data/test_resize.hl ADDED
@@ -0,0 +1,16 @@
1
+ Test HyperList for Terminal Resize
2
+ This is a test file
3
+ To verify terminal resize works
4
+ When you resize the terminal
5
+ The display should update correctly
6
+ Items to check:
7
+ Main content area adjusts
8
+ Footer stays at bottom
9
+ Split view (if active) rebalances
10
+ No visual corruption
11
+ Test scenarios:
12
+ Make terminal wider
13
+ Make terminal narrower
14
+ Make terminal taller
15
+ Make terminal shorter
16
+ Quick multiple resizes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperlist
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.4
4
+ version: 1.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
8
8
  autorequire:
9
9
  bindir: "."
10
10
  cert_chain: []
11
- date: 2025-09-01 00:00:00.000000000 Z
11
+ date: 2025-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rcurses
@@ -79,6 +79,7 @@ files:
79
79
  - img/screenshot_help.png
80
80
  - img/screenshot_sample.png
81
81
  - sample.hl
82
+ - test_resize.hl
82
83
  homepage: https://github.com/isene/HyperList
83
84
  licenses:
84
85
  - Unlicense