Files
Iosevka/parameters.ptl
T
2017-03-10 18:46:58 +08:00

22 lines
1015 B
Plaintext

export : define [build parametersData styles] : begin
local param {.}
local variantSelector {.}
define [introStyle style] : begin
local hive parametersData.(style)
if (!hive) : return nothing
if hive.inherits : foreach [h : items-of hive.inherits] : introStyle h
foreach [k : items-of : Object.keys hive] : set param.(k) hive.(k)
if hive.multiplies : foreach [k : items-of : Object.keys hive.multiplies] : begin
set param.(k) : param.(k) * hive.multiplies.(k)
if hive.adds : foreach [k : items-of : Object.keys hive.adds] : begin
set param.(k) : param.(k) + hive.adds.(k)
if hive.appends : foreach [k : items-of : Object.keys hive.appends] : begin
set param.(k) : (param.(k) || {}).concat(hive.appends.(k))
if hive.variantSelector : foreach [k : items-of : Object.keys hive.variantSelector] : begin
set variantSelector.(k) hive.variantSelector.(k)
foreach [style : items-of styles] : introStyle style
set param.variantSelector variantSelector
return param