Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

oxocarbon.theme

Ports of the oxocarbon color scheme, a dark and light theme inspired by IBM Carbon, to Neovim, terminals and CLI tools. Every port is generated from one palette, so the colors match across tools.

Dark Light
oxocarbon-dark in Neovim oxocarbon-light in Neovim

Ports

Neovim

The Neovim colorscheme supports 68 plugins and has dark and light styles. With lazy.nvim:

{ "whispcat/oxocarbon.theme", main = "oxocarbon", lazy = false, priority = 1000, opts = {} }

See docs/neovim.md for other installation methods, configuration and the plugin list.

Other tools

Each tool has a dark and a light theme in its directory under extras, named oxocarbon_dark and oxocarbon_light with the tool's file extension. The tool's own documentation explains where the file goes. Directories with a README.md, such as Ghostty and Zed, have setup steps.

Tool Extra
Aerc extras/aerc
Aider extras/aider
Alacritty extras/alacritty
Btop++ extras/btop
Delta extras/delta
(Better-)Discord extras/discord
Dunst extras/dunst
eza extras/eza
Fish extras/fish
Fish Themes extras/fish_themes
Foot extras/foot
Fuzzel extras/fuzzel
Fzf extras/fzf
Gemini CLI extras/gemini_cli
Ghostty extras/ghostty
GitUI extras/gitui
GNOME Terminal extras/gnome_terminal
Helix extras/helix
iSH extras/ish
iTerm extras/iterm
Kitty extras/kitty
Konsole extras/konsole
Lazygit extras/lazygit
Lua Table for testing extras/lua
opencode extras/opencode
pi extras/pi
Prism extras/prism
process-compose extras/process_compose
QTerminal extras/qterminal
Slack extras/slack
Spotify Player extras/spotify_player
Sublime Text extras/sublime
Tailwind CSS (v4) extras/tailwindv4
Terminator extras/terminator
Termux extras/termux
Tilix extras/tilix
Tmux extras/tmux
Vim extras/vim
Vimium extras/vimium
Vivaldi extras/vivaldi
WezTerm extras/wezterm
Windows Terminal extras/windows_terminal
Xfce Terminal extras/xfceterm
Xresources extras/xresources
Yazi extras/yazi
Zathura extras/zathura
Zed extras/zed
Zellij extras/zellij

Palette

All ports use these colors, under the base16-style slot names from oxocarbon.nvim. blend is the background of floating windows and sidebars.

Slot Dark Light
base00 #161616 #161616 #ffffff #ffffff
base01 #262626 #262626 #f4f4f4 #f4f4f4
base02 #393939 #393939 #e0e0e0 #e0e0e0
base03 #525252 #525252 #6f6f6f #6f6f6f
base04 #dde1e6 #dde1e6 #262626 #262626
base05 #f2f4f8 #f2f4f8 #161616 #161616
base06 #ffffff #ffffff #000000 #000000
base07 #08bdba #08bdba #005d5d #005d5d
base08 #3ddbd9 #3ddbd9 #007d79 #007d79
base09 #78a9ff #78a9ff #0f62fe #0f62fe
base10 #ee5396 #ee5396 #d12771 #d12771
base11 #33b1ff #33b1ff #0072c3 #0072c3
base12 #ff7eb6 #ff7eb6 #9f1853 #9f1853
base13 #42be65 #42be65 #198038 #198038
base14 #be95ff #be95ff #6929c4 #6929c4
base15 #82cfff #82cfff #1192e8 #1192e8
blend #131313 #131313 #f4f4f4 #f4f4f4

A few choices apply to every port:

  • Syntax colors follow davccavalcante/oxocarbon-theme-for-zed (Variation III) rather than oxocarbon.nvim: purple keywords and constants, green functions, blue strings, pink types, cyan variables and plain punctuation. The roles live in colors.syntax, so the Neovim groups and the ports agree.
  • Oxocarbon has no warm color. yellow, orange and warning are a peach #e8a27e in dark and Carbon orange #ba4e00 in light.
  • Terminal (ANSI) colors are semantic: red is base10, green is base13, blue is base11. oxocarbon.nvim's own mapping puts a blue in the red slot.
  • The light style is IBM Carbon at the steps that read on white: purple 70 keywords, green 60 functions, cyan 60 strings, magenta 60 types, teal 60 variables, gray 60 comments and #161616 text.

Development

./scripts/test   # run the test suite
./scripts/build  # regenerate extras/
./scripts/docs   # regenerate the generated tables in README.md and docs/neovim.md

The palettes are in lua/oxocarbon/colors/. Each port in extras/ has a generator in lua/oxocarbon/extra/<tool>.lua, listed in lua/oxocarbon/extra/init.lua, and ./scripts/build writes its output for both styles. CI fails when extras/ is out of date, so commit the regenerated files along with any palette or generator change.

The tests check that every generator renders both styles without unresolved placeholders or undefined colors.

The Neovim colorscheme lives at the repository root (lua/, colors/) because plugin managers load it from there. If you open this repo with lazy.nvim, it loads .lazy.lua, which reloads the theme on save and shows color swatches inline.

Credits

See NOTICE.

License

Apache-2.0

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages