syntax highlight based on EBNF
Project description
syntaxlight
本项目仍在开发中, 尚不可用...
syntaxlight 是一个基于 BNF 的语法高亮的 python 库, 您可以 在线浏览 文法高亮结果
目前支持 C/Python 等主流编程语言和 json xml 等主流标记语言的文法解析, 支持多种高亮主题以及自定义颜色(默认使用 Vscode 风格), 您可在此查看全部文法支持和高亮支持
安装
pip install syntaxlight
快速开始
syntaxlight 提供了一个简易的 API 用于预览结果: syntaxlight.example_display
import syntaxlight
syntaxlight.example_display('./1.c')
# syntaxlight.example_display('./your-code.c', style='one-dark-pro')
运行可以得到 syntaxlight_example/
文件夹, 使用浏览器打开其中的 index.html 即可预览. 同时会生成解析得到的抽象语法树 ast.dot, Vscode 用户可以下载 graphviz-interactive-preview 插件预览, 或者安装 graphviz 之后使用下面的命令导出 png
dot -Tpng ./ast.dot -o ast.png
文档和 API
关于详细的 API 使用方法, 以及对于默认配置的修改情况请参阅 syntaxlight 使用文档
开发功能
本仓库的 Makefile 与 test.py 提供了对于测试用例的渲染预览, 运行后打开 syntaxlight_example/index.html 即可
# 浏览所有 C 测试用例集合渲染结果
make
# 浏览所有 json 测试用例集合渲染结果
make t=json
# 浏览 json 第一个 test/json/1.json 测试用例渲染结果
make t=json i=1
# 浏览 toml 第一个 test/toml/1.json 测试用例在 one-dark-pro 风格下的渲染结果
make t=toml i=1 s=one-dark-pro
参考
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
syntaxlight-0.1.21.tar.gz
(68.6 kB
view hashes)
Built Distribution
Close
Hashes for syntaxlight-0.1.21-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dcac49fbfad0da351ef8822d5572f69a5a6f63d2ff5f90c8f56a0db77ccd17a |
|
MD5 | bef5ff72d7dc77bfdd02cf92cb3ca7ad |
|
BLAKE2b-256 | 14ef3ac199adb5a1f715d24ed31d4d396ee9c56ee445721b8184dc7bf10cc0ee |