termui

Simple UI components for the terminal.

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version Unknown
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-07-22 05:28

Installation

nimble install termui
choosenim install termui
git clone https://github.com/jjv360/nim-termui

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
termui - - - - - - -

Source

Repository https://github.com/jjv360/nim-termui
Homepage https://github.com/jjv360/nim-termui
Registry Source nimble_official

README

Nim Terminal UI

This library provides simple UI components for the terminal. To install, run:

nimble install termui

Examples

import termui

# Ask for user input
let name = termuiAsk("What is your name?", defaultValue = "John")

# Ask for password
let password = termuiAskPassword("Enter your password:")

# Select from a list
let gender = termuiSelect("What is your gender?", options = @["Male", "Female"])

# Select multiple
let categories = termuiSelectMultiple("Select categories:", options = @["Games", "Productivity", "Utilities"])

# Confirmation
let confirmed = termuiConfirm("Are you sure you want to continue?")

# Show a label, as if the user had entered it in a input field
termuiLabel("Your name", "John")

# Progress bar
let progress = termuiProgress("Uploading file...")
progress.update(0.1)
progress.complete("Finished!")
progress.warn("Couldn't upload!")
progress.fail("No internet access!")

# Spinner (requires --threads:on when compiling)
let spinner = termuiSpinner("Checking your internet...")
spinner.update("Almost done...")
spinner.complete("Finished!")
spinner.warn("Couldn't test!")
spinner.fail("No internet access!")