Skip to content

feat: add Nord theme#219

Merged
agavra merged 2 commits intoagavra:mainfrom
snoblenet:feat/nord-theme
Mar 20, 2026
Merged

feat: add Nord theme#219
agavra merged 2 commits intoagavra:mainfrom
snoblenet:feat/nord-theme

Conversation

@snoblenet
Copy link
Copy Markdown
Contributor

@snoblenet snoblenet commented Mar 20, 2026

Summary

Adds four Nord theme variants using the official Nord colour palette.

  • Introduces a shared NordFlavor struct + nord_theme() function (mirrors the GruvboxFlavor / gruvbox_theme() pattern)
  • Adds four ThemeArg variants: NordDark, NordLight, NordDarkHighContrast, NordLightHighContrast
  • Adds four CLI theme names: nord-dark, nord-light, nord-dark-high-contrast, nord-light-high-contrast
  • Dark variants use EmbeddedThemeName::Nord; light variants use EmbeddedThemeName::Base16OceanLight
  • Diff add/del backgrounds computed with blend() at 15% (add/del) and 10% (syntax highlighting)

Colour mapping across variants

Role nord-dark nord-light nord-dark-high-contrast nord-light-high-contrast
panel_bg nord0 #2E3440 nord6 #ECEFF4 nord0 nord6
bg_highlight, border_unfocused nord1 #3B4252 nord5 #E5E9F0 nord1 nord5
status_bar_bg nord2 #434C5E nord4 #D8DEE9 nord2 nord4
fg_dim, help_indicator, expanded_context_fg nord3 #4C566A nord3 #4C566A nord3 nord2 #434C5E
fg_primary, diff_context nord4 #D8DEE9 nord0 #2E3440 nord6 #ECEFF4 nord0
fg_secondary nord5 #E5E9F0 nord1 #3B4252 nord5 nord1
branch_name, comment_suggestion nord7 #8FBCBB ← same ← same ← same
border_focused, diff_hunk_header, mode_bg, message_info_bg nord8 #88C0D0 ← same ← same ← same
cursor_color, file_renamed nord9 #81A1C1 ← same ← same ← same
diff_del, comment_issue, file_deleted, message_error_bg nord11 #BF616A ← same ← same ← same
message_warning_bg, update_badge_bg nord12 #D08770 ← same ← same ← same
file_modified, pending nord13 #EBCB8B ← same ← same ← same
diff_add, file_added, reviewed, comment_praise nord14 #A3BE8C ← same ← same ← same
mode_fg, accent_fg nord0 (bg0) nord1 (fg1) nord0 (bg0) nord1 (fg1)
syntect theme Nord Base16OceanLight Nord Base16OceanLight

High-contrast dark boosts fg_primary from nord4→nord6 for stronger text/background separation. High-contrast light deepens fg_dim from nord3→nord2 for better muted-element visibility.

Copy link
Copy Markdown
Owner

@agavra agavra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @snoblenet 🙏

@agavra agavra merged commit 3e3e4b1 into agavra:main Mar 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants