edelib  2.1.0
Theme language

First of all, you don't have to know Scheme language to create theme files. This files use simplified statements to declare variables and set their values.

One statement you already seen is:

(theme.name "Foo")

This will, as you guess, set theme name. Here, theme is a namespace and name is expression that sets internal theme name. Every public Theme expressions has a theme prefix, like (theme.print) or (theme.style).

You also learned how to assign some value. In common languages (or configuration files), you often would assign variable like this:

var = value

in Theme language it will be like this:

(var value)

But, beware! You can't use this assignment syntax all over .ewt files; it is valid only in (theme.style) block.

...which brings us to (theme.style) syntax... Each (theme.style) must have a style name and block with a list of variables and their values. For example:

(theme.style "demo-style" [
var1 "value1"
var2 "value2"

implements var1 and var2 in "demo-style" style. Each style block begins with [ and ends with ]. Actually it ends with ]) because "theme.style" starts with (. This is very similar to syntax used to assign values.