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 +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +13 -1
- data/hyperlist +31 -1
- data/hyperlist.gemspec +1 -1
- data/test_resize.hl +16 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b5da858aef9693451d436d48156170ebebfffa6f9ff08bf6fb71848bca3970e
|
4
|
+
data.tar.gz: f4f82de4e9d76bf55611628f9a9031d2e4eccf0625536964e6615423fc3a43cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|

|
31
31
|
|
32
|
-
## What's New in v1.4.
|
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.
|
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
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
|
+
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-
|
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
|