ray-x/starry.nvim

github github
tree-sitter-supported-colorscheme
star 67
stars
alert-circle 0
open issues
users 1
subscribers
git-branch 0
forks
CREATED

2021-12-02

UPDATED

6 days ago


🌠🌌 Starry 🌌🌠

A collection of colorschemes for neovim (Neovim 5.0+ required), written in lua.

This first version of starry plugin was built based on

Following colorschemes were added later on:

  • Moonlight (Low contrast bluish clean and elegant color theme)
  • Dracula & Dracula_blood theme
  • Monokai (Based on Sublime Build 3)
  • Mariana (The latest Sublime (Build 4) builtin color scheme) and Mariana_lighter
  • Emerald (Low contrast green color scheme)
  • Middlenight_blue (The theme to use in middle night)
  • Earlysummer (more vivid colors) and Earlysummer_lighter
  • Darksolar (dark solarized)
  • Ukraine yellow text on blue background

Why this repo:

  • All-In-One
  • Better color contrast and easy for eyes tuning for material.nvim and moonlight.nvim
  • Colorscheme color random loading (loading from Deep ocean, Oceanic, Palenight, Lighter, Darker, moonlight, dracula, monokai, mariana, emerald, middlenight_blue, earlysummer randomly )
  • Tracking latest neovim/lsp/treesitter highlight updates. e.g. NormalFloat, FloatShadow, LspReferenceRead/Write
  • Random loading
  • Daylight mode, tune the color for daytime
  • Transparent background ready

Credits:

  • marko-cerovac For the material color palettes. The lua color scheme framework
  • shaunsingh for his work of schemes based on material

The basic color palettes of material is from material.vim

material.vim

moonlight.nvim

transparent mode

moonlight color palette

non-transparent mode

Dracula

Color palettes from github.com/dracula/vim darcula

Dracula_blood

reddish tone of dracula blood

Monokai

Color palettes from colors/monokai.vim

monokai

Mariana

The sublime 4.0 default color scheme

Color palettes from twolfson/sublime-files

mariana

mariana2

Please check README of starry.nvim project for setups.

Emerald

I heard green can reduce eye strain :-P

Middlenight_blue

middlenight

Earlysummer

Colorful colorscheme

Earlysummer

Dark solar

Bluish colorscheme

Nighttime and daytime

Some of the scheme allow choose nighttime and day time mode, you can set starry_daylight_switch to true to turn on this feature. Here is an example for nighttime and daytime for earlysummer color scheme

night time and day time

limestone

The only light colorschem

limestone colorscheme

Ukraine

Yellow text on blue background. Color palette from Ukraine nation flag.

Supported Plugins

All the plugins supported by starry.nvim, e.g. Treesitter, LSP, Telescope, NvimTree...

nvim-cmp:

image

install

Plug

Plug 'ray-x/starry.nvim'

packer:

use {'ray-x/starry.nvim', setup = function() 
-- see example setup below
vim.g.starry_italic_comments = true
...
end}

Example Setup

let starry_italic_comments = true
let starry_italic_string = false
let starry_italic_keywords = false
let starry_italic_functions = false
let starry_italic_variables = false
let starry_contrast = true
let starry_borders = false
let starry_disable_background = false  "set to true to disable background and allow transparent background
let starry_style_fix=v:true  "disable random loading
let starry_style="moonlight"  "load moonlight everytime or
let starry_darker_contrast=v:true  "darker background
let starry_deep_black=false       "OLED deep black
let starry_italic_keywords=false
let starry_italic_functions=false
let starry_set_hl=false " Note: enable for nvim 0.6+, it is faster (loading time down to 4~6s from 7~11s), but it does
" not overwrite old values and may has some side effects
let starry_daylight_switch=false  "this allow using brighter color
" other themes: dracula, oceanic, dracula_blood, 'deep ocean', darker, palenight, monokai, mariana, emerald, middlenight_blue

Toggle style

:colorscheme starry        " this allow pickup a colorscheme randomly
:colorscheme mariana        " this allow switch to mariana

or

:lua require('starry.functions').toggle_style()

or

:Starry

Change to specific style

:Starry dracula_blood
lua require('starry.functions').change_style("dracula_blood")