mirror of
https://github.com/Xevion/find-syntax.git
synced 2025-12-06 03:15:04 -06:00
1.8 KiB
1.8 KiB
find-syntax
An experiment to try and find the ideal syntax highlighter for an arbitrary snippet.
- Given a snippet of code, query the GitHub Markdown API to generate highlighted HTML.
- Determine the complexity and level of color in the generated HTML.
- Report and display the results, showing the "best" syntax highlighter for the snippet.
Analysis
- Colorization can be counting the number of non-whitespace characters inside an element with a classname starting with
pl-as a percentage of all non-whitespace characters.- Some class identifiers represent white colors, and should be manually blacklisted from being counted.
- The deepest/closest classname should be used to determine the color.
- CSS analysis may be required if multiple classnames are used to determine the color. This shouldn't happen though.
- Complexity can be determined by analyzing the average coverage for each color within the colorized text.
Goals
- Memory caching of API results to prevent unnecessary requests.
- Automatic rate limiting and threading optimizations with Tokio, Governor, and Reqwest.
- GitHub Token & User-Agent compliance.
- Heuristics for determining the "best" syntax highlighter for per-request efficiency and overall speed.