# hare-libtui This package provides widgets and various functions for creating a tui (terminal user interface). This currently mostly provides a scrollable list widget with truncated width and various functions to init the ui, print the ui, add listeners, scan a rune, suspend/resume the TUI, clear the screen, etc. For a messy but functional example of this library's usage see: https://git.sr.ht/~ark/ilhare **Status**: Incomplete ## Provided modules - **libtui**: main ui functions and initialization - **libtui::layout**: common functions for widget containers - **libtui::vlayout**: widget container focused on vertical layouts (incomplete, untested) - **libtui::widget**: common functions and types for all widgets - **libtui::widget::list**: scrollable width-truncated list widget with relevant functions for navigation and selection - **libtui::widget::ed**: a text editor widget (incomplete, untested) ## Dependencies - hare-wcwidth: https://git.sr.ht/~ark/hare-wcwidth - hare-set: https://git.sr.ht/~ark/hare-set ## Installation ### System-wide installation ``` make install ``` To generate html docs: ``` make docs ``` ### Vendoring ``` git subtree -P vendor/hare-libtui/ add https://git.sr.ht/~ark/hare-libtui master ```