clack 0.4.5 → 0.5.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 +33 -0
- data/README.md +265 -196
- data/lib/clack/colors.rb +1 -6
- data/lib/clack/core/cursor.rb +1 -3
- data/lib/clack/core/key_reader.rb +30 -20
- data/lib/clack/core/options_helper.rb +71 -29
- data/lib/clack/core/prompt.rb +63 -15
- data/lib/clack/core/scroll_helper.rb +10 -41
- data/lib/clack/core/selection_manager.rb +49 -0
- data/lib/clack/core/settings.rb +2 -2
- data/lib/clack/prompts/autocomplete.rb +17 -21
- data/lib/clack/prompts/autocomplete_multiselect.rb +14 -30
- data/lib/clack/prompts/confirm.rb +9 -41
- data/lib/clack/prompts/date.rb +27 -56
- data/lib/clack/prompts/group_multiselect.rb +21 -50
- data/lib/clack/prompts/multiline_text.rb +33 -53
- data/lib/clack/prompts/multiselect.rb +16 -36
- data/lib/clack/prompts/password.rb +2 -25
- data/lib/clack/prompts/path.rb +9 -34
- data/lib/clack/prompts/range.rb +2 -25
- data/lib/clack/prompts/select.rb +12 -36
- data/lib/clack/prompts/select_key.rb +1 -11
- data/lib/clack/prompts/spinner.rb +15 -20
- data/lib/clack/prompts/text.rb +1 -25
- data/lib/clack/symbols.rb +2 -3
- data/lib/clack/testing.rb +31 -37
- data/lib/clack/version.rb +1 -1
- data/lib/clack.rb +73 -34
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4fbbb7aa9fa9b375b70b10c7a7c17124f1187d2fe1443a9cad6358087570e876
|
|
4
|
+
data.tar.gz: 006b53ead379e5b550e5da0735a8085224c1531937db9de750128d9f25ced3a8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 49dfca31d9b51ea57e5e68c74fe48fa217e5cba22c9db94529eae50f39edbb2488021559285641e943f9e1445964fc7ca02a7b59a026ae36da630cb1cc4e3576
|
|
7
|
+
data.tar.gz: d0e77aaaa330de1b4bace456d082ae7b93b024c293c51db4a4d4647cef3ed4939145ea89e52817c4e6220225860bdfde95e527e96281da6a5cce8e49c4ee90d4
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0] - 2026-03-27
|
|
4
|
+
|
|
5
|
+
### Breaking
|
|
6
|
+
- Renamed `@cursor` to `@option_index` in all option-based prompts (affects subclasses)
|
|
7
|
+
- Signal handlers and `at_exit` moved into `Clack.setup!` (called automatically on first prompt)
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- Extracted `SelectionManager` module shared by Multiselect, AutocompleteMultiselect, GroupMultiselect
|
|
11
|
+
- SIGWINCH handler is now async-signal-safe (sets flag, flushed in render loop)
|
|
12
|
+
- `OptionsHelper` navigation generalized via `navigable_items`
|
|
13
|
+
- `Multiselect` raises `ArgumentError` on `initial_value:` (must use `initial_values:`)
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- `Clack.setup!` / `Clack.setup?` for explicit signal handler installation
|
|
17
|
+
- `KeyQueue` in `Clack::Testing` for deterministic key simulation in specs
|
|
18
|
+
- New specs for SelectionManager, OptionsHelper, Prompt internals, CI mode
|
|
19
|
+
|
|
20
|
+
### Docs
|
|
21
|
+
- README rewritten with badges, before/after comparison, reorganized sections
|
|
22
|
+
|
|
23
|
+
## [0.4.6] - 2026-03-22
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- `Settings.printable?` now accepts combining characters and multi-codepoint grapheme clusters (accented letters, emoji)
|
|
27
|
+
- Signal handlers use `write_nonblock` instead of `print` for async safety
|
|
28
|
+
- `S_STEP_ERROR` ASCII fallback changed from `x` to `!` (was identical to `S_STEP_CANCEL`)
|
|
29
|
+
- CI mode validation warnings now print to stderr instead of stdout
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
- Colors, Cursor, and Symbols ANSI detection unified through `Environment.colors_supported?`
|
|
33
|
+
- Extracted `build_final_frame` template into `Core::Prompt` with `final_display` hook (11 prompt classes simplified)
|
|
34
|
+
- Date prompt: consolidated duplicated segment logic into `update_segment`
|
|
35
|
+
|
|
3
36
|
## [0.4.5] - 2026-02-22
|
|
4
37
|
|
|
5
38
|
### Fixed
|