rafamadriz/neon

github github
treesitter-colorschemes plugin
star 49
stars
alert-circle 0
open issues
users 1
subscribers
git-branch 2
forks
CREATED

2021-05-07

UPDATED

4 days ago

packer

require('packer').startup(function()
  use 'rafamadriz/neon'
end)

paq

require "paq" { 
  'rafamadriz/neon'
}

Default

2021-May-22_2

Doom

2021-May-22_1

Dark

2021-May-22_3

Light

2021-May-22_4

✨ Features

  • Customizable.
  • Made to work with treesitter.
  • Support for built-in LSP.
  • Support for some of the most popular plugins.
  • Soft contrast for eye protection.
  • Multiple options to enable italic and bold text.
  • Vivid colors.

Requirements

NOTE: doesn't support Vim, it uses lua.

📦 Installation

Use your favorite plugin manager. Example packer:

use "rafamadriz/neon"

🚀 Usage

Neovim

To set the theme you can use the following.

vim.cmd[[colorscheme neon]]

To see all the available options do :help neon-configuration in Neovim

Lualine

To enable the lualine theme, put this somewhere in your config:

require('lualine').setup {
  options = {
    -- ... your lualine config
    theme = 'neon'
    -- ... your lualine config
  }
}

⚙️ Configuration:

Note: the configuration options should be placed before vim.cmd[[colorscheme neon]]

To see all the options from neovim, you can execute :help neon.txt

Option Default Description
neon_style "default" There's three options to choose from, default, doom, dark and light
neon_italic_comment true Italic text for comments
neon_italic_keyword false Applies to conditionals and keywords like for, do, while, loops etc.
neon_italic_boolean false true and false
neon_italic_function false Applies to function (calls and definitions), method (calls and definitions) and built-in functions.
neon_italic_variable false Applies to variable names that are defined by the languages, like this or self. And any variable name that does not have another highlight group.
neon_bold false Applies to error and warning messages, functions (calls and definitions), lsp virtual text, etc.
neon_transparent false Applies no background color to certain highlight groups.

Example config:

vim.g.neon_style = "default"
vim.g.neon_italic_keyword = true
vim.g.neon_italic_function = true
vim.g.neon_transparent = true

vim.cmd[[colorscheme neon]]

FAQ

It doesn't work as expected.

  1. This color scheme is mainly designed for true colors, make sure of setting: vim.o.termguicolors = true

  2. To test if your terminal supports true colors, use the following script.

  3. This colorscheme is made to look good with treesitter, if you don't have it, it won't look the same as the screenshoots.

How to enable cursive italic keywords?

  1. Install a font that supports italics, for example JetBrains-NerdFont is an excellent font.

  2. Set the correct italic font for your terminal of choice.

  3. Enable italic text. E.g. vim.g.neon_italic_keyword = true

Supported plugins:

TODO

  • Add transparent option.
  • Add support for terminals (kitty, alacritty, etc.)

Acknowledgments

Inspired by Doom One and Edge