dracula.nvim icon indicating copy to clipboard operation
dracula.nvim copied to clipboard

No highlighting on git diffs on theme dracula on neovim

Open eduardoarandah opened this issue 2 years ago • 5 comments
trafficstars

Plugin: fugitive Command: Gdiffsplit HEAD~1 Plugin manager: lazy

Expecting: diff hightlighting

image

When changing to built-in theme slate it works

:colorscheme slate

image

Tried: loading theme first by setting priority in lazy as in the example

https://github.com/folke/lazy.nvim#examples

	{
		"Mofiqul/dracula.nvim",
		lazy = false, -- make sure we load this during startup if it is your main colorscheme
		priority = 1000, -- make sure to load this before all the other start plugins
		config = function()
			vim.g.rehash256 = 1
			vim.api.nvim_cmd({
				cmd = "colorscheme",
				args = { "dracula" },
			}, {})
		end,
	},

However... when I delete a block in my working copy, then hightlighting works.

image

Kind of solved:

I manually added this and it worked:

highlight DiffChange cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=gray
highlight DiffText   cterm=bold ctermfg=10 ctermbg=88 gui=none guifg=bg guibg=orange

image

eduardoarandah avatar Feb 27 '23 19:02 eduardoarandah

Diffview also has no highlighting for changed code (added/deleted has green/red background). It works well in Tokyonight theme. It uses darken method: https://github.com/folke/tokyonight.nvim/blob/735e94f3b36ae8b0caa30d1806eb2fa1c3619ca6/lua/tokyonight/colors.lua#LL119C8-L119C8 It highlights only the background with a darker color. Code has still all of its colors.

lucasrabiec avatar Mar 01 '23 19:03 lucasrabiec

I added the necessary overrides to make it look better:

overrides = {
  DiffAdd = { bg = darken(colors.bright_green, 0.15) },
  DiffDelete = { fg = colors.bright_red },
  DiffChange = { bg = darken(colors.comment, 0.15) },
  DiffText = { bg = darken(colors.comment, 0.50) },
  illuminatedWord = { bg = darken(colors.comment, 0.65) },
  illuminatedCurWord = { bg = darken(colors.comment, 0.65) },
  IlluminatedWordText = { bg = darken(colors.comment, 0.65) },
  IlluminatedWordRead = { bg = darken(colors.comment, 0.65) },
  IlluminatedWordWrite = { bg = darken(colors.comment, 0.65) },
},

I copied darken methods and other needed helpers from Tokyonight.

Illuminate also needs to be overwritten because dracula.nvim doesn't color it by default.

lucasrabiec avatar Mar 01 '23 21:03 lucasrabiec

I will implement it this weekend

Mofiqul avatar Mar 02 '23 05:03 Mofiqul

Looking forward to this change :) meanwhile using @lucasrabiec override configuration.

Drowze avatar Oct 05 '23 14:10 Drowze

Would also love to see this change :D

and-rose avatar May 07 '24 06:05 and-rose