# theme/set
Return a new theme map with a value deep-set at a variadic path. The
original map is never mutated — rebind the result.
## Syntax
[theme/set $t :ui :accent "#ffffff"] set t [theme/set $t :syntax :keyword "#ff0000"]
## Parameters
- `theme` — a theme map (from `theme/load` or a previous edit).
- `path...` — section, key, … path segments (strings coerced to keywords).
- `value` — the new value (last argument).
Missing (or non-map) intermediate levels become empty maps —
assoc-in semantics — so new sections can be created without
pre-populating them.
## Examples
set t [theme/load :dracula] set t [theme/set $t :ui :accent "#f8f8f2"] # tweak a color set t [theme/set $t :markdown :code-fg "#00ff00"] # new section + key [theme/save $t] # write it back
## Returns
The updated map.
## See Also
`theme/get`, `theme/unset`, `theme/save`, `theme/load`