Skip to content

A pastelly Monokaiesque colorscheme for vim and neovim.

License

Notifications You must be signed in to change notification settings

shawilly/ponokai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Β Β Β Β 

Β Β Β Β Β Β Β Β 


A pastel twist on the iconic Monokai, crafted for comfort and style.


vim.g.ponokai_style = "default"
Screenshot 2024-05-31 at 21 07 13
vim.g.ponokai_style = "kitty"
Screenshot 2024-05-31 at 19 59 50

Β Β Β Β 

Warning

🌊 ⚠️ more styles coming soon ⚠️ 🌊


🎨 From Monokai to Ponokai

Inspired by the classic Monokai theme and seeking a less eye-straining alternative, I transitioned to Sonokai. Despite the improvements, my quest for the perfect pastel blend led me to craft Ponokai, merging the best of Sonokai with the soothing palette of modern themes like catppuccin.

Ponokai is a direct fork of Sonokai, maintaining all its features and continuing to evolve with fresh, new pastel features; like kitty inspired by catppuccin.

🌟 Features

  • Perfect Contrast: High enough to pop, soft enough to relax.
  • Vivid, Pastel Colors: A palette that's easy on the eyes.
  • Customization Galore: Tailor it to your taste.
  • Extensive Support: Works beautifully with common file types and plugins.
  • Advanced Syntax Highlighting:
    • Tree-sitter support for precise highlighting.
    • Semantic highlighting to distinguish code by meaning.
    • Italic support for that extra flair.

Installation

Important

For better syntax highlighting support, consider installing one of the following plugins additionally to this colorscheme:

vim-polygot

nvim-treesitter


NeoVim

lazy.nvim (recommended)

   {
      'shawilly/ponokai',
      lazy = false,
      priority = 1000,
      config = function()
        -- Optionally configure and load the colorscheme
        -- directly inside the plugin declaration.
        vim.g.sonokai_enable_italic = true
        vim.cmd.colorscheme('ponokai')
      end
    }

[!TIP] > EXAMPLE

{
 "shawilly/ponokai",
 priority = 1000,
 config = function()
      vim.g.ponokai_transparent_background = "1"
  vim.g.ponokai_enable_italic = "1"
  vim.g.ponokai_style = "kitty"
  vim.cmd.colorscheme("ponokai")
 end,
}

VIM

Via Plugin Manager

Using vim-plug:

Plug 'shawilly/ponokai'

Via Pack Feature

  1. Create a new directory:

    mkdir -p ~/.vim/pack/colors/opt
  2. Clone the repository:

    git clone --depth 1 https://github.com/shawilly/ponokai.git ~/.vim/pack/colors/opt/ponokai
  3. Generate help tags:

    :helptags ~/.vim/pack/colors/opt/ponokai/doc/
  4. Add to your vimrc:

    packadd! ponokai

Manually

  1. Clone the repository:

    git clone --depth 1 https://github.com/shawilly/ponokai.git
  2. Copy files to your Vim directory: sh cp /path/to/ponokai/autoload/ponokai.vim ~/.vim/autoload/ cp /path/to/ponokai/colors/ponokai.vim ~/.vim/colors/ cp /path/to/ponokai/doc/ponokai.txt ~/.vim/doc/ vim -c 'helptags ~/.vim/doc/' cp /path/to/ponokai/autoload/airline/themes/ponokai.vim ~/.vim/autoload/airline/themes/ cp /path/to/ponokai/autoload/lightline/colorscheme/ponokai.vim ~/.vim/autoload/lightline/colorscheme/ cp /path/to/ponokai/lua/lualine/themes/ponokai.lua ~/.config/nvim/lua/lualine/themes/


Usage

Vim

Add the following to your vimrc:

if has('termguicolors')
  set termguicolors
endif

let g:ponokai_style = 'kitty'
let g:ponokai_better_performance = 1

colorscheme ponokai

To apply temporarily:

:colorscheme ponokai

Airline

let g:airline_theme = 'ponokai'

Apply without reloading:

:AirlineTheme ponokai

Lightline

let g:lightline = {}
let g:lightline.colorscheme = 'ponokai'

Apply without reloading:

:let g:lightline.colorscheme = 'ponokai'
:call lightline#init()
:call lightline#colorscheme()

Lualine

require'lualine'.setup {
  options = {
    theme = 'ponokai'
  }
}

Apply without reloading:

:lua require'lualine'.setup {options = {theme = 'ponokai'}}

Configuration

Option Description Type Values Default
g:ponokai_style Set the style of this color scheme. String 'default', 'kitty', 'vampire' 'default'
g:ponokai_disable_italic_comment Disable italic in comments. Number 0, 1 0
g:ponokai_enable_italic Enable italic in this color scheme. Number 0, 1 0
g:ponokai_cursor Customize the cursor color (GUI clients only). String 'auto', 'red', 'orange', 'yellow', 'green', 'blue', 'purple' 'auto'
g:ponokai_transparent_background Use a transparent background. Number 0, 1, 2 0
g:ponokai_dim_inactive_windows Dim inactive windows (Neovim only). Number 0, 1 0
g:ponokai_menu_selection_background Customize the background color of PmenuSel and WildMenu. String 'blue', 'green', 'red' 'blue'
g:ponokai_spell_foreground Color the foreground of spell. String 'none', 'colored' 'none'
g:ponokai_show_eob Show EndOfBuffer. Number 1, 0 1
g:ponokai_float_style Style for floating windows. String 'bright', 'dim' 'bright'
g:ponokai_diagnostic_text_highlight Highlight background of error/warning/info/hint texts. Number 0, 1 0
g:ponokai_diagnostic_line_highlight Highlight lines for error/warning/info/hint. Number 0, 1 0
g:ponokai_diagnostic_virtual_text Adjust virtual text highlighting for error/warning/info/hint. String 'grey', 'colored', 'highlighted' 'grey'
g:ponokai_current_word Control behavior of the word under the current cursor. String 'grey background', 'bold', 'underline', 'italic' 'grey background' (non-transparent), 'bold' (transparent)
g:ponokai_disable_terminal_colors Disable terminal colors provided by this color scheme. Number 0, 1 0
g:ponokai_lightline_disable_bold Disable bold in the lightline color scheme. Number 0, 1 0
g:ponokai_better_performance Reduce loading time by loading part of the code on demand. Number 0, 1 0
g:ponokai_colors_override Override the color palette. Dictionary - {}
Example: - -
```
let g:ponokai_colors_override = {'bg0': ['#1e222a', '235'], 'bg2': ['#282c34', '236']}
colorscheme ponokai
```

Β Β Β Β 

Tip

Example

if has('termguicolors')
  set termguicolors
endif

let g:ponokai_style = 'andromeda'
let g:ponokai_better_performance = 1

colorscheme ponokai
let g:lightline = {'colorscheme' : 'ponokai'}

FAQ

The colors don't match the screenshots

  1. Ensure true colors are enabled:

    set termguicolors
  2. Verify terminal emulator supports true colors using this script.

  3. If using tmux, override default true colors: How to use true colors in vim under tmux?

Configuration options don't work

Ensure options are placed before colorscheme ponokai.

Errors when installing with pack feature

Add packadd! ponokai before applying the color scheme.

Enable cursive italic keywords

  1. Install a font that supports cursive italics, e.g., Sainnhe Fonts.

  2. Enable italic keywords:

    let g:ponokai_enable_italic =

πŸ’‘ Inspirations

Ponokai is inspired by:

πŸ‘€ Maintainers

Currently, it's just me, shawilly πŸ₯‡... but collaborators are always welcome!

πŸ“„ License

Ponokai is open-sourced under the MIT license.

🌊 appreciate all stars, and contributions 🌊