Dracula colorscheme for NEOVIM written in Lua
- Neovim >= 0.9.2
- Treesitter (optional)
NOTICE: if you use an older version of neovim (>=0.8.0 <0.9.2), you can pin this plugin to commit 8fc749
- LSP
- Treesitter
- nvim-compe
- nvim-cmp
- blink.cmp
- Telescope
- NvimTree
- NeoTree
- BufferLine
- Git Signs
- Lualine
- LSPSaga
- indent-blankline
- nvim-ts-rainbow
- nvim-dap-ui
- mini.indentcope
- mini.icons
- mini.statusline
Install via package manager
-- Using Packer:
use 'Mofiqul/dracula.nvim'
" Using Vim-Plug:
Plug 'Mofiqul/dracula.nvim'
-- Lua:
vim.cmd[[colorscheme dracula]]
-- or
vim.cmd[[colorscheme dracula-soft]]
" Vim-Script:
colorscheme dracula
" or:
colorscheme dracula-soft
If you are using lualine
, you can also enable the provided theme:
Make sure to set theme as 'dracula-nvim' as dracula already exists in lualine built in themes
require('lualine').setup {
options = {
-- ...
theme = 'dracula-nvim'
-- ...
}
}
If you are using LazyVim, you can add this to your plugins/colorscheme.lua file:
return {
-- add dracula
{ "Mofiqul/dracula.nvim" },
-- Configure LazyVim to load dracula
{
"LazyVim/LazyVim",
opts = {
colorscheme = "dracula",
},
},
}
The configuration must be run before colorscheme
command to take effect.
To customize the 'dracula-soft' variant, include theme = 'dracula-soft'
in the setup()
table below.
If you're using Lua:
local dracula = require("dracula")
dracula.setup({
-- customize dracula color palette
colors = {
bg = "#282A36",
fg = "#F8F8F2",
selection = "#44475A",
comment = "#6272A4",
red = "#FF5555",
orange = "#FFB86C",
yellow = "#F1FA8C",
green = "#50fa7b",
purple = "#BD93F9",
cyan = "#8BE9FD",
pink = "#FF79C6",
bright_red = "#FF6E6E",
bright_green = "#69FF94",
bright_yellow = "#FFFFA5",
bright_blue = "#D6ACFF",
bright_magenta = "#FF92DF",
bright_cyan = "#A4FFFF",
bright_white = "#FFFFFF",
menu = "#21222C",
visual = "#3E4452",
gutter_fg = "#4B5263",
nontext = "#3B4048",
white = "#ABB2BF",
black = "#191A21",
},
-- show the '~' characters after the end of buffers
show_end_of_buffer = true, -- default false
-- use transparent background
transparent_bg = true, -- default false
-- set custom lualine background color
lualine_bg_color = "#44475a", -- default nil
-- set italic comment
italic_comment = true, -- default false
-- overrides the default highlights with table see `:h synIDattr`
overrides = {},
-- You can use overrides as table like this
-- overrides = {
-- NonText = { fg = "white" }, -- set NonText fg to white
-- NvimTreeIndentMarker = { link = "NonText" }, -- link to NonText highlight
-- Nothing = {} -- clear highlight of Nothing
-- },
-- Or you can also use it like a function to get color from theme
-- overrides = function (colors)
-- return {
-- NonText = { fg = colors.white }, -- set NonText fg to white of theme
-- }
-- end,
})
local colors = require('dracula').colors()
This will return the following table (dracula
palette shown):