An open API service indexing awesome lists of open source software.

https://github.com/meccin/shizukana.nvim

๐ŸŒธ An elegant and minimalist colorscheme for Neovim
https://github.com/meccin/shizukana.nvim

lsp lua neovim neovim-theme nvim syntax-highlighting terminal-colors theme tree-sitter-highlight

Last synced: about 1 month ago
JSON representation

๐ŸŒธ An elegant and minimalist colorscheme for Neovim

Awesome Lists containing this project

README

          

# ๐ŸŒธ shizukana.nvim

A modern, soothing Neovim theme inspired by traditional Japanese aesthetics, focusing on visual comfort and accessibility.

![Neovim 0.9+](https://img.shields.io/badge/Neovim-0.9%2B-green.svg)
![Lua](https://img.shields.io/badge/Lua-100%25-blue.svg)
![WCAG AAA](https://img.shields.io/badge/WCAG-AAA-brightgreen.svg)

Shizukana - Moon
Shizukana - Dawn

## โœจ Features

- ๐ŸŽจ **Authentic Japanese Palette**: Colors inspired by sakura, torii, bamboo and traditional elements
- ๐Ÿ‘๏ธ **Visual Comfort**: Developed with color science to reduce eye strain
- โ™ฟ **WCAG AAA Accessibility**: 7:1 contrast ratio for maximum readability
- ๐ŸŒ™ **Multiple Styles**: Moon (dark), Dawn (light), Dusk (twilight)
- ๐Ÿ”ง **TreeSitter & LSP**: Full support for modern semantic highlighting
- ๐ŸŽฏ **Dim Inactive**: Smart highlighting for active window
- ๐Ÿ”Œ **10+ Plugins**: Integration with Telescope, Lualine, nvim-tree and more
- ๐Ÿš€ **Performance**: Modular architecture with lazy loading

## ๐Ÿ“ฆ Installation

### Using [lazy.nvim](https://github.com/folke/lazy.nvim)

```lua
{
"avuenja/shizukana.nvim",
lazy = false,
priority = 1000,
config = function()
require("shizukana").setup({
-- your config here
})
vim.cmd.colorscheme("shizukana")
end,
}
```

### Using [packer.nvim](https://github.com/wbthomason/packer.nvim)

```lua
use {
"avuenja/shizukana.nvim",
config = function()
require("shizukana").setup({
-- your config here
})
vim.cmd.colorscheme("shizukana")
end,
}
```

## โš™๏ธ Configuration

```lua
require("shizukana").setup({
style = "moon", -- "moon" | "dawn" | "dusk"
transparent = false, -- Transparent background
terminal_colors = true, -- Set terminal colors

dim_inactive = {
enabled = true, -- Dim inactive windows
shade = "dark",
percentage = 0.12, -- 12% darker
},

styles = {
comments = { italic = true },
keywords = { bold = true },
functions = {},
variables = {},
operators = {},
conditionals = { italic = true },
},

plugins = {
auto_detect = true, -- Auto-detect installed plugins
telescope = true,
nvim_tree = true,
lualine = true,
treesitter = true,
lsp = true,
cmp = true,
gitsigns = true,
indent_blankline = true,
},

-- Advanced callbacks
on_colors = function(colors)
-- Modify colors before applying
-- colors.bg = "#1a1a1a"
end,

on_highlights = function(highlights, colors)
-- Add custom highlights
-- highlights.MyCustomHL = { fg = colors.sakura }
end,
})
```

## ๐ŸŽจ Color Palette

### Moon (Dark Mode)

| Color | Hex | Name | Usage |
| ----- | --------- | -------- | ---------------------- |
| ๐ŸŒธ | `#ffc0d9` | Sakura | Numbers, booleans |
| โ›ฉ๏ธ | `#ff757f` | Torii | Errors, constants |
| ๐ŸŽ‹ | `#9ece6a` | Bamboo | Strings, git additions |
| ๐Ÿ’  | `#7aa2f7` | Sumi | Functions, links |
| ๐ŸŸฃ | `#bb9af7` | Murasaki | Keywords, statements |
| ๐ŸŒ• | `#e0af68` | Yamabuki | Types, warnings |

### Dawn (Light Mode)

| Color | Hex | Name | Usage |
| ----- | --------- | -------- | ---------------------- |
| ๐ŸŒธ | `#b4637a` | Sakura | Numbers, booleans |
| โ›ฉ๏ธ | `#d20f39` | Torii | Errors, constants |
| ๐ŸŽ‹ | `#568a3a` | Bamboo | Strings, git additions |
| ๐Ÿ’  | `#286983` | Sumi | Functions, links |
| ๐ŸŸฃ | `#907aa9` | Murasaki | Keywords, statements |
| ๐ŸŒ• | `#ea9d34` | Yamabuki | Types, warnings |

### Dusk (Twilight Mode)

| Color | Hex | Name | Usage |
| ----- | --------- | -------- | ---------------------- |
| ๐ŸŒธ | `#d4a5b5` | Sakura | Numbers, booleans |
| โ›ฉ๏ธ | `#e06b74` | Torii | Errors, constants |
| ๐ŸŽ‹ | `#8fb573` | Bamboo | Strings, git additions |
| ๐Ÿ’  | `#6494c4` | Sumi | Functions, links |
| ๐ŸŸฃ | `#a594c7` | Murasaki | Keywords, statements |
| ๐ŸŒ• | `#d4a76a` | Yamabuki | Types, warnings |

## ๐Ÿ› ๏ธ Built-in Commands

```vim
:ShizukanaReload " Reload theme (useful during development)
:ShizukanaPalette " Show all palette colors
:ShizukanaContrast " Check WCAG contrast for all colors
:ShizukanaStyle " Toggle between moon/dawn/dusk
:ShizukanaExtras " Generate all extras passing style
:ShizukanaExtrasAll " Generate all extras to all styles (base16, starship, etc.)
```

## ๐Ÿ“š Project Structure

```
shizukana.nvim/
โ”œโ”€โ”€ lua/
โ”‚ โ””โ”€โ”€ shizukana/
โ”‚ โ”œโ”€โ”€ init.lua # Theme core
โ”‚ โ”œโ”€โ”€ palette.lua # Color definitions
โ”‚ โ”œโ”€โ”€ util.lua # Utility functions
โ”‚ โ””โ”€โ”€ groups/
โ”‚ โ”œโ”€โ”€ init.lua # Base highlights
โ”‚ โ”œโ”€โ”€ treesitter.lua # TreeSitter groups
โ”‚ โ”œโ”€โ”€ lsp.lua # LSP semantic tokens
โ”‚ โ””โ”€โ”€ plugins.lua # Plugin integrations
โ””โ”€โ”€ colors/
โ””โ”€โ”€ shizukana.lua # Entry point
```

## ๐Ÿ”ฌ Science Behind the Theme

### WCAG Accessibility

- **AAA Standard**: Minimum 7:1 contrast ratio for normal text
- **AA Standard**: Minimum 4.5:1 contrast (exceeded by all colors)
- Relative luminance algorithm implemented for validation

### Visual Comfort

- **Background #1a1b26**: Avoids pure black to reduce excessive contrast
- **Pastel Colors**: Reduces visual vibration and halation
- **Color Temperature**: Optimized between 2700K-4000K for comfort

### Japanese Inspiration

- **Sakura (ๆกœ)**: Soft pink of cherry blossoms
- **Torii (้ณฅๅฑ…)**: Sacred red of Shinto gates
- **Yamabuki (ๅฑฑๅน)**: Golden yellow of yamabuki flowers
- **Bamboo (็ซน)**: Green of young bamboo
- **Sumi (ๅขจ)**: Blue of traditional ink
- **Murasaki (็ดซ)**: Historical noble purple

## ๐Ÿค Contributing

Contributions are welcome! Please:

1. Fork the project
2. Create your feature branch (`git checkout -b feature/amazing`)
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing`)
5. Open a Pull Request

## ๐Ÿ“ License

MIT License - see [LICENSE](LICENSE) for details.

## ๐Ÿ™ Acknowledgments

- Inspired by Japanese culture and aesthetics
- Based on WCAG accessibility research
- Influenced by themes like [tokyonight.nvim](https://github.com/folke/tokyonight.nvim), [kanagawa.nvim](https://github.com/rebelot/kanagawa.nvim), and [catppuccin](https://github.com/catppuccin/nvim)

---

**Made with ๐ŸŒธ for developers who value their eyes**

[Report Bug](https://github.com/avuenja/shizukana.nvim/issues) โ€ข
[Request Feature](https://github.com/avuenja/shizukana.nvim/issues)