{"repo":"ynqa/promkit","free":true,"listed":false,"github":"https://github.com/ynqa/promkit","clone":"git clone https://github.com/ynqa/promkit.git","description":"Make interactive prompt in Rust","language":"Rust","stars":467,"topics":["interactive","prompt","rust","readline","cli","tui","terminal","prompt-toolkit"],"license":"MIT","category":"cli-tools","readme_excerpt":"promkit A toolkit for building your own interactive prompt in Rust. Getting Started Put the package in your Cargo.toml . Features - Application-owned composition — Implement the Prompt lifecycle and combine only the widget states an application needs. Key bindings, focus, validation, background work, and other event policy remain in the application instead of framework-owned presets. - Optional runtime and terminal lifecycle — Use the asynchronous prompt runtime when useful, and independently manage raw mode, the alternate screen, cursor visibility, and mouse capture with TerminalSession . - Viewport-aware rendering — promkit-core handles wrapping or truncation, vertical pane allocation, cursor scrolling, clipping, resizing, and screen-to-widget hit testing. - Reusable widget states — promkit-widgets provides text editing and display, list and checkbox selection, prefix search, spinners, trees, JSON and YAML documents, and CSV tables. - Efficient large-content projection — JSON, YAML, and table widgets can project only the visible terminal viewport instead of rebuilding all content on every redraw. - Feature-gated modules — No Cargo features are enabled by default. Choose the runtime, terminal session, capabilities, and individual widgets needed by the application. - Cross-platform terminal support — UNIX and Windows are supported through crossterm. Concept See here. Projects using promkit - ynqa/empiriqa - ynqa/jnv - ynqa/logu - ynqa/sig Examples/Demos promkit provides a run","default_branch":null,"files":null,"tree":[],"storefront":"/r/ynqa","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ynqa/promkit/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}