maxmx03 / solarized.nvim

Solarized is a sixteen color palette (eight monotones, eight accent colors) designed for use with terminal and gui applications. Solarized port for Neovim
https://ethanschoonover.com/solarized/
MIT License
146 stars 16 forks source link

Symbol highlighting and autocomplete window #95

Open sebiwi opened 2 months ago

sebiwi commented 2 months ago

Hi, thanks for the colorscheme!

It's beautiful but there are certain colors that look odd. For example, the current symbol highlight looks like this:

Screenshot 2024-09-16 at 10 39 42

I think this should look light gray.

The autocomplete window looks like this:

Screenshot 2024-09-16 at 10 40 56

I think it should look a different shade kind of teal.

There is no highlighting block in matching brackets:

Screenshot 2024-09-16 at 10 42 31

This is my configuration:

  {
    "maxmx03/solarized.nvim",
    opts = {
      variant = "summer", -- "spring" | "summer" | "autumn" | "winter" (default)
      transparent = {
        enabled = true, -- Master switch to enable transparency
        pmenu = true, -- Popup menu (e.g., autocomplete suggestions)
        normal = true, -- Main editor window background
        normalfloat = true, -- Floating windows
        neotree = true, -- Neo-tree file explorer
        nvimtree = true, -- Nvim-tree file explorer
        whichkey = true, -- Which-key popup
        telescope = true, -- Telescope fuzzy finder
        lazy = false, -- Lazy plugin manager UI
        mason = false, -- Mason manage external tooling
      },
    },
  },
maxmx03 commented 2 months ago

The autocomplete window looks like this:

to fix autocomplete: try set pmenu ot false then enable pseudo transparency vim.opt.opt.pumblend = 10

It's beautiful but there are certain colors that look odd. For example, the current symbol highlight looks like this:

Are you referring to h: lsp-highlight?, you can easily customize it using on_highlights.

on_highlights = function(colors, color)
    local shade = color.shade
    local tint = color.tint
    local blend = color.blend
    return {
        LspReferenceRead  = { ... }
       LspReferenceWrite = { ... }
   }
end

There is no highlighting block in matching brackets:

You can find the highlight group with the help of neovim docs h: highlight-groups. It is MatchParen that you're looking for.

[!TIP] With annotations make it a lot easier. h: solarized.nvim-solarized’s-annotations

sebiwi commented 2 months ago

@maxmx03 the autocomplete part worked like a charm! 💯

Yes, I was refering to lsp-highlight, and MatchParen. I saw your code snippet, but I do not understand what I'm supposed to put between the curly brackets. I'm testing different configurations like the ones you show in the readme, but nothing changes:

    on_highlights = function(colors, color)
      local shade = color.shade
      local tint = color.tint
      local blend = color.blend
      return {
        LspReferenceRead = { bg = colors.base02, standout = true },
        LspReferenceWrite = { bg = colors.base02, standout = true },
      }
    end,

And then am I supposed to set values for MatchPattern in the same return block?

maxmx03 commented 2 months ago

And then am I supposed to set values for MatchPattern in the same return block?

yes, full example:

  'maxmx03/solarized.nvim',
    lazy = false,
    priority = 1000,
    ---@type solarized.config
    opts = {
      transparent = {
        enabled = true,
        lazy = false,
        mason = false,
        neotree = false,
      },
      on_highlights = function()
        ---@type solarized.highlights
        return {
          MatchParen = { reverse = true },
          LspReferenceRead = { bg = colors.base02, standout = true },
          LspReferenceWrite = { bg = colors.base02, standout = true },
          -- more ...
        }
      end,
    },
    config = function(_, opts)
      require('solarized').setup(opts)
      vim.cmd.colorscheme 'solarized'
    end,
  },

20240917_20h10m31s_grim

sebiwi commented 2 months ago

That worked like a charm, thanks for your help!

sebiwi commented 2 months ago

@maxmx03 sorry, I just found another thing I cannot seem to fix.

The description part of the autocomplete window still looks like black instead of teal:

Screenshot 2024-09-20 at 10 12 47

I tried fixing this by setting normalfloat to false, since pmenu is already set to false, like so:

      transparent = {
        enabled = true, -- Master switch to enable transparency
        pmenu = false, -- Popup menu (e.g., autocomplete suggestions)
        normal = true, -- Main editor window background
        normalfloat = false, -- Floating windows
        neotree = true, -- Neo-tree file explorer
        nvimtree = true, -- Nvim-tree file explorer
        whichkey = true, -- Which-key popup
        telescope = true, -- Telescope fuzzy finder
        lazy = false, -- Lazy plugin manager UI
        mason = false, -- Mason manage external tooling
      },

This didn't work. Maybe there's another vim option missing like the pumblend option you mentioned on your previous message?

maxmx03 commented 2 months ago

Fixed in latest commit

sebiwi commented 2 months ago

Hello @maxmx03, I found another highlight grouping that I cannot independently update:

The changes notification when undoing/redoing is still black instead of teal:

Screenshot 2024-09-20 at 23 59 18

This works fine if I set transparent.normal to false, but then the main editor window background is non-transparent. Is there a setting I can modify only for those notifications?

Thanks!

maxmx03 commented 2 months ago

I guess you're talking about noice.nvim, Maybe there is an option like winblend to fix this.

Plugins like Fidget and ToggleTerm have this option:

return {
  'j-hui/fidget.nvim',
  opts = {
    notification = {
      window = {
        normal_hl = 'Comment',
        winblend = 0,
      },
    },
  },
}
sebiwi commented 2 weeks ago

Hello @maxmx03, I found another highlight grouping that I cannot independently update:

The lualine context has some separators that are darker than they should:

Screenshot 2024-11-07 at 10 03 06

This is the same context using the default colorscheme:

Screenshot 2024-11-07 at 10 02 34

Is there a setting I can modify to make that look the same everywhere? I'm using the LazyVim default configuration.

Thanks!