Skip to content

Latest commit

ย 

History

95 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

luna.nvim

a neovim colorscheme descended from fairyfloss and sister to moonqueen.nvim. built with lush.

foot

palette

key hex
base base #271B2D
surface surface #372640
overlay overlay #483253
text text #EAD9F2
light light #F8EBFF
mars mars #F07575
jupiter jupiter #D1F075
venus venus #F0D175
mercury mercury #7DB2E8
saturn saturn #B27DE8
moon moon #E87DB3
low low #291D2F
med med #523C5D
high high #7A5C8A

features

plugins

ports

installation

lua

with lazy:

return {
    "https://codeberg.org/sailorfe/luna.nvim",
--    init = function()
--        vim.cmd.colorscheme("luna")
--    end,
    opts = {
        transparent = false, -- default
        overrides = {
            keyword = { fg = #D1F075 },
            ["@boolean"] = { link = 'Special' ,}
        }
    }
}

alternately, you can skip init = function() and declare vim.cmd.colorscheme('luna') somewhere in your init.lua after plugin load.

it has just two options:

name type default description
transparent boolean false sets Normal and linked hl groups to none to show terminal background.
overrides table / boolean false override any hl groups you don't like or to add new ones.

vimscript

with vim-plug:

Plug 'https://codeberg.org/sailorfe/luna.nvim', { 'as': 'luna', 'rtp': 'extras/vim' }

or you can place extras/colors/luna.vim anywhere in your runtimepath:

curl -LO https://codeberg.org/sailorfe/luna.nvim/raw/branch/main/extras/vim/colors/luna.vim

then set colorscheme with colorscheme luna either in your vimrc or temporarily with a command:

" .vimrc
set background=dark
syntax on
colorscheme luna

contributing

Note

this repository is mirrored to github from codeberg. make pull requests to codeberg.

adding plugins

  1. install lush and shipwright. you should edit scripts/init.lua to point to your installations, or rely on a package manager. for example, lazy's bootstrap places plugins in ~/.local/share/nvim/lazy.
  2. edit with nvim lua/luna/lush.lua and preview with :Lushify. append new highlight groups to the bottom of the theme table.
  3. run make build at project root to generate lua/luna/theme.lua.
  4. commit lua/luna/{lush.lua,theme.lua} with a message like feat(plug): $PLUGIN.

adding ports

theme generation is helped by the Makefile at project root.

  1. (optional) ensure palette.json is up to date: make palette.
  2. create templates/$APP.* using keys from palette.json:
    • for hex codes prefixed with hashes (#E87DB3), use [[key]]. examples: alacritty.toml, wezterm.toml.
    • for hex codes without hashes (E87DB3), use {{key}}. examples: foot.ini, tty.conf.
    • for templates that take rgba or hsl, you can use [[key-rgb]] or [[key-hsl]]. example: zathura.
  3. add the output path $APP/luna.* to the outputs dictionary in scripts/generator.py.
  4. run the python script: make generate.
  5. commit your input template, scripts/generator.py, and output extra with a message like feat(extra): $APP.

acknowledgments

  • fairyfloss for inspiring this journey into colorschemes to begin with, and the low-contrast, magical girl vibes
  • evangelion.nvim for weeb + build.sh inspiration + the whole lua project structure and opts logic
  • tokyonight.nvim for repository structure

About

๐Ÿˆโ€โฌ›๐Ÿ”ฎ mystical neovim colorscheme from planet mau (codeberg mirror)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages