用于Pygments的PromQL lexer
pygments-promql的Python项目详细描述
pygments项目
一个用于Pygments的PromQL lexer。在
这个Python包为Prometheus Query Language提供了一个Pygmentslexer。它允许Pygments和其他工具(Sphinx,Chroma)突出显示PromQL查询。在
安装
使用pip
获取最新版本pypi.org网站公司名称:
pip install pygments-promql
使用
命令行
在终端中,您可以直接从stdin回显和发送查询:
^{pr2}$或者使用一个文件,例如,创建example.promql
文件,查询来自
tests/example.promql。
在本例中,不需要选项-l promql
,因为lexer将
根据文件扩展名检测。在
在终端中显示彩色输出:
pygmentize example.promql
要生成PNG文件:
pygmentize -f png -O "line_numbers=False,style=monokai" -o example.png example.promql
Python代码
以下示例:
frompygmentsimporthighlightfrompygments.formattersimportHtmlFormatterfrompygments_promqlimportPromQLLexerquery='http_requests_total{handler="/api/comments"}'print(highlight(query,PromQLLexer(),HtmlFormatter()))
将生成此HTML输出:
<divclass="highlight"><pre><span></span><spanclass="nv">http_requests_total</span><spanclass="p">{</span><spanclass="nl">handler</span><spanclass="o">=</span><spanclass="s">"/api/comments"</span><spanclass="p">}</span><spanclass="w"></span></pre></div>
使用HtmlFormatter(noclasses=True)
在每个<span>
标记上包含CSS内联样式。在
斯芬克斯
为了突出显示Sphinx documentation site中的PromQL语法
您只需在站点的conf.py
文件末尾添加以下3行Python代码:
fromsphinx.highlightingimportlexersfrompygments_promqlimportPromQLLexerlexers['promql']=PromQLLexer()
然后你就可以这样使用它了:
Here's a PromQL example: ..code-block::promql# A metric with label filteringgo_gc_duration_seconds{instance="localhost:9090"}
测试
如果您想测试、播放或参与本次回购:
git clone https://github.com/pabluk/pygments-promql.gitcd pygments-promql/pip install -r requirements.txtpip install -e .pytest -v
- 项目
标签: