A thing that has always frustrated me about github/bitbucket, as a language designer, is that you can't teach the forge to syntax highlight files in your own custom formats.

Now the existence of Codeberg/git.gay means potentially I could create a PR to forgejo to add this feature and it would get added to the forges I actually use. Perhaps at some point I will do this.

Anybody know off the top of their heads what syntax-highlighter format Codeberg/Forgejegejo even uses?

Oh. it's… oh.

It's… custom Go code… on a per-language basis. they use something called Chroma and the way Chroma works is it wrote custom lexers in Go for each language they want to support. Um. Hm.

This is actually the one single approach they could have attempted which prevents custom pluggable highlighters on a per-repo basis.

https://hey.hagelb.org/@technomancy/statuses/01KNQJ9H3R64BEHE1QWNBXZKVW

technomancy (@[email protected])

@mcc last I checked it was https://github.com/alecthomas/chroma ;  I remember sending a patch to support Fennel and it was handled pretty promptly

hey.hagelb.org

So like, a thing I've been working on is a flyweight Lisp interpreter that I can embed into other programs in trivial ways. The entire appeal of this Lisp is that it's not bound to any one standard and is defined on a per-project basis, so I can make complete changes to the language on a repo-to-repo or commit-to-commit basis.

For example, here I made some oneoff changes and transformed my LISP into an embedded macroassembler for z80 assembly.

https://git.gay/mcc/mermaid-nil/src/branch/project-twice/project/twice/game.l0

I can't submit upstream.

mcc/mermaid-nil

Work-in-project games for retro consoles.

git.gay
@mcc OMG git.gay, what an amazing name for a GIT host. 🤣