hyperlist 1.7.0 → 1.8.0
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 +10 -0
- data/hyperlist +14 -0
- data/hyperlist.gemspec +1 -1
- data/test_visibility.hl +11 -0
- metadata +2 -2
- data/test_resize.hl +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54c0ace316afeb7e7d109bb319f279c76dd849e098683ded98ccf5c33c68ffbc
|
4
|
+
data.tar.gz: 06ceebfd8bb666689dbef44939074d4a1aaa7a78fe4c12858a977550b2d38391
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8e284b9201f5d2f7598c55473936569a99071312a2ab0735cdeae70737b8c47998a5d02cf29dbb2b38ffb1c65d851e49cf19809d514150a5b4764d9e1c4c8ba
|
7
|
+
data.tar.gz: 5b3e22980a16e467d0308ffd7e5912db3738dda7bde1c74e1a0fe871b8ca2d8e3cb21f782e8edb6a1af4fcf75d917731807fc00c7d4e9f83af0d57316892d19c
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,16 @@
|
|
2
2
|
|
3
3
|
All notable changes to the HyperList Ruby TUI will be documented in this file.
|
4
4
|
|
5
|
+
## [1.8.0] - 2025-09-22
|
6
|
+
|
7
|
+
### Enhanced
|
8
|
+
- **Guaranteed item visibility after all movement operations**
|
9
|
+
- Current item now ALWAYS remains visible after TAB/S-TAB indentation operations
|
10
|
+
- Added visibility enforcement to `indent_right()` and `indent_left()` functions
|
11
|
+
- Added visibility enforcement to split-view indentation operations
|
12
|
+
- Prevents items from becoming invisible when moved under collapsed parents
|
13
|
+
- Complements existing visibility protection for C-UP/C-DOWN movements
|
14
|
+
|
5
15
|
## [1.7.0] - 2025-09-18
|
6
16
|
|
7
17
|
### Added
|
data/hyperlist
CHANGED
@@ -1674,6 +1674,10 @@ class HyperListApp
|
|
1674
1674
|
end
|
1675
1675
|
end
|
1676
1676
|
|
1677
|
+
# Ensure the moved item remains visible (find its index in main items array)
|
1678
|
+
main_real_idx = @items.index(item)
|
1679
|
+
force_item_visible(main_real_idx) if main_real_idx
|
1680
|
+
|
1677
1681
|
@modified = true
|
1678
1682
|
@message = "Indented in split pane"
|
1679
1683
|
end
|
@@ -1702,6 +1706,10 @@ class HyperListApp
|
|
1702
1706
|
end
|
1703
1707
|
end
|
1704
1708
|
|
1709
|
+
# Ensure the moved item remains visible (find its index in main items array)
|
1710
|
+
main_real_idx = @items.index(item)
|
1711
|
+
force_item_visible(main_real_idx) if main_real_idx
|
1712
|
+
|
1705
1713
|
@modified = true
|
1706
1714
|
@message = "Unindented in split pane"
|
1707
1715
|
end
|
@@ -2918,6 +2926,9 @@ class HyperListApp
|
|
2918
2926
|
end
|
2919
2927
|
end
|
2920
2928
|
|
2929
|
+
# Ensure the moved item remains visible
|
2930
|
+
force_item_visible(real_idx)
|
2931
|
+
|
2921
2932
|
@modified = true
|
2922
2933
|
record_last_action(:indent_right, with_children)
|
2923
2934
|
end
|
@@ -2946,6 +2957,9 @@ class HyperListApp
|
|
2946
2957
|
end
|
2947
2958
|
end
|
2948
2959
|
|
2960
|
+
# Ensure the moved item remains visible
|
2961
|
+
force_item_visible(real_idx)
|
2962
|
+
|
2949
2963
|
@modified = true
|
2950
2964
|
record_last_action(:indent_left, with_children)
|
2951
2965
|
end
|
data/hyperlist.gemspec
CHANGED
data/test_visibility.hl
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyperlist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geir Isene
|
@@ -79,7 +79,7 @@ files:
|
|
79
79
|
- img/screenshot_help.png
|
80
80
|
- img/screenshot_sample.png
|
81
81
|
- sample.hl
|
82
|
-
-
|
82
|
+
- test_visibility.hl
|
83
83
|
homepage: https://github.com/isene/HyperList
|
84
84
|
licenses:
|
85
85
|
- Unlicense
|
data/test_resize.hl
DELETED
@@ -1,16 +0,0 @@
|
|
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
|