15个不稳定版本 (3个重大变更)
0.4.4 | 2024年7月18日 |
---|---|
0.4.2 | 2024年5月30日 |
0.3.3 | 2024年3月16日 |
#130 in 命令行界面
每月下载量3,487
在 git-delta 中使用
45KB
889 代码行数(不含注释)
terminal-colorsaurus 🦕
使用 OSC 10
和 OSC 11
转义码确定终端的前景和背景颜色。
这个库有助于回答“这个终端是深色还是浅色?”这个问题。
遗憾的是,Windows不支持这个功能。
示例
use terminal_colorsaurus::{color_scheme, QueryOptions, ColorScheme};
match color_scheme(QueryOptions::default()).unwrap() {
ColorScheme::Dark => { /* ... */ },
ColorScheme::Light => { /* ... */ },
}
文档
灵感
这个crate借鉴了许多其他项目的想法。这个列表远非详尽无遗。
- xterm-query:使用
mio
等待终端的响应并设置超时。 - termbg:列出许多终端,这些终端为我测试终端提供了良好的起点。
- Nathan Craddock关于macOS不喜欢轮询/dev/tty的博客
- Stack Overflow上关于确定颜色亮度的这个出色的回答
- Terminal WG中的这个评论,关于
DA1
技巧,可以轻松检测不支持使用OSC 10
/OSC 11
查询颜色的终端。
许可证
根据您的选择,许可协议为以下之一
- Apache License, Version 2.0 (license-apache.txt 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (license-mit.txt 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则您根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,均应双重许可,如上所述,无任何额外条款或条件。
依赖项
~0.5–7.5MB
~47K SLoC