Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Completion paths need jq-compatible normalization, and completion rendering needs bounded projection to avoid growing per-navigation costs.
2 open issues
What changed in this PR
Updates promkit-widgets to 0.10.0 and migrates the interactive JSON interface to the new widget and renderer APIs while preserving existing configuration compatibility.
Changes:
- Migrates JSON rendering to
Documentwith bounded viewport projection and preserves renderer metadata. - Replaces the status widget with styled text while retaining guide messages and colors.
- Updates dependencies and API comments, and adds six regression tests.
| File | Description |
|---|---|
| src/runtime_tasks.rs | Updates widget rendering calls during resizing. |
| src/query_editor.rs | Returns editor content with renderer metadata. |
| src/main.rs | Adapts renderer initialization and guide setup. |
| src/json.rs | Switches to the new JSON path utility module. |
| src/json_viewer.rs | Migrates document rendering and adds regression tests. |
| src/guide.rs | Replaces status messages with styled text. |
| src/config.rs | Adopts the new JSON configuration type and tests compatibility. |
| src/completion.rs | Adapts completion rendering to CreatedGraphemes. |
| README.md | Corrects the configuration API name in a comment. |
| default.toml | Corrects the configuration API name in a comment. |
| Cargo.toml | Updates the widget dependency and enabled features. |
| Cargo.lock | Records updated dependencies and transitive packages. |
Review effort: Balanced
Comment on lines
+136
to
+137
| pub fn create_graphemes(&self) -> CreatedGraphemes { | ||
| self.state.create_graphemes() |
|
|
||
| use promkit_widgets::{ | ||
| jsonstream::jsonz, | ||
| json::jsonz, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Update
promkit-widgetsfrom 0.5.0 to 0.10.0, the version published with promkit v0.17.0. The lockfile also updatespromkit-coreto 0.6.1 and the transitive dependencies required by the new widgets release.Migrate the JSON viewer to
json::Documentand bounded viewport projection, and preserve the layout/cursor metadata returned byCreatedGraphemesfor the renderer. Replace the removed status widget with a styled text widget, retaining existing guide messages and colors. Existing configuration files, including[json.stream], remain compatible; update the referenced API name in the README and default configuration comments.Validation:
cargo fmt --all -- --checkcargo clippy --locked --offline --all-targets -- -D warningscargo test --locked --offline -- --nocapture --format pretty— 6 regression tests covering configuration compatibility, custom styles, folding/output preservation, filtered results, null/error fallback, and selected-row visibility after resizing a long document.cargo build --locked --offline --bins --examplesno_hint, and successful exit. Output content was checked after stripping terminal control sequences.