oarticles: don't assume particle content is a dictionary

This is done by having each particle implement a top-level verifier
function.
This commit is contained in:
Daniel Eklöf 2019-01-13 12:47:20 +01:00
parent 9944a8f972
commit 8bc6a0b783
8 changed files with 77 additions and 27 deletions

View file

@ -198,13 +198,21 @@ from_conf(const struct yml_node *node, const struct font *parent_font,
on_click_template);
}
const struct particle_info plugin_info = {
.from_conf = &from_conf,
.attrs = {
static bool
verify_conf(keychain_t *chain, const struct yml_node *node)
{
static const struct attr_info attrs[] = {
{"items", true, &conf_verify_particle_list_items},
{"spacing", false, &conf_verify_int},
{"left-spacing", false, &conf_verify_int},
{"right-spacing", false, &conf_verify_int},
PARTICLE_COMMON_ATTRS,
},
};
return conf_verify_dict(chain, node, attrs);
}
const struct particle_info plugin_info = {
.verify_conf = &verify_conf,
.from_conf = &from_conf,
};