🍁 Maple Dark for Neovim
A colorful dark theme with medium brightness and low saturation, designed for comfortable long coding sessions.
Inspired by the VS Code Maple Theme.
- 🎨 Carefully crafted color palette with medium brightness and low saturation
- 🌙 Dark background optimized for reduced eye strain
- 🔤 Semantic syntax highlighting with distinct colors for different code elements
- 🔧 Full Treesitter support for modern syntax highlighting
- 📦 LSP integration with semantic tokens and diagnostics
- 🎯 Plugin support for popular Neovim plugins:
- blink.cmp
- fzf-lua
- oil.nvim
- conform.nvim
- lazy.nvim
- mason.nvim
- gitsigns.nvim
- telescope.nvim (fallback)
- which-key.nvim
- notify.nvim
- mini.nvim
- noice.nvim
Using lazy.nvim
{
'abhilash26/mapledark.nvim',
lazy = false,
priority = 1000,
config = function()
vim.cmd.colorscheme('mapledark')
end,
}Using packer.nvim
use {
'abhilash26/mapledark.nvim',
config = function()
vim.cmd.colorscheme('mapledark')
end
}Plug 'abhilash26/mapledark.nvim'Then in your init.vim or init.lua:
colorscheme mapledark#1a1a1b- Main background (darker)#1e1e1f- Secondary background#2a2a2b- Selection background#333333- Lighter background (popups, statusline)
#cbd5e1- Main foreground#f3f2f2- Lighter foreground#787c99- Darker foreground (comments, line numbers)
- 🔴
#edabab- Red (errors, exceptions) - 🟠
#eecfa0- Orange (warnings, constants) - 🟡
#ffe8b9- Yellow (types, classes) - 🟢
#a4dfae- Green (strings, success) - 🔵
#8fc7ff- Blue (functions, info) - 🟣
#d2ccff- Magenta (keywords, statements) - 🩵
#a1e8e5- Cyan (special, modules) - ⚡
#bafffe- Accent (punctuation, delimiters)
After installation, activate the theme:
-- Simple activation
vim.cmd.colorscheme('mapledark')-- Load with options
require('mapledark').setup({
-- Disable plugin highlights for faster load times
disable_plugin_highlights = false,
-- Load only specific plugin highlights (improves performance)
plugins = { 'lazy', 'mason', 'telescope' },
-- Force reload (clears cache)
force = false,
})-- Load specific plugin highlights only when needed
vim.api.nvim_create_autocmd('FileType', {
pattern = 'lazy',
callback = function()
require('mapledark').load_plugin('lazy')
end,
})-- Clear cache and reload theme
require('mapledark').reload()
-- Clear cache only
require('mapledark').clear_cache()colorscheme mapledarkMaple Dark is optimized for performance with several caching mechanisms:
- Color Caching: Color palette is computed once and cached
- Highlight Caching: Theme won't reload if already loaded (unless forced)
- Plugin Lazy Loading: Plugin highlights are loaded asynchronously
- Modular Plugin Support: Load only the plugin highlights you need
- Read-only Colors: Color table is protected to prevent accidental modifications
These optimizations ensure fast startup times even with extensive plugin support.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by the VS Code Maple Theme
- Built for the Neovim community
Made with 🍁 by abhilash26