给任意命令输出上色。

colout-fix的Python项目详细描述


colout(1)对任意命令输出进行颜色上色(1)对任意命令输出进行颜色上色(1)对任意命令输出进行颜色上色
,但这一点还不足以让人们对这一点的关注度====br/>

<
颜色[样式(s)]

nt,否则整个匹配图案都是彩色的。

使用组时,可以通过用逗号分隔来指定几种颜色或样式。如果指定的颜色多于组,则忽略最后一种颜色。
如果要求的颜色较少,则会在剩余的
组中复制最后一种颜色。

可用颜色有:蓝色、黑色、黄色、青色、绿色、品红色、白色、红色、
彩虹、随机、随机、光谱、光谱,scale,scale,hash,hash,none,an
rgb十六进制三元组(` 11aaff`,例如)或0到255之间的任意数字。


R终端)。

在某些情况下,您可以通过指示由句点分隔的两种颜色(例如:"red.blue")来指示前景和背景色。您还可以使用此系统组合两种样式(例如,对于还闪烁的粗体样式:`bold.blink`)。


`rainbow`将在每个匹配图案的默认颜色映射上循环。
`rainbow`将在256色模式的默认颜色映射上进行相同的操作
(这需要支持256色转义序列的终端。

`random`将用默认颜色映射中的随机颜色给每个匹配的图案上色
(默认情况下,ANSI表中提供的255色)。
`random`将在8色模式下执行相同的操作。

`spectrum`和`spectrum`是l类似彩虹,但颜色更多(8和36
颜色)。

`scale`(8色)和`scale`(256色)将把匹配文本中的数字字符解析为十进制数,并根据
将默认颜色映射应用到其在`-l`选项定义的刻度上的位置(请参见below,"0100"by
default)。


`hash`(8色)和`hash`(256色)将获取匹配文本的指纹,并根据其应用默认颜色映射。这样可以确保多次出现的匹配文本始终具有相同的颜色。

这允许对大型组应用
这种特殊颜色,同时只解释其数字部分。


如果安装了python3 pygments库,则可以使用
语法颜色"lexer"的名称作为颜色(例如:"cpp"、"ruby"、"xml+django"等)。

TES文件(\*.gpl)可用,您也可以将它们的名称用作
颜色映射(请参见下面的"-p"开关)。

*color*默认为红色,*style*默认为粗体。

`colout'带有一些预定义的主题,可以快速地为已知输出着色
(请参见下面的"-t"开关)。


`切换到下面)。

3 setup.py安装

,然后软链接`/usr/local/bin/colout`到安装
目录下的colout.py,该目录通常类似于

/usr/local/lib/python3/dist packages/colout-0.1-py3.egg/colout/colout.py


ypi(python包索引)

sudo pip install colout






ubuntu ppa for 16.04(xenial)/18.04(bionic)

sudo apt get update
sudo apt get/aptitude installcolout

gentoo


\ormap`:
使用以逗号分隔的给定颜色列表作为颜色映射(在每个匹配处循环颜色)。

*`-l min,max`,`--scale min,max`:
使用"scale"颜色映射时,将匹配分析为十进制数(考虑到您的区域设置)
或作为算术表达式(如"1+2/0.9\*3"),并在给定的最小值和最大值(默认值为0100)之间线性应用彩虹颜色映射。

*`-a`,`--all`:
立即为整个输入着色,而不是每行着色
(对于在多行上用字符串着色源代码文件非常有用)。

*`-t`,`--theme`:
将模式解释为预定义的主题(perm、cmake、g++,等等)。

*`-t dir`,`--themes dir`:
在此目录中搜索其他主题(colout\*.py文件)。

*`-p dir`,`--palettes dir`:
在此目录中搜索其他选项板(\*.gpl文件)目录。

*`-d colormap`,`--default colormap`:
当使用特殊颜色映射(`random`,`scale`或`hash`)时,请使用此颜色映射而不是默认颜色映射。
此颜色映射可以是可用的颜色映射之一,也可以是以逗号分隔的颜色列表。
警告:请确保指定与特殊颜色映射的模式兼容的默认颜色映射,
或其他颜色可能不相同。
此外,外部调色板将从rgb转换为256-ansi,因此如果将它们用作8色模式特殊颜色的默认颜色映射,则它们将不起作用。

*`-r type`,`--resources type`:
打印可用资源的名称。使用逗号分隔的资源名称列表
(样式、颜色、特殊、主题、调色板、颜色映射或词汇表),
使用"all"打印所有内容。

*`-s`、`--source`:
将模式解释为pygments库可读的源代码。如果模式的第一个字母是大写,则使用256色模式;如果是小写,则使用8色模式。
在256色模式下,将颜色解释为pygments样式(例如"默认")。

*`-e char`,`--sep list char`:
将此字符用作颜色列表的分隔符/资源/数字(而不是逗号)。

*`-e char`,`--sep pair char`:
将此字符用作前景/背景对(而不是句点)的分隔符。

*`--debug`:
调试模式:如果要检查可用的功能,请打印内部发生的情况。


考虑到
`colout`通常由命令行调用,您可能需要转义
shell可以识别的特殊字符。



重新编号解析



\正在调整颜色。

使用与特殊颜色映射的模式不兼容的默认颜色映射将严重结束。

###简单的

*在colout sources中每个单词的出现都用粗体红色:
`cat colout.py` colout color red bold`

*在//etc/passwd`
`colout/home/[a-z]+135<;/etc/passwd`

*在黄色用户/组id中的颜色,以粗体绿色的名称和粗体红色的主目录显示在"/etc/passwd"中:
`colout":x:([0-9]+:[0-9]+):([^:]+).*(/home/[a-z]+)'黄色、绿色、红色普通、粗体<;/etc/passwd`

*黄色文件权限中的颜色,每个人都有读取权限:
`ls-l colout.。(r.-){3}`yellow普通`

*以绿色表示的读取权限,以红色粗体表示的写入和执行权限:
`ls-l colout'(r)(w*)(x*)'green,red normal,bold`

*colout sources中的绿色注释:
`colout.*()$'green normal<;colout.py`

*每个数字和在make输出中,粗体红色的单词"u error":
"make 2>"&;1"colout"[0-9]+"green normal"colout error`




"grep user/var/log/auth.log"colout"^.*"rainbow`

*为每行auth log使用不同的颜色在从青色到绿色的256色渐变中具有不同颜色的文件的e:
`head/var/log/auth.log colout-c"^.*$"39,38,37,36,35,34`


*具有预定义模板的颜色权限:
`ls-l colout-t perm`

*非空colout中浅绿色注释的颜色来源,用锐利的粗体绿色: BR/> *颜色,使输出,行号为黄色,粗体红色为错误,红色为警告,绿色为绿色,C++为ClAN文件名为"BR/>",设2和1;0-9]+):[0-9]*"黄色正常"colout error colout warning magenta colout pragma green normal colout"/(\w+)*"(h cpp)"青色正常"
或使用主题:
"make 2&g t"&;1 colout-t cmake colout-t g++`

*使用彩虹颜色映射给auth.log头中的每个单词上色在每一个新行开始一个新的颜色映射(命令的
开头只是bash magic来重复字符串"(\\w+)\\w+":
`l=$(seq 10);p=${l//??/(\\w+)\\w+};head/var/log/auth.log colout-g"^${p}(.*)$"rainbow`

*8色模式下的彩色源代码,无需查看注释:
`cat colout.py grep-v""colout-s python`

*256色模式下的彩色源代码:
`cat colout.py colout-s python monokai`

*给json流上色:
`echo'{"foo":"lorem","bar":"ipsum"}python-mjson.tool colout-t json`

*给源代码子字符串上色:
`echo""在'static void functor::operator()(eot&indiv){return indiv;}'中有错误,您应该修复它"colout"'(*)"cpp monokai`

*将cmake生成文件输出的进度百分比部分着色,颜色
与进度值相关(从0%=蓝色到100%=红色):
`cmake..&制作"colout"^(\[\s*[0-9]+%%\]]"[\s*[0-9]]]]">scale`


*auth.log``auth.log``中的彩色主机和用户,颜色一致:
`cat/var/log/auth.log/auth.log` colout"^(\s++\s+{3}(\s+\s+)\s+\s+\s+)\s(\s+\s+\s+){3{3{3{3}(\s+\s++s++s+){2}(\s+){2}(\s+"\s+)"\s+"\s+散列`


由于bash函数将带有
cmake和g++主题的任何命令的输出着色:


function cm()
{
set-o pipefail
$@2&g t&;1 colout-t cmake colout-t g++



例如:`cm make test`



n

您可以在gnu调试器(`gbd`)中使用"colout"对其输出进行着色。
例如,以下脚本`.gdbinit`配置将对backtrace命令的输出进行着色:

``gdb
设置confirm off

不要换行,否则着色regexp将不起作用。
设置宽度0

在我们的命名管道中。
set logging on/tmp/coloutpipe
end


define logging撸off
set logging off
set logging redirect off
更高级别)
命令。因此,gdb提示符将在命令结果
之前呈现,该命令是高度akward的。为了防止出现这种情况,我们需要在再次显示提示之前等待。命令越复杂,需要设置的值就越高。
shell sleep 0.4s
end


define hook backtrace
?:$(?+?)?:(\.[.]*))
此行颜色突出显示:
–链接到源代码的行,
–绿色的函数调用,
–黄色的参数名称,洋红色的值,
–红色的父目录(假设调试会话将在"项目"中/构建/"目录)。
shell cat/tmp/coloutpipe colout"^()([0-9]+)\s+(x\s+)*(in)*(.*)(\(.*))(at)(.*/)??:$(?+?)?:(\.[.]*)):([0-9]+)"红色,红色,蓝色,红色,绿色,洋红,红色,无,白色,白色,黄色正常,粗体,正常,正常,正常,正常,粗体,粗体,粗体,"([\w\s]*?)(=)([^,] *?)([,\)]"黄色,蓝色,洋红,蓝色标准色colout/($(basename$(dirname$(pwd)))/"红色加粗&;
登录
结束
定义hookpost回溯
登录
结束

不要忘记清理临时管道。
定义hook quit
设置confirm
shell rm-f/tmp/coloutpipe
end
```


查看与colout一起分发的"example.gdbinit"文件,以获取更多gdb命令。





持续时间上下文作为参数,并返回(修改的)上下文和三元组列表。
每个三元组的参数与命令行接口的参数相同。

def theme(context):
返回上下文,[[regexp,colors,styles]

字典在手,您可以访问colout的内部配置,因此您可以更改
特殊关键字、比例,甚至可用的颜色、样式或主题的颜色映射。

n
备选方案。
有关如何使用更多regexp和不同配置扩展现有主题的信息,请参见忍者主题。
有关如何使用现有软件的本地化来构建转换的regexp的示例,请参见gcc主题。



以大块而不是逐个实时重新打印。
这不是由于冒号,而是由于外壳的缓冲行为。
若要解决此问题,请使用"stdbuf",例如:`tail-f x stdbuf-o0 grep y colout z`.

authors

*nojhan<;nojhan@nojhan.net>;:原始idea,主要开发人员,maintener.
*adrian sad_ocha<;adrian.adek@gmail.com>;
*alex burka<;aburka@seas.upenn.edu>;
*brian foley<;bpfoley@gma查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯查尔斯贾森格林和lt;贾森@gree&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Pouillard <nicolas.pouiWe're going to make sure that we don't have to listen to what we are doing to the last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last last >
* Scott Lawrence <oz @lindenlab.com >;
*xu di<;xudifsd@gmail.com>;



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用ContentExchange设置请求属性   java Spark/Hdfs/Hdfsclient兼容性   java springcloudstreamkafka配置:instanceCount和instanceIndex   Java中web服务序列化日期   java用动态数据替换占位符   java git gc似乎覆盖了一个packfile,留下了一个打开的文件描述符,其中包含对“oldxxx.pack”的引用   为什么Apache项目对Java版本敏感?   java Anylogic帮助如何在导入的3dobject通过输送机上的多个“站”时更改其颜色?   JavaEclipseNeonM2E可以导入一个大型项目,但似乎不能自动解决依赖关系   java@FindBy搜索具有满足条件的子元素的元素   java如何将ActionEvent e与键绑定一起使用?   java转换以集中方式从外部库抛出的异常   java中用户文件/数据文件与系统/程序文件的区别   java使用变量字符串或字符作为对象名   字体使用Java图形操纵字符串中每个字符的形状   JavaFX图表移动数据   java RandomAccessFile:将所有项设置为相同的字节数?   java Google Play inapp Billing onPurchasesUpdated()错误响应代码1   java在不知道属性名和属性数的情况下处理json对象   java是否可以一次从HazelcastInstance(映射和列表)中删除所有数据?