Home

Awesome

🌠🌌 Starry 🌌🌠

A collection of colorschemes for neovim (Neovim 8.0+ required), written in lua. This first version of starry plugin was built based on

Following colorschemes were added later on:

Why this repo:

Credits:

The basic color palettes of material is from material.vim

material.vim

<img width="1308" alt="material" src="https://user-images.githubusercontent.com/1681295/187317446-4da617f5-05b5-437a-b44c-9bc5307ad7e5.png">

moonlight.nvim

transparent mode

<img width="1115" alt="moonlight" src="https://user-images.githubusercontent.com/1681295/186778877-f29aeed9-15f2-4622-b568-a7a6656923b4.png">

moonlight color palette

non-transparent mode

<img width="1175" alt="moonlight" src="https://user-images.githubusercontent.com/1681295/186844098-19fc0454-f84a-41d3-b8f6-ac667212efb8.png">

Dracula

Color palettes from github.com/dracula/vim darcula

<img width="1027" alt="dracula" src="https://user-images.githubusercontent.com/1681295/187320632-c45ce928-2446-49a3-bea3-b78697d53590.png">

Dracula_blood

reddish tone of dracula blood <img width="1035" alt="dracula_blood" src="https://user-images.githubusercontent.com/1681295/187320415-0f1b83ea-854f-4ed6-9183-1c41c7e7c7a5.png">

Monokai

Color palettes from colors/monokai.vim

monokai

<img width="1035" alt="monokai" src="https://user-images.githubusercontent.com/1681295/187320860-d1e00aa0-f0ce-439c-85c5-5fac7915a441.png">

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

<img width="1445" alt="emerald" src="https://user-images.githubusercontent.com/1681295/187136363-4338d102-12f1-4442-8074-580493d829c9.png">

Middlenight_blue

middlenight

Earlysummer

Colorful colorscheme

Earlysummer

Dark solar

Bluish colorscheme <img width="1367" alt="darksolar" src="https://user-images.githubusercontent.com/1681295/185341657-8dd31ed7-e9de-4710-8a20-c3d85ca02c1c.png">

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. <img width="780" alt="image" src="https://user-images.githubusercontent.com/1681295/161696426-20f9a0a5-c62b-42e7-923a-6392a587e058.png">

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

Note: vim way of setting up global variable is deprecated, please use lua way to setup color scheme

local config = {
  border = false, -- Split window borders
  italics = {
    comments = false, -- Italic comments
    strings = false, -- Italic strings
    keywords = false, -- Italic keywords
    functions = false, -- Italic functions
    variables = false -- Italic variables
  },

  contrast = { -- Select which windows get the contrast background
    enable = true, -- Enable contrast
    terminal = true, -- Darker terminal
    filetypes = {}, -- Which filetypes get darker? e.g. *.vim, *.cpp, etc.
  },

  text_contrast = {
    lighter = false, -- Higher contrast text for lighter style
    darker = false -- Higher contrast text for darker style
  },

  disable = {
    background = false, -- true: transparent background
    term_colors = false, -- Disable setting the terminal colors
    eob_lines = false -- Make end-of-buffer lines invisible
  },

  style = {
    name = 'moonlight', -- Theme style name (moonlight, earliestsummer, etc.)
    -- " other themes: dracula, oceanic, dracula_blood, 'deep ocean', darker, palenight, monokai, mariana, emerald, middlenight_blue
    disable = {},  -- a list of styles to disable, e.g. {'bold', 'underline'}
    fix = true,
    darker_contrast = false, -- More contrast for darker style
    daylight_swith = false, -- Enable day and night style switching
    deep_black = false, -- Enable a deeper black background
  },

  custom_colors = {
    variable = '#f797d7',
  },
  custom_highlights = {
    LineNr = { fg = '#777777' },
    Idnetifier = { fg = '#ff4797' },
  }
}
require('starry').setup(config)

Toggle style

```vim
: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")

override default color group, please also check material.nvim Configuration Example:

local starry = require 'starry'
local colors = require 'starry.colors'

starry.setup{
    custom_highlights = {
        LineNr = { bg = '#9F809E' }
        CursorLine = { fg = colors.editor.constrast , underline = true },

        -- This is a list of possible values
        -- override @string of treesitter
        @string = {
            fg = "#339922", -- foreground color
            bg = "NONE", -- background color
            sp = "#779988", -- special color (for colored underlines, undercurls...)
            bold = false, -- make group bold
            italic = false, -- make group italic
            underline = false, -- make group underlined
            undercurl = false, -- make group undercurled
            underdot = false, -- make group underdotted
            underdash = false -- make group underslashed
            striketrough = false, -- make group striked trough
            reverse = false, -- reverse the fg and bg colors
            link = "Comment" -- link to some other highlight group
        }
    },

    -- Custom colors must be a function that takes in the default colors table as
    -- a paramter, and then modifies them.
    -- To se the available colors, see lua/material/colors/init.lua
    custom_colors = function(colors)
        colors.editor.bg = "#SOME_COLOR"
        colors.main.purple = "#SOME_COLOR"
        colors.lsp.error = "#SOME_COLOR"
    end
}
vim.cmd('colorscheme oceanic')