4 Commits

Author SHA1 Message Date
fff6cad5ac bump: Release v0.11.1 2024-10-14 16:56:17 -03:00
44e6af8546 fix: support choosing lexers when used as a library 2024-10-14 16:45:50 -03:00
9e2585a875 bump: Release v0.11.0 2024-10-14 13:28:47 -03:00
c16b139fa3 feat: support selecting only some themes
Some checks are pending
Tests / build (push) Waiting to run
2024-10-14 13:11:22 -03:00
5 changed files with 54 additions and 3 deletions

View File

@ -2,6 +2,18 @@
All notable changes to this project will be documented in this file.
## [0.11.1] - 2024-10-14
### 🐛 Bug Fixes
- Support choosing lexers when used as a library
## [0.11.0] - 2024-10-14
### 🚀 Features
- Support selecting only some themes
## [0.10.0] - 2024-09-26
### 🚀 Features

View File

@ -101,6 +101,32 @@ Dependencies are satisfied
Building: tartrazine
```
## Choosing what themes you want
Themes come from two places, tartrazine itself and [Sixteen](https://github.com/ralsina/sixteen).
To only embed selected themes, build your project with the `-Dnothemes` option, and
you can set two environment variables to control which themes are included:
* `TT_THEMES` is a comma-separated list of themes to include from tartrazine (see the styles directory in the source)
* `SIXTEEN_THEMES` is a comma-separated list of themes to include from Sixteen (see the base16 directory in the sixteen source)
For example (using the tartrazine CLI as the project):
```bash
$ TT_THEMES=colorful,autumn SIXTEEN_THEMES=pasque,pico shards build -Dnothemes
Dependencies are satisfied
Building: tartrazine
$ ./bin/tartrazine --list-themes
autumn
colorful
pasque
pico
```
Be careful not to build without any themes at all, nothing will work.
## Contributing
1. Fork it (<https://github.com/ralsina/tartrazine/fork>)

View File

@ -1,5 +1,5 @@
name: tartrazine
version: 0.10.0
version: 0.11.1
authors:
- Roberto Alsina <roberto.alsina@gmail.com>

View File

@ -9,7 +9,7 @@ module Tartrazine
macro bake_selected_lexers
{% for lexer in env("TT_LEXERS").split "," %}
bake_file {{ lexer }}+".xml", {{ read_file "lexers/" + lexer + ".xml" }}
bake_file {{ lexer }}+".xml", {{ read_file "#{__DIR__}/../lexers/" + lexer + ".xml" }}
{% end %}
end

View File

@ -11,7 +11,20 @@ module Tartrazine
struct ThemeFiles
extend BakedFileSystem
bake_folder "../styles", __DIR__
macro bake_selected_themes
{% if env("TT_THEMES") %}
{% for theme in env("TT_THEMES").split "," %}
bake_file {{ theme }}+".xml", {{ read_file "#{__DIR__}/../styles/" + theme + ".xml" }}
{% end %}
{% end %}
end
{% if flag?(:nothemes) %}
bake_selected_themes
{% else %}
bake_folder "../styles", __DIR__
{% end %}
end
def self.theme(name : String) : Theme