added color support for json, yaml and xml

This commit is contained in:
2024-06-15 13:17:27 +02:00
parent 7c62a16146
commit 995564382a
6 changed files with 53 additions and 1 deletions

View File

@@ -50,6 +50,28 @@
parse-raw(path-or-schema)
}
if "colors" in schema {
for struct in schema.colors.keys() {
for (span, col) in schema.colors.at(struct) {
if type(col) == str {
if col.starts-with("#") {
col = rgb(col)
} else {
let (r, g, b) = col.split(",").map(v => int(v))
col = rgb(r, g, b)
}
} else if type(col) == array {
col = rgb(..col)
} else if type(col) != color {
panic("Invalid color format")
}
schema.colors.at(struct).at(span) = col
}
}
} else {
schema.insert("colors", (:))
}
let structures = (:)
for (id, data) in schema.structures {
id = str(id)