Kontur aims to fully implement a terminal manipulation for apps that
don't need entire stack of ANSI sequences for cursor positioning,
alternative screen buffers or component drawing. It also implements
its abstractions to build upon and extend std related traits like
IsTerminal than to do its own thing from scratch.
There are many great and high-quality TUI frameworks for Rust, with
ratatui being one of notable examples. However, not everything you
might wish to implement might be a TUI and sometimes CLI allows for
more scriptable and faster control interface to both implement and use.
While there are also many terminal manipulations libraries that could also be integrated into CLI software directly, Kontur is supposed to provide you a minimalistic API just needed to get a job done, than to overwhelm you with functionalities you might not neccesarily need when designing your software.
Kontur is a Polish word, that means outline. It tries to represent the word line in command-line interface phrase, to signify that manipulation focuses not around whole terminal window, as seen in many TUI frameworks, but rather just the current line of it.
-
ascii– ASCII-focused variants of functions, for programs that do not want to handle full unicode support. -
unicode– an unicode-aware text manipulations support, viaunicode-widthcrate.
© 2026 Dawid Papiewski "SpacingBat3" spacingbat3@gmail.com
This project is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
