Mofiqul / dracula.nvim

Dracula colorscheme for neovim written in Lua
MIT License
594 stars 103 forks source link

Basic LSP setup not supported by colorscheme #29

Closed stelcodes closed 2 years ago

stelcodes commented 2 years ago

Hi there, love this colorscheme. It's seriously amazing. I've noticed that it doesn't yet support the diagnostic highlights that are used by a basic neovim LSP setup. For example: 2022-01-26_18:59:57_screenshot

2022-01-26_18:00:27_screenshot

Here's my whole LSP setup:

  use {
    'neovim/nvim-lspconfig',
    config = function()
      local lspconfig = require('lspconfig')
      local on_attach = function(_, bufnr)
        local function bufmap(mode, binding, action) vim.api.nvim_buf_set_keymap(bufnr, mode, binding, action, {noremap = true}) end
        local function bufoption(...) vim.api.nvim_buf_set_option(bufnr, ...) end
        bufoption('omnifunc', 'v:lua.vim.lsp.omnifunc')
        bufmap('n', '<leader>lD', '<cmd>lua vim.lsp.buf.declaration()<CR>')
        bufmap('n', '<leader>ld', '<cmd>lua vim.lsp.buf.definition()<CR>')
        bufmap('n', '<leader>lk', '<cmd>lua vim.lsp.buf.hover()<CR>')
        bufmap('n', '<leader>li', '<cmd>lua vim.lsp.buf.implementation()<CR>')
        bufmap('n', '<leader>lK', '<cmd>lua vim.lsp.buf.signature_help()<CR>')
        bufmap('n', '<leader>lr', '<cmd>lua vim.lsp.buf.rename()<CR>')
        bufmap('n', '<leader>lf', '<cmd>lua vim.lsp.buf.formatting()<CR>')
        bufmap('v', '<leader>lf', '<cmd>lua vim.lsp.buf.range_formatting({})<CR>')
      end

      local servers = { 'clojure_lsp', 'sumneko_lua' }
      for _, lsp in ipairs(servers) do
        lspconfig[lsp].setup {
          on_attach = on_attach,
          flags = {
            debounce_text_changes = 150,
          }
        }
      end

      vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "single" })
      vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "single" })

    end
  }

As you can see, pretty basic. The issue seems to be that the basic LSP setup uses the Diagnostic* highlight groups which aren't currently supported by this colorscheme. Here's the docs on them: https://neovim.io/doc/user/diagnostic.html

You can see that lualine actually defaults to these highlight groups for LSP releated colors: https://github.com/nvim-lualine/lualine.nvim/blob/b18b7ee8acf877a603c21b28b9a4d9c08bbd9594/lua/lualine/components/diagnostics/config.lua#L27