# tui/theme
Return the FULL current workspace theme as a map. No parameters required.
## Syntax
[tui/theme]
## Returns
The complete parsed theme map — every key from the active theme file,
plus per-package `theme.dft` defaults merged under their app key
(e.g. `:chat`). Identical to `[theme/current]` and `[draw/theme ctx]`.
| Key | Type | Description |
| --- | ---- | ----------- |
| `:name` | string | Theme display name |
| `:ui` | map | Core colors, verbatim from the file (`bg`, `fg`, `accent`, `border`, `status-bg`, `panel-bg`, …) |
| `:syntax` | map | Syntax highlight colors (present when the theme file defines them) |
| `:help` | map | Help/documentation colors (present when the theme file defines them) |
| `:markdown` | map | Markdown rendering colors (present when the theme file defines them) |
| `:log` | map | Log-level colors — `ok`, `debug`, `info`, `warn`, `error`; also used for workspace badge dots (`tui/badge`) |
| `:<app>` | map | Per-package sections from `packages/<app>/theme.dft` fragments |
| `:bg` `:fg` `:accent` `:border` … | string | Top-level convenience flats — the core `:ui` colors spliced at the top level and normalized to `#rrggbb` (so `"teal"` in the file reads `#94e2d5` here) |
Any custom section the theme file defines flows through verbatim.
## Notes
- The map is a fresh per-call parse of the host's serialized theme — cache it (stdext `theme/_get` does) and re-read on theme change.
- A theme file that omits `:syntax`/`:help`/`:markdown` yields nil for those keys — apps must keep their own fallback defaults.
- Unlike `[draw/theme ctx]`, this function requires no draw context and can be called from anywhere (event handlers, init code, etc.).
- Theme changes via Ctrl+b t are immediately visible to subsequent `[tui/theme]` calls.