repositories / dotfiles
dotfiles
bugabingas dorkfiles
owned by admin
nugu/aerc.nu
Rawuse palette.nu
# Generate an aerc styleset from Nugu's semantic palette.
# aerc stylesets use flat object.attribute = value entries plus a [viewer]
# section for the built-in colorize filter.
export def theme [mode: string] {
let nugu = (palette nugu $mode)
let p = $nugu.palette
let main = [
"*.default=true"
"*.normal=true"
$"default.fg=($p.content.normal)"
$"default.bg=($p.content.backdrop)"
$"error.fg=($p.error)"
"error.bold=true"
$"warning.fg=($p.warning)"
"warning.bold=true"
$"success.fg=($p.content.focus)"
"success.bold=true"
$"title.fg=($p.ui.important_global)"
$"title.bg=($p.ui.backdrop)"
"title.bold=true"
$"header.fg=($p.content.important_local)"
"header.bold=true"
$"border.fg=($p.ui.minor)"
$"border.bg=($p.ui.backdrop)"
$"tab.fg=($p.ui.minor)"
$"tab.bg=($p.ui.backdrop)"
$"tab.selected.fg=($p.content.normal)"
$"tab.selected.bg=($p.ui.focus)"
"tab.selected.bold=true"
$"statusline_default.fg=($p.ui.normal)"
$"statusline_default.bg=($p.ui.backdrop)"
$"statusline_error.fg=($p.error)"
"statusline_error.bold=true"
$"statusline_success.fg=($p.content.focus)"
"statusline_success.bold=true"
$"msglist_default.fg=($p.content.normal)"
$"msglist_default.bg=($p.content.backdrop)"
$"msglist_read.fg=($p.content.minor)"
$"msglist_unread.fg=($p.content.normal)"
"msglist_unread.bold=true"
$"msglist_answered.fg=($p.info)"
$"msglist_forwarded.fg=($p.content.focus)"
$"msglist_flagged.fg=($p.content.important_local)"
"msglist_flagged.bold=true"
$"msglist_deleted.fg=($p.content.unfocus)"
"msglist_deleted.dim=true"
$"msglist_result.fg=($p.content.accent)"
"msglist_result.bold=true"
$"msglist_marked.fg=($p.ui.backdrop)"
$"msglist_marked.bg=($p.ui.important_local)"
$"msglist_thread_folded.fg=($p.content.important_global)"
"msglist_thread_folded.bold=true"
$"msglist_thread_context.fg=($p.content.unfocus)"
$"msglist_thread_orphan.fg=($p.warning)"
$"msglist_pill.fg=($p.ui.backdrop)"
$"msglist_pill.bg=($p.ui.accent)"
$"msglist_*.selected.fg=($p.ui.backdrop)"
$"msglist_*.selected.bg=($p.ui.focus)"
"msglist_*.selected.bold=true"
$"dirlist_default.fg=($p.ui.normal)"
$"dirlist_default.bg=($p.ui.backdrop)"
$"dirlist_unread.fg=($p.ui.important_global)"
"dirlist_unread.bold=true"
$"dirlist_recent.fg=($p.ui.accent)"
$"dirlist_*.selected.fg=($p.ui.backdrop)"
$"dirlist_*.selected.bg=($p.ui.focus)"
"dirlist_*.selected.bold=true"
$"completion_default.fg=($p.ui.normal)"
$"completion_default.bg=($p.ui.backdrop)"
$"completion_default.selected.fg=($p.ui.backdrop)"
$"completion_default.selected.bg=($p.ui.focus)"
$"completion_description.fg=($p.ui.minor)"
"completion_description.dim=true"
$"completion_gutter.bg=($p.ui.backdrop)"
$"completion_pill.fg=($p.ui.backdrop)"
$"completion_pill.bg=($p.ui.accent)"
$"part_switcher.fg=($p.ui.normal)"
$"part_switcher.bg=($p.ui.backdrop)"
$"part_filename.fg=($p.content.important_local)"
$"part_mimetype.fg=($p.info)"
$"part_*.selected.fg=($p.ui.backdrop)"
$"part_*.selected.bg=($p.ui.focus)"
$"selector_default.fg=($p.ui.normal)"
$"selector_default.bg=($p.ui.backdrop)"
$"selector_chooser.fg=($p.ui.accent)"
"selector_chooser.bold=true"
$"selector_focused.fg=($p.ui.backdrop)"
$"selector_focused.bg=($p.ui.focus)"
"selector_focused.bold=true"
$"stack.fg=($p.ui.normal)"
$"stack.bg=($p.ui.backdrop)"
$"spinner.fg=($p.ui.accent)"
]
let viewer = [
""
"[viewer]"
"*.default=true"
"*.normal=true"
$"url.fg=($p.content.accent)"
"url.underline=true"
$"header.fg=($p.content.important_local)"
"header.bold=true"
$"signature.fg=($p.content.minor)"
"signature.dim=true"
$"diff_meta.fg=($p.content.important_global)"
"diff_meta.bold=true"
$"diff_chunk.fg=($p.info)"
$"diff_chunk_func.fg=($p.info)"
"diff_chunk_func.bold=true"
$"diff_add.fg=($p.content.focus)"
$"diff_del.fg=($p.error)"
$"quote_1.fg=($p.content.minor)"
$"quote_2.fg=($p.content.unfocus)"
$"quote_3.fg=($p.content.important_global)"
"quote_3.dim=true"
$"quote_4.fg=($p.content.important_local)"
"quote_4.dim=true"
$"quote_x.fg=($p.content.accent)"
"quote_x.dim=true"
]
($main ++ $viewer) | str join (char newline)
}