Skip to content

WIP: Base16 project support

Borden Rhodes requested to merge (removed):master into master

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.

Edited by Borden Rhodes

Merge request reports