#ansi-colors #color #terminal-colors #cc #output #libary

libtermcolor

为C/C++和Rust提供的简单Ansi颜色库

2个稳定版本

1.1.0 2024年5月18日
1.0.0 2024年5月17日

#328 in 命令行界面

每月 44 次下载
用于 mcsdk

GPL-3.0-only

12KB
64

LTC - libTermColor

🚀 LTC通过C/C++ & Rust提供了一种方便的方法在终端中使用颜色

C Badge C++ Badge Rust Badge

安装

C/C++

当您想在项目中使用它时,非常简单,只需从发布选项卡获取最新的 libtermcolor.h。然后将此文件放入您的 src/ 文件夹,并通过以下方式包含库

#include "libtermcolor.h"

如果您有其他位置,需要将 libtermcolor.h 替换为您的 .h 文件路径。

Rust

您只需在您的 Cargo.toml 中添加以下内容

[dependencies]
libtermcolor = "<version>"

或使用以下命令

cargo add libtermcolor

如何使用?

如果您只想查看示例,可以查看C/C++的 example/main.cpp 和Rust的 example.rs

基本使用

C/C++

colors::RED.regular
         ^     ^
         |     |
       Color TYPE

Rust

use libtermcolor; <-- Import the Libary

libtermcolor::colors::red().regular
                       ^       ^
                       |       |
                     Color   TYPE

颜色:此选项指定要使用的颜色,可以在 #Colors 或通过在代码中输入 colors:: 并按 CTRL + SPACE 查找。
类型:类型表示是否应该是

  • 粗体
  • 下划线
  • 背景(这是更改背景颜色的意思)
  • 重置(这将重置之前指定的颜色效果)

[!注意] 重置也可以与

colors::RESET

字符串

您还可以使用以下方式通过字符串获取颜色

C/C++

colors::getColorCode("RED", "REGULAR")
                       ^        ^
                       |        |
                     Color    Type

Rust

libtermcolor::colors::get_color_code("RED", "REGULAR");
                                       ^        ^
                                       |        |
                                     Color     Type

[!注意] 这种大写字母并不重要。

示例

Screenshot of Example

我已经编写了一个快速示例,将输出每个颜色及其状态

C/C++

#include <iostream>
#include "libtermcolor.h"

int main() {
    for (const auto& pair : colors::color_map) {
        std::cout << pair.second.background << pair.first << colors::RESET << ":\n";
        std::cout << colors::BLACK.background << "  Regular:    " << colors::RESET << pair.second.regular << pair.first << pair.second.reset << std::endl;
        std::cout << colors::BLACK.background << "  Bold:       " << colors::RESET << pair.second.bold << pair.first << pair.second.reset << std::endl;
        std::cout << colors::BLACK.background << "  Underline:  " << colors::RESET << pair.second.underline << pair.first << pair.second.reset << std::endl;
        std::cout << colors::BLACK.background << "  Background: " << colors::RESET << pair.second.background << pair.first << pair.second.reset << std::endl;
    }
    return 0;
}

此代码也可以在 example/main.cpp 中找到。

Rust

use libtermcolor;

fn main() {
    for (color_name, color_attributes) in libtermcolor::colors::COLOR_MAP.iter() {
        println!("{}{}{}:", color_attributes.background, color_name, libtermcolor::colors::reset());
        println!("  Regular:    {}{}{}{}", color_attributes.regular, color_name, color_attributes.reset, libtermcolor::colors::reset());
        println!("  Bold:       {}{}{}{}", color_attributes.bold, color_name, color_attributes.reset, libtermcolor::colors::reset());
        println!("  Underline:  {}{}{}{}", color_attributes.underline, color_name, color_attributes.reset, libtermcolor::colors::reset());
        println!("  Background: {}{}{}{}", color_attributes.background, color_name, color_attributes.reset, libtermcolor::colors::reset());
    }
}

此代码也可以在 example/main.rs 中找到。

颜色

- BLACK
- BRIGHT_BLACK
- RED
- BRIGHT_RED
- GREEN
- BRIGHT_GREEN
- YELLOW
- BRIGHT_YELLOW
- BLUE
- BRIGHT_BLUE
- MAGENTA
- BRIGHT_MAGENTA
- CYAN
- BRIGHT_CYAN
- WHITE
- BRIGHT_WHITE

如何贡献

您可以使用示例来测试您的代码。

编译示例

您可以使用以下命令编译和测试示例

C/C++

make clean
make build
./output/main

Rust

cd example
cargo build

编译Rust库

cargo build

依赖项

~10KB