One.kak - One Light and One Dark colorschemes for Kakoune

TL;DR: Atom “One” color schemes for Kakoune, with an additional personalized scheme.

Repository

I have been using Kakoune for just under a month, and having been absolutely loving it so far! This really is very close to my dream editor.

However, I was unable to find my preferred colorscheme for Kakoune. This very quickly led me to learning how to make colorschemes, and putting in far too much time (>8 hours) getting it to look just right. So I present to you: one.kak!

This plugin includes one-light, one-dark, and one-darker colorschemes. The first two schemes match the originals as closely as possible. one-darker is a personalized flavor of one-dark, with enhanced readability and some syntax changes to suit my personal preferences.

The schemes also include support for a few plugins out of the box:

  • kak-lsp
    • Parameters are underlined
    • Inlay hints are colored as comments
    • Enums are cyan
    • These features require configuring your kak-lsp.toml to display semantic tokens
  • kakoune-phantom-selection
    • Phantom selections use the secondary selection color, and add an underline

Enjoy!

Screenshots

Scheme screenshots

One Light

One Dark

One Darker

Feature screenshots

Alpha-blended selections

Obvious secondary selections

Phantom selections

14 Likes

Those look quite good, thanks for sharing !

1 Like

Wow, first theme I have thought about using in a long time, one-light! Going to give it a go! Semantic tokens are exciting!

2 Likes

Very nice, very-darks is now my default. Thank you!

1 Like

Thanks to those who put in a kind word! I have made some improvements to the schemes since the original post:

  • Added a unique selection color for phantom selections
  • Added kak-lsp error and warning colors
  • Added a custom Ruler face for use with column rulers
  • Changed parameters to be italicized instead of underlined in one-light and one-dark
  • Unified selection colors with their respective theme colors
  • Matching symbols are bolded and underlined, instead of being highlighted orange
  • Fixed that the one-light oranges were reversed

Here is a preview of the kak-lsp error lens colors and symbol underlining:

And the new selection colors:

Enjoy!

1 Like

I have updated the colorschemes to support the brand new colored curly underline feature. There are few requirements though:

  • You must build kak from master, as it was just committed today and is not in an official release yet.
  • You must invoke the one-enable-curly-underlines command after enabling the colorscheme.
  • Your terminal emulator must support the feature.

If all the requirements are met, you get very nice linting underlines:

I just want to say thank you for this well-thought out colorscheme! It’s not just a copy of a good theme, the effort you put into making the details right shows! I love the alpha-blended highlighting and how you maintain a good amount of contrast with the shifts in selection and cursor color while keeping different states easily distinguished.

For anyone who’s interested, I took the time to setup Andreyorst’s powerline to match in my kakrc:

plug "andreyorst/powerline.kak" defer powerline %{
  powerline-format global 'git bufname line_column mode_info position'} defer powerline_one_dark %{
  powerline-theme one-dark
} config %{
  powerline-start
}

colorscheme "one-dark"

provide-module powerline_one_dark %{
  set-option -add global powerline_themes "one-dark"
  define-command -hidden powerline-theme-one-dark %{
    declare-option -hidden str powerline_color03 "rgb:373c47" # bg: bufname
    declare-option -hidden str powerline_color00 "rgb:abb2bf" # fg: bufname
    declare-option -hidden str powerline_color04 "rgb:abb2bf" # bg: git
    declare-option -hidden str powerline_color02 "rgb:373c47" # fg: git
    declare-option -hidden str powerline_color01 "rgb:abb2bf" # bg: position
    declare-option -hidden str powerline_color05 "rgb:373c47" # fg: position
    declare-option -hidden str powerline_color09 "rgb:abb2bf" # bg: line-column, lsp
    declare-option -hidden str powerline_color06 "rgb:373c47" # fg: line-column, lsp
    declare-option -hidden str powerline_color07 "rgb:373c47" # fg: mode-info
    declare-option -hidden str powerline_color08 "rgb:373c47" # base background
    declare-option -hidden str powerline_next_bg %opt{powerline_color08}
    declare-option -hidden str powerline_base_bg %opt{powerline_color08}
  }
}

3 Likes

PSA: The URL for this plugin has changed. If you are using a plugin manager, update the URL to https://git.sr.ht/~raiguard/kak-one.

2 Likes

PSA version 2: I moved back to GitHub for various reasons, so users should point their plugin managers to https://github.com/raiguard/kak-one now. Sorry for the confusion!

I also added 16-color variants for each theme that use your terminal colorscheme.

1 Like