WIP: Base16 project support
The Base16 project (https://github.com/chriskempson/base16) is a templating system that takes over 160 colour schemes and generates app-specific theme files from them. I want to add a template that'll let the project generate KSyntaxHighlighting themes. Other efforts already support other Qt and KDE programs.
I created a template directory structure with the minimum config.yaml
and default.mustache
files. I tried to map the Base16 colour specs (https://github.com/chriskempson/base16/blob/master/styling.md) to the supported parameters in the source's theme.h
header using the former's definitions. I also tried to "convert" KSyntaxHighlighting's implementation of the Nord and Solarized themes into the Base16 markup to show the differences from Base16's spec (which are many). They're saved as nord.mustache
and solarized-light.mustache
.
This basically describes the contents of this "merge request" (although it's more accurately a request for feedback, support and mentoring). The parameters I haven't been able to map are all marked with "TODO." Removing these lines does create a template that Base16's builder software will use to generate valid .theme
files. I've tested it.
What I need is guidance on how to map the remaining fields to Base16's variables (or suggestions if you disagree with how I've mapped them in default.mustache
). One we've done that, I can generate fresh .theme
files for aesthetics testing. You'll also notice that default.mustache
only addresses colouring, not other font styling issues (bold, italic, underline, etc.). For a first run, I suggest sticking only to colouring unless there's a "KDE-recommended" font styling system.
Both KSyntaxHighlighting and the Base16 projects (with subprojects) use the MIT licence, so there shouldn't be integration issues.