Skip to main content

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

now carbon ruslanspivak lsbasi-part1

https://ruslanspivak.com/lsbasi-part1/

https://ruslanspivak.com/lsbasi-part1/

参考

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.53.tar.gz (101.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

syntaxlight-0.1.53-py3-none-any.whl (134.0 kB view details)

Uploaded Python 3

File details

Details for the file syntaxlight-0.1.53.tar.gz.

File metadata

  • Download URL: syntaxlight-0.1.53.tar.gz
  • Upload date:
  • Size: 101.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.9 Windows/10

File hashes

Hashes for syntaxlight-0.1.53.tar.gz
Algorithm Hash digest
SHA256 afbbe1f1b2b24fe109efa18d590638015b14f3c995ab020aa3daca6745771c61
MD5 eabadd8b11d4c6ebe3c516d09ef329eb
BLAKE2b-256 cbe4485d71a24522e7029a1359e8c9bc06754fa0f5e9bd880c17f85487fba696

See more details on using hashes here.

File details

Details for the file syntaxlight-0.1.53-py3-none-any.whl.

File metadata

  • Download URL: syntaxlight-0.1.53-py3-none-any.whl
  • Upload date:
  • Size: 134.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.9 Windows/10

File hashes

Hashes for syntaxlight-0.1.53-py3-none-any.whl
Algorithm Hash digest
SHA256 661673119081220473b588e1f9e05f00737134f6cec4c0e27ca91bf0de2f7c7c
MD5 c992c43828b56100e0be0ce0d888d294
BLAKE2b-256 25cab3d9ec622a61de1ecfdafc8a6e84aca98b42c4903e277f55e82d4f0cf2fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page