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 |