跳转到主要内容

Rich命令行界面

项目描述

Rich CLI

Rich-cli是一个用于在终端中实现精美输出的命令行工具箱,由Rich构建。

使用rich命令在终端中突出显示各种文件类型,并对Markdown和JSON文件提供专门的渲染。此外,您还可以从命令行标记和格式化文本。

splash image

安装

安装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

或者使用condamamba

mamba install -c conda-forge rich-cli

Rich命令

安装后,您应该在路径中拥有rich命令。运行以下命令以查看用法/帮助

rich --help

语法高亮

要语法高亮显示文件,请输入rich后跟路径。支持许多文件格式。

rich loop.py

syntax1

添加--line-number-n开关以启用行号。添加--guides-g以启用缩进指南。

rich loop.py -n -g

syntax2

您可以使用--theme指定一个主题

rich loop.py --theme dracula

您可以通过RICH_THEME环境变量设置默认主题。因此,以下命令与上述命令等价

RICH_THEME=dracula rich loop.py

syntax3

默认情况下,rich将在行超出可用宽度时自动换行。您可以使用--no-wrap禁用此行为。

Rich 将尝试根据文件名推断过孔的格式。如果您想覆盖自动检测到的 词法分析器,您可以使用 --lexer-x 开关显式设置它。

Markdown

您可以通过添加 --markdown 开关或 -m 来请求 Markdown 渲染。如果文件以 .md 结尾,Markdown 将自动检测。

rich README.md

markdown1

如果您的终端支持超链接,您可以添加 --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

json1

CSV

Rich 可以将 CSV(或 TSV)的内容显示为表格。如果文件以 .csv.tsv 结尾,则 CSV 将自动检测。

rich deniro.csv

csv1

规则

您可以使用 --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 "="

syntax1

分页器

添加 --pager 可显示内置的分页应用程序的内容。

使用光标键、翻页键、首页、末页滚动分页器。或者使用右侧可见的滚动条。或者使用 vi 导航(j、k、ctrl_d、ctrl-u)。

rich __main__.py -n -g --theme monokai --pager

pager

网络

rich 命令可以从互联网读取文件,您提供以 http://https:// 开头的 URL。

rich https://raw.githubusercontent.com/Textualize/rich-cli/main/README.md --markdown

network

导出

除了渲染到控制台,rich 还可以写入 HTML 文件。这与任何命令都兼容。添加 --export-html-o 后跟输出路径。

rich README.md -o readme.html

运行此命令后,您应在当前工作目录中找到一个 "readme.html"。

Rich 打印

如果您添加了 --print--p 选项,则 Rich 将将第一个参数视为 控制台标记,这允许您使用类似于 bbcode 的标记插入样式。

rich "Hello, [bold magenta]World[/]!" --print

printing1

软换行

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"

style1

对齐

您可以使用 --left--center--right 选项,或其单个字母对应项:-l-c-r 将输出对齐到左、中或右。

rich "Hello [b]World[/b]!" --print --center

alignment1

宽度

您可以使用 --width-w 设置所需的宽度来设置输出宽度。请注意,默认行为是换行文本。

rich "I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration." -p -w 40

width

文本对齐

您可以使用 --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"

padding1

面板

您可以使用 --panel-a 在内容周围绘制 面板,它接受多种 样式 之一。

rich "Hello, [b]World[/b]!" -p -a heavy

panel1

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

rich-cli-1.8.0.tar.gz (17.2 kB 查看哈希值)

上传时间

构建分发

rich_cli-1.8.0-py3-none-any.whl (14.9 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面