return { "craftzdog/solarized-osaka.nvim", lazy = false, priority = 1000, opts = {}, config = function() -- ===================================================== -- Solarized Osaka Colorscheme Configuration -- Enhanced setup with better customization -- ===================================================== require("solarized-osaka").setup({ -- ========== Core Settings ========== transparent = true, -- Enable transparent background terminal_colors = true, -- Configure terminal colors -- ========== Syntax Highlighting Styles ========== styles = { comments = { italic = true }, keywords = { italic = true, bold = false }, functions = { italic = false, bold = true }, variables = { bold = false }, conditionals = { italic = true }, loops = { italic = true }, constants = { bold = true }, strings = { italic = false }, types = { bold = true }, -- ========== UI Element Styles ========== sidebars = "dark", -- Sidebar style: "dark", "transparent", "normal" floats = "dark", -- Floating window style }, -- ========== UI Configuration ========== sidebars = { "qf", "help", "vista_kind", "terminal", "packer", "spectre_panel", "toggleterm", "Trouble", "NvimTree", "neo-tree" }, day_brightness = 0.4, -- Better brightness for day variant hide_inactive_statusline = false, dim_inactive = true, -- Dim inactive windows for better focus lualine_bold = true, -- ========== Color Customization ========== ---@param colors ColorScheme on_colors = function(colors) -- Enhance base colors for better readability colors.bg_dark = "#16161e" colors.bg_float = "#1a1a23" colors.border = "#27a1b9" colors.comment = "#565f89" colors.gitSigns = { add = "#449dab", change = "#6183bb", delete = "#f7768e", } end, -- ========== Highlight Customization ========== ---@param highlights Highlights ---@param colors ColorScheme on_highlights = function(hl, c) -- ========== Indent Guides ========== hl.IblIndent = { fg = c.base03, nocombine = true } hl.IndentBlanklineChar = { fg = c.blue, nocombine = true } hl.IndentBlanklineContextChar = { fg = c.orange500, nocombine = true } -- ========== Telescope Enhanced Styling ========== local prompt = "#2d3149" local results = "#1f2335" local preview = "#24283b" hl.TelescopeNormal = { bg = c.bg_dark, fg = c.fg_dark } hl.TelescopeBorder = { bg = c.bg_dark, fg = c.border } hl.TelescopePromptNormal = { bg = prompt } hl.TelescopePromptBorder = { bg = prompt, fg = c.border } hl.TelescopePromptTitle = { bg = c.blue, fg = c.bg_dark, bold = true } hl.TelescopePreviewTitle = { bg = c.green, fg = c.bg_dark, bold = true } hl.TelescopeResultsTitle = { bg = c.purple, fg = c.bg_dark, bold = true } hl.TelescopeSelection = { bg = "#364A82", fg = c.fg } hl.TelescopeSelectionCaret = { fg = c.red } -- ========== Enhanced UI Elements ========== -- Better cursor line hl.CursorLine = { bg = "#1e202a" } hl.CursorLineNr = { fg = c.orange, bold = true } -- Improved visual selection hl.Visual = { bg = "#33467c" } -- Better search highlights hl.Search = { bg = c.yellow, fg = c.bg_dark } hl.IncSearch = { bg = c.orange, fg = c.bg_dark } -- Enhanced diagnostics hl.DiagnosticError = { fg = c.red } hl.DiagnosticWarn = { fg = c.yellow } hl.DiagnosticInfo = { fg = c.blue } hl.DiagnosticHint = { fg = c.cyan } -- ========== Plugin-specific Highlights ========== -- Neo-tree hl.NeoTreeNormal = { bg = c.bg_dark } hl.NeoTreeNormalNC = { bg = c.bg_dark } -- Which-key hl.WhichKey = { fg = c.blue } hl.WhichKeyGroup = { fg = c.purple } hl.WhichKeyDesc = { fg = c.fg } -- Notify hl.NotifyBackground = { bg = c.bg_dark } -- GitSigns hl.GitSignsAdd = { fg = c.green } hl.GitSignsChange = { fg = c.yellow } hl.GitSignsDelete = { fg = c.red } end, }) -- ===================================================== -- Apply Colorscheme -- ===================================================== vim.cmd.colorscheme("solarized-osaka") -- ===================================================== -- Additional UI Enhancements -- ===================================================== -- Better cursor visibility vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50" -- Enhanced visual feedback vim.opt.cursorline = true vim.opt.number = true vim.opt.relativenumber = true vim.opt.signcolumn = "yes" -- Better terminal colors if vim.fn.has("termguicolors") == 1 then vim.opt.termguicolors = true end end, }