This repository is dedicated to creating a powerful and flexible C++ library for designing beautiful console applications. The library will allow developers to enhance terminal output with interactive elements, colorful designs, and stylish text formatting. Whether you're building simple utilities or complex command-line interfaces, this library will help transform your console into an engaging and interactive user experience.
With the must-have features now completed and thoroughly tested, the next step is to organize and package them into a fully functional library. The goal is to publish a binary file for developers, so they can use the library in their projects just like any standard C++ library, without the need to manually download or include source files.
- Clear Screen
- Clear the terminal screen to provide a clean slate for new content.
- Colorful Text
- Display text in various colors to improve visual clarity and appeal.
- Selection Prompts
- Allow users to select between multiple items in a single-choice prompt.
- Multi-Selection Prompts
- Enable users to choose multiple items from a list.
- Styled Text
- Add support for text styling, including:
- Underline
- Bold
- Dim
- Strikethrough
- Add support for text styling, including:
Compatibility:
All features have been tested and completed, and they are fully functional on macOS, Windows 10, and Linux (Raspberry Pi 2 [1GB RAM]).
- Tables
- Create dynamic tables with adjustable column sizes that handle any text type.
- Borders for Text
- Add customizable borders around text using characters like
|
,-
, and#
.
- Add customizable borders around text using characters like
- Large Font Text
- Allow the creation of text in large, artistic fonts for headers or emphasis.
- Loading Bars
- Show progress bars for tasks and operations.
- Page Layouts
- Create structured layouts for better organization of terminal content.
- Trees
- Render hierarchical data as expandable/collapsible trees.
- Bar Charts
- Display data visually using bar charts.
This project is designed to:
- Simplify terminal application development by providing a rich set of tools for customization and interactivity.
- Produce a reusable library that is community-friendly and easy to integrate into any C++ project.