diff options
Diffstat (limited to 'lua/plugins/colorscheme.lua')
| -rw-r--r-- | lua/plugins/colorscheme.lua | 176 |
1 files changed, 120 insertions, 56 deletions
diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 376feee..aaae1db 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -4,78 +4,142 @@ return { priority = 1000, opts = {}, config = function() - - -- Colorscheme Solarized Osaka by Takuya Matsuyama (https://github.com/craftzdog/solarized-osaka.nvim) + -- ===================================================== + -- Solarized Osaka Colorscheme Configuration + -- Enhanced setup with better customization + -- ===================================================== + require("solarized-osaka").setup({ - -- your configuration comes here - -- or leave it empty to use the default settings - transparent = true, -- Enable this to disable setting the background color - terminal_colors = true, -- Configure the colors used when opening a `:terminal` in [Neovim](https://github.com/neovim/neovim) + -- ========== Core Settings ========== + transparent = true, -- Enable transparent background + terminal_colors = true, -- Configure terminal colors + + -- ========== Syntax Highlighting Styles ========== styles = { - -- Style to be applied to different syntax groups - -- Value is any valid attr-list value for `:help nvim_set_hl` comments = { italic = true }, - keywords = { italic = true }, - functions = { italic = true }, - variables = { bold = true}, - -- Background styles. Can be "dark", "transparent" or "normal" - sidebars = "dark", -- style for sidebars, see below - floats = "dark", -- style for floating windows + 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" }, - sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]` - day_brightness = 0.3, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors - hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**. - dim_inactive = false, -- dims inactive windows - lualine_bold = true, -- When `true`, section headers in the lualine theme will be bold + 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, - --- You can override specific color groups to use other groups or a hex color - --- function will be called with a ColorScheme table + -- ========== Color Customization ========== ---@param colors ColorScheme - on_colors = function(colors) end, + 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, - --- You can override specific highlights to use other groups or a hex color - --- function will be called with a Highlights and ColorScheme table + -- ========== 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" - hl.TelescopeNormal = { - bg = c.bg_dark, - fg = c.fg_dark, - } - hl.TelescopeBorder = { - bg = c.bg_dark, - fg = c.bg_dark, - } - hl.TelescopePromptNormal = { - bg = prompt, - } - hl.TelescopePromptBorder = { - bg = prompt, - fg = prompt, - } - hl.TelescopePromptTitle = { - bg = prompt, - fg = prompt, - } - hl.TelescopePreviewTitle = { - bg = c.bg_dark, - fg = c.bg_dark, - } - hl.TelescopeResultsTitle = { - bg = c.bg_dark, - fg = c.bg_dark, - } + 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 - -- setup must be called before loading - vim.cmd.colorscheme "solarized-osaka" - - end + end, } |