aboutsummaryrefslogtreecommitdiffstats
path: root/lua/plugins/colorscheme.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/plugins/colorscheme.lua')
-rw-r--r--lua/plugins/colorscheme.lua176
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,
}