Rich命令行界面
项目描述
Rich CLI
Rich-cli是一个用于在终端中实现精美输出的命令行工具箱,由Rich构建。
使用rich命令在终端中突出显示各种文件类型,并对Markdown和JSON文件提供专门的渲染。此外,您还可以从命令行标记和格式化文本。
安装
安装Rich-CLI有几个选项。
Windows / Linux
您可以使用pipx安装Rich-CLI。
pipx install rich-cli
MacOS
您可以使用Homebrew安装Rich-CLI。
brew install rich
通用
Rich-CLI可以作为Python包安装,使用pip
python -m pip install rich-cli
或者使用conda或mamba
mamba install -c conda-forge rich-cli
Rich命令
安装后,您应该在路径中拥有rich命令。运行以下命令以查看用法/帮助
rich --help
语法高亮
要语法高亮显示文件,请输入rich后跟路径。支持许多文件格式。
rich loop.py
添加--line-number或-n开关以启用行号。添加--guides或-g以启用缩进指南。
rich loop.py -n -g
您可以使用--theme指定一个主题。
rich loop.py --theme dracula
您可以通过RICH_THEME环境变量设置默认主题。因此,以下命令与上述命令等价
RICH_THEME=dracula rich loop.py
默认情况下,rich将在行超出可用宽度时自动换行。您可以使用--no-wrap禁用此行为。
Rich 将尝试根据文件名推断过孔的格式。如果您想覆盖自动检测到的 词法分析器,您可以使用 --lexer 或 -x 开关显式设置它。
Markdown
您可以通过添加 --markdown 开关或 -m 来请求 Markdown 渲染。如果文件以 .md 结尾,Markdown 将自动检测。
rich README.md
如果您的终端支持超链接,您可以添加 --hyperlinks 或 -y,这将输出超链接而不是完整的 URL。
rich README.md --hyperlinks
Jupyter notebook
您可以通过添加 --ipynb 开关来请求 Jupyter notebook 渲染。如果文件以 .ipynb 结尾,Jupyter notebook 将自动检测。
rich notebook.ipynb
适用于语法高亮的所有选项都可以应用于代码单元格,适用于 Markdown 的所有选项都可以应用于 Markdown 单元格。
JSON
您可以使用 --json 或 -j 开关请求 JSON 的格式化和高亮显示。如果文件以 .json 结尾,则 JSON 将自动检测。
rich cats.json
CSV
Rich 可以将 CSV(或 TSV)的内容显示为表格。如果文件以 .csv 或 .tsv 结尾,则 CSV 将自动检测。
rich deniro.csv
规则
您可以使用 --rule 或 -u 渲染水平线。使用 --rule-style 指定规则样式。使用 --rule-char 设置用于渲染行的字符。
rich "Hello [b]World[/b]!" --rule
rich "Hello [b]World[/b]!" --rule --rule-style "red"
rich "Hello [b]World[/b]!" --rule --rule-style "red" --rule-char "="
分页器
添加 --pager 可显示内置的分页应用程序的内容。
使用光标键、翻页键、首页、末页滚动分页器。或者使用右侧可见的滚动条。或者使用 vi 导航(j、k、ctrl_d、ctrl-u)。
rich __main__.py -n -g --theme monokai --pager
网络
rich 命令可以从互联网读取文件,您提供以 http:// 或 https:// 开头的 URL。
rich https://raw.githubusercontent.com/Textualize/rich-cli/main/README.md --markdown
导出
除了渲染到控制台,rich 还可以写入 HTML 文件。这与任何命令都兼容。添加 --export-html 或 -o 后跟输出路径。
rich README.md -o readme.html
运行此命令后,您应在当前工作目录中找到一个 "readme.html"。
Rich 打印
如果您添加了 --print 或 --p 选项,则 Rich 将将第一个参数视为 控制台标记,这允许您使用类似于 bbcode 的标记插入样式。
rich "Hello, [bold magenta]World[/]!" --print
软换行
Rich 默认会根据需要插入换行符进行文本换行。如果您不想这种行为,您可以使用 --soft 启用 软 换行。
从标准输入读取
当 rich 接受路径时,您可以输入 -,它将从 stdin 读取内容。如果您需要从另一个进程中管道输出,您可能需要这样做。
注意,当 rich 不是直接写入终端时,它将禁用 ansi 颜色代码,因此您可能需要添加 --force-terminal 或 -F 来告诉 rich 您想保留 ansi 代码在输出中。
cat README.md | rich - --markdown --force-terminal
通用选项
您可以添加一些额外的开关来修改渲染到终端的内容。这些选项是通用的,适用于上述所有功能。
样式
您可以使用 --style 或 -s 设置应用于输出的样式。样式使用 此语法 指定。
rich "Hello, [b]World[/b]!" --print --style "on blue"
对齐
您可以使用 --left、--center 或 --right 选项,或其单个字母对应项:-l、-c 或 -r 将输出对齐到左、中或右。
rich "Hello [b]World[/b]!" --print --center
宽度
您可以使用 --width 或 -w 设置所需的宽度来设置输出宽度。请注意,默认行为是换行文本。
rich "I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration." -p -w 40
文本对齐
您可以使用 --text-left、--text-right、--text-center 和 --text-full 来设置 rich 如何对齐文本;或使用单个字母等效项:-L、-R、-C 和 -F。
在指定输出宽度之前,--left 和 --text-left 之间的区别可能不明显。--left、--center 和 --right 选项会在终端尺寸内居中文本块。而 --text-left、--text-center 和 --text-right 选项定义了文本如何在文本块内进行渲染。
在以下示例中,我们指定宽度为 40(《-w 40》),并使用 -c 开关进行居中对齐。注意 -R、-C 和 -F 如何在 40 个字符块内应用文本对齐。
rich "I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration." -p -w 40 -c -L
rich "I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration." -p -w 40 -c -R
rich "I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration." -p -w 40 -c -C
rich "I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration." -p -w 40 -c -F
填充
您可以使用 --padding 或 -d 在输出周围应用 填充。
rich "Hello [b]World[/b]!" -p -c --padding 3 --style "on blue"
面板
您可以使用 --panel 或 -a 在内容周围绘制 面板,它接受多种 样式 之一。
rich "Hello, [b]World[/b]!" -p -a heavy
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
rich-cli-1.8.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7f99ed213fb18c25999b644335f74d2be621a3a68593359e7fc62e95fe7e9a8a |
|
| MD5 | 09271998b86442711ddc2eacab11c37b |
|
| BLAKE2b-256 | ca55e35962573948a148a4f63416d95d25fe75feb06d9ae2f9bb35adc416f894 |
rich_cli-1.8.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | b27e585fd40924de0f71f28fa50a78ad3f3b24ead2ae5768490f6cf651026c2f |
|
| MD5 | 2ad818dbc363b6378111d1ecdd57f23f |
|
| BLAKE2b-256 | f93276a1e964f76b303d77ded9d9be27e72b9eef25ca2c892bfb735fb826ef40 |