{"repo":"reflex-frp/reflex-vty","free":true,"listed":false,"github":"https://github.com/reflex-frp/reflex-vty","clone":"git clone https://github.com/reflex-frp/reflex-vty.git","description":"Build terminal applications using functional reactive programming (FRP) with Reflex FRP.","language":"Haskell","stars":165,"topics":["terminal","vty","functional-reactive-programming","frp","reflex-frp","haskell","tui"],"license":"BSD-3-Clause","category":"cli-tools","readme_excerpt":"reflex-vty Build terminal user interfaces with functional reactive programming. reflex-vty provides a Reflex FRP host and a library of reactive widgets for Vty terminal applications: layout, text input and editing, boxes, scrolling, mouse support, focus management, and theming. A minimal app mainWidget takes a VtyAppConfig ( def for the defaults) and runs a widget until the Event t () it returns fires. Here that is ctrlc , which fires when the user presses Ctrl+C. Docs are available on Hackage. Features - Layout : arrange widgets into rows and columns ( tile / grout ) with fixed or proportional (stretch) size constraints. - Focus : tab-cycling focus management across the focusable widgets in a layout ( tabNavigation ). - Text : word-wrapped text display, rich text with per-span attributes, and single- or multi-line text input backed by a zipper that handles wide characters, tabs, and wrapping. - Inputs : clickable buttons, hyperlinks, and checkboxes. - Boxes : single, thick, double, rounded, ASCII, inner-half, and outer-half border styles, with optional titles and horizontal rules. - Scrolling : scrollable containers with programmatic scrolling, auto-scroll-to-bottom mode, and a visual scrollbar with four visibility modes (always, thumb-only, while-scrolling, hidden). - Split panes : fixed horizontal and vertical splits, plus a mouse-draggable splitter you can resize at runtime ( splitVDrag ). - Mouse : button clicks, drags (with from/to/button/modifier tracking), scroll-whee","default_branch":null,"files":null,"tree":[],"storefront":"/r/reflex-frp","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/reflex-frp/reflex-vty/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."}