tvl-depot/tools/cheddar
Vincent Ambo e27b0a3013 feat(cheddar): Add Sourcegraph-compatible highlighting server
Sourcegraph uses a component called syntect_server to syntax-highlight
source files.

Since we already have custom syntaxes, overrides and configuration we
might as well use them with Sourcegraph!

This implements the syntect_server "protocol" (it's just a single
endpoint) so that we can swap out the syntect_server component with
cheddar.

Note: There's a few clippy lints here, but they're being solved in a
followup commit because I wanted to take care of all of them at
once (not just the ones introduced in this change).

Change-Id: Ib518a2fa1b9fee299fe599482403599583cac479
Reviewed-on: https://cl.tvl.fyi/c/depot/+/509
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-20 02:59:20 +00:00
..
src feat(cheddar): Add Sourcegraph-compatible highlighting server 2020-06-20 02:59:20 +00:00
.gitignore feat(tools/cheddar): Check in new syntax highlighting tool 2019-12-21 04:54:57 +00:00
.skip-subtree feat(tools/cheddar): Check in new syntax highlighting tool 2019-12-21 04:54:57 +00:00
Cargo.lock feat(cheddar): Add Sourcegraph-compatible highlighting server 2020-06-20 02:59:20 +00:00
Cargo.toml feat(cheddar): Add Sourcegraph-compatible highlighting server 2020-06-20 02:59:20 +00:00
default.nix feat(cheddar): Override syntax highlighting for 'rules.pl' to Prolog 2020-06-15 16:52:27 +00:00
README.md docs(cheddar): Mention cgit filter compatibility in README 2019-12-21 15:56:44 +00:00

cheddar

Cheddar is a tiny Rust tool that uses syntect to render source code to syntax-highlighted HTML.

It's invocation is compatible with cgit filters, i.e. data is read from stdin and the filename is taken from argv:

cat README.md | cheddar README.md > README.html

In fact, if you are looking at this file on git.tazj.in chances are that it was rendered by cheddar.

The name was chosen because I was eyeing a pack of cheddar-flavoured crisps while thinking about name selection.