diff --git a/lazy-lock.json b/lazy-lock.json index 1358ff3..14a641c 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -12,7 +12,6 @@ "codeium.vim": { "branch": "main", "commit": "9406f13cf3eaa08318b76746bd105a04506cab27" }, "dressing.nvim": { "branch": "master", "commit": "572314728cb1ce012e825fd66331f52c94acac12" }, "friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" }, - "github-nvim-theme": { "branch": "main", "commit": "66dcec1bd3d12f8b0bf3c885069888551a650049" }, "gitsigns.nvim": { "branch": "main", "commit": "76927d14d3fbd4ba06ccb5246e79d93b5442c188" }, "indent-blankline.nvim": { "branch": "master", "commit": "ece00d5fb44d196680a81fd2761062d2fa44663b" }, "lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" }, @@ -43,6 +42,7 @@ "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bdccb9c67a42a5e2d99384dc9bfa29b1451528f" }, "nvim-ufo": { "branch": "main", "commit": "a5390706f510d39951dd581f6d2a972741b3fa26" }, "nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" }, + "onedarkpro.nvim": { "branch": "main", "commit": "ec07364f3cfa9cc6467bf067a490cfd74011efcd" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "smart-splits.nvim": { "branch": "master", "commit": "2179ec0d26aacd4f40c766c79f6ebc83b7001e48" }, diff --git a/lua/core/init.lua b/lua/core/init.lua index 4eefbce..bc53e28 100644 --- a/lua/core/init.lua +++ b/lua/core/init.lua @@ -17,5 +17,5 @@ require("custom.keymaps") -- require("user.chat_gpt") -- vim.cmd("colorscheme one_monokai") -- vim.cmd("colorscheme onedark") -vim.cmd("colorscheme github_dark_dimmed") +-- vim.cmd("colorscheme github_dark_dimmed") -- vim.cmd("colorscheme github_dark_high_contrast") diff --git a/lua/custom/plugins/githubdark.lua b/lua/custom/plugins/githubdark.lua index cff732b..9617971 100644 --- a/lua/custom/plugins/githubdark.lua +++ b/lua/custom/plugins/githubdark.lua @@ -1,109 +1,110 @@ return { - { - "navarasu/onedark.nvim", - enabled = false, - }, - { - "projekt0n/github-nvim-theme", - lazy = false, -- make sure we load this during startup if it is your main colorscheme - priority = 1000, -- make sure to load this before all the other start plugins - config = function() - local is_transparent = false - local palette = require("github-theme.palette").load("github_dark_dimmed") - require("github-theme").setup({ - options = { - -- Compiled file's destination location - compile_path = vim.fn.stdpath("cache") .. "/github-theme", - compile_file_suffix = "_compiled", -- Compiled file suffix - hide_end_of_buffer = true, -- Hide the '~' character at the end of the buffer for a cleaner look - hide_nc_statusline = true, -- Override the underline style for non-active statuslines - transparent = is_transparent, -- Disable setting background - terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal` - dim_inactive = false, -- Non focused panes set to alternative background - module_default = true, -- Default enable value for modules - styles = { -- Style to be applied to different syntax groups - comments = "italic", -- Value is any valid attr-list value `:help attr-list` - functions = "italic", - keywords = "NONE", - variables = "NONE", - conditionals = "NONE", - constants = "NONE", - numbers = "NONE", - operators = "NONE", - strings = "NONE", - types = "NONE", - }, - inverse = { -- Inverse highlight for different types - match_paren = false, - visual = false, - search = false, - }, - darken = { -- Darken floating windows and sidebar-like windows - floats = false, - sidebars = { - enabled = true, - list = {}, -- Apply dark background to specific windows - }, - }, - modules = { -- List of various plugins and additional options - -- ... - }, - }, - palettes = { - github_dark_dimmed = { - bg0 = is_transparent and "NONE" or "bg1", - bg1 = is_transparent and "NONE" or "bg", - }, - }, - specs = {}, - groups = { - all = { - illuminatedWord = { bg = "#3b4261" }, - illuminatedCurWord = { bg = "#3b4261" }, - IlluminatedWordText = { bg = "#3b4261" }, - IlluminatedWordRead = { bg = "#3b4261" }, - IlluminatedWordWrite = { bg = "#3b4261" }, - ["@tag.attribute"] = { fg = "#77bdfb", style = "italic" }, - ["@text.uri"] = { fg = palette.const, style = "italic" }, - ["@keyword.return"] = { fg = "#fa7970", style = "italic" }, - -- ["@tag.attribute.html"] = { fg = "#faa356", style = "italic" }, - -- ["@operator.html"] = { fg = "#faa356" }, - -- ["@tag.html"] = { fg = "#fa7970" }, - -- ["@tag.delimiter.html"] = { fg = "#faa356" }, - ["@tag.javascript"] = { fg = "#faa356" }, - -- ["@tag.javascript"] = { fg = "#8ddb8c" }, - -- ["@tag.tsx"] = { fg = "#8ddb8c" }, - ["@tag.delimiter.javascript"] = { fg = "fg1" }, - ["@tag.tsx"] = { fg = "#faa356" }, - ["@lsp.type.parameter"] = { fg = "#faa356" }, - ["@property.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" }, - ["@lsp.type.property.lua"] = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, - ["@lsp.type.variable.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" }, - }, - github_dark_high_contrast = { - NvimTreeSpecialFile = { fg = "#faa356", style = "italic" }, - }, - github_dark_dimmed = { - -- As with specs and palettes, a specific style's value will be used over the `all`'s value. - NvimTreeNormal = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, - NvimTreeSpecialFile = { fg = "#faa356", style = "italic" }, - NvimTreeIndentMarker = { fg = "#3E4450" }, - BufferLineFill = { bg = is_transparent and "NONE" or "bg1" }, - BufferLineUnfocusedFill = { bg = is_transparent and "NONE" or "bg1" }, - LualineNormal = { bg = is_transparent and "NONE" or "bg1" }, - StatusLine = { bg = is_transparent and "NONE" or "bg1" }, - StatusLineTerm = { bg = is_transparent and "NONE" or "bg1" }, - Pmenu = { bg = is_transparent and "NONE" or "bg1" }, - PmenuSel = { link = "CursorLine" }, - WhichKeyFloat = { bg = is_transparent and "NONE" or "bg1" }, - LazyNormal = { bg = is_transparent and "NONE" or "bg1" }, - LazyBackground = { bg = is_transparent and "NONE" or "bg1" }, - NormalSB = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, -- normal text - NormalFloat = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, - IblIndent = { fg = "#3E4450" }, - }, - }, - }) - end, - }, + -- { + -- "navarasu/onedark.nvim", + -- enabled = false, + -- }, + -- { + -- "projekt0n/github-nvim-theme", + -- lazy = false, -- make sure we load this during startup if it is your main colorscheme + -- priority = 1000, -- make sure to load this before all the other start plugins + -- config = function() + -- local is_transparent = false + -- local palette = require("github-theme.palette").load("github_dark_dimmed") + -- require("github-theme").setup({ + -- options = { + -- -- Compiled file's destination location + -- compile_path = vim.fn.stdpath("cache") .. "/github-theme", + -- compile_file_suffix = "_compiled", -- Compiled file suffix + -- hide_end_of_buffer = true, -- Hide the '~' character at the end of the buffer for a cleaner look + -- hide_nc_statusline = true, -- Override the underline style for non-active statuslines + -- transparent = is_transparent, -- Disable setting background + -- terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal` + -- dim_inactive = false, -- Non focused panes set to alternative background + -- module_default = true, -- Default enable value for modules + -- styles = { -- Style to be applied to different syntax groups + -- comments = "italic", -- Value is any valid attr-list value `:help attr-list` + -- functions = "italic", + -- keywords = "NONE", + -- variables = "NONE", + -- conditionals = "NONE", + -- constants = "NONE", + -- numbers = "NONE", + -- operators = "NONE", + -- strings = "NONE", + -- types = "NONE", + -- }, + -- inverse = { -- Inverse highlight for different types + -- match_paren = false, + -- visual = false, + -- search = false, + -- }, + -- darken = { -- Darken floating windows and sidebar-like windows + -- floats = false, + -- sidebars = { + -- enabled = true, + -- list = {}, -- Apply dark background to specific windows + -- }, + -- }, + -- modules = { -- List of various plugins and additional options + -- -- ... + -- }, + -- }, + -- palettes = { + -- github_dark_dimmed = { + -- bg0 = is_transparent and "NONE" or "bg1", + -- bg1 = is_transparent and "NONE" or "bg", + -- }, + -- }, + -- specs = {}, + -- groups = { + -- all = { + -- illuminatedWord = { bg = "#3b4261" }, + -- illuminatedCurWord = { bg = "#3b4261" }, + -- IlluminatedWordText = { bg = "#3b4261" }, + -- IlluminatedWordRead = { bg = "#3b4261" }, + -- IlluminatedWordWrite = { bg = "#3b4261" }, + -- ["@tag.attribute"] = { fg = "#77bdfb", style = "italic" }, + -- ["@text.uri"] = { fg = palette.const, style = "italic" }, + -- ["@keyword.return"] = { fg = "#fa7970", style = "italic" }, + -- -- ["@tag.attribute.html"] = { fg = "#faa356", style = "italic" }, + -- -- ["@operator.html"] = { fg = "#faa356" }, + -- -- ["@tag.html"] = { fg = "#fa7970" }, + -- -- ["@tag.delimiter.html"] = { fg = "#faa356" }, + -- -- ["@tag.javascript"] = { fg = "#faa356" }, + -- -- ["@tag.javascript"] = { fg = "#8ddb8c" }, + -- -- ["@tag.tsx"] = { fg = "#8ddb8c" }, + -- ["@string.special.url"] = { fg = palette.const, style = "italic" }, + -- ["@tag.delimiter.javascript"] = { fg = "fg1" }, + -- ["@tag.tsx"] = { fg = "#faa356" }, + -- ["@lsp.type.parameter"] = { fg = "#faa356" }, + -- ["@property.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" }, + -- ["@lsp.type.property.lua"] = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, + -- ["@lsp.type.variable.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" }, + -- }, + -- github_dark_high_contrast = { + -- NvimTreeSpecialFile = { fg = "#faa356", style = "italic" }, + -- }, + -- github_dark_dimmed = { + -- -- As with specs and palettes, a specific style's value will be used over the `all`'s value. + -- NvimTreeNormal = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, + -- NvimTreeSpecialFile = { fg = "#faa356", style = "italic" }, + -- NvimTreeIndentMarker = { fg = "#3E4450" }, + -- BufferLineFill = { bg = is_transparent and "NONE" or "bg1" }, + -- BufferLineUnfocusedFill = { bg = is_transparent and "NONE" or "bg1" }, + -- LualineNormal = { bg = is_transparent and "NONE" or "bg1" }, + -- StatusLine = { bg = is_transparent and "NONE" or "bg1" }, + -- StatusLineTerm = { bg = is_transparent and "NONE" or "bg1" }, + -- Pmenu = { bg = is_transparent and "NONE" or "bg1" }, + -- PmenuSel = { link = "CursorLine" }, + -- WhichKeyFloat = { bg = is_transparent and "NONE" or "bg1" }, + -- LazyNormal = { bg = is_transparent and "NONE" or "bg1" }, + -- LazyBackground = { bg = is_transparent and "NONE" or "bg1" }, + -- NormalSB = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, -- normal text + -- NormalFloat = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, + -- IblIndent = { fg = "#3E4450" }, + -- }, + -- }, + -- }) + -- end, + -- }, } diff --git a/lua/custom/plugins/lualine_github.lua b/lua/custom/plugins/lualine_github.lua index 0ddba0c..1bc8d74 100644 --- a/lua/custom/plugins/lualine_github.lua +++ b/lua/custom/plugins/lualine_github.lua @@ -1,243 +1,243 @@ return { - { - "nvim-lualine/lualine.nvim", - event = "InsertEnter", - config = function() - local hide_in_width = function() - return vim.fn.winwidth(0) > 80 - end - local icons = require("user.icons") - - local getLeftSubstring = function(word, length) - if #word > length then - return string.sub(word, 1, length) .. "..." - else - return word - end - end - - -- start for lsp - local list_registered_providers_names = function(filetype) - local s = require("null-ls.sources") - local available_sources = s.get_available(filetype) - local registered = {} - for _, source in ipairs(available_sources) do - for method in pairs(source.methods) do - registered[method] = registered[method] or {} - table.insert(registered[method], source.name) - end - end - return registered - end - - local null_ls = require("null-ls") - -- for formatter - local list_registered = function(filetype) - local method = null_ls.methods.FORMATTING - local registered_providers = list_registered_providers_names(filetype) - return registered_providers[method] or {} - end - - --- for linter - local alternative_methods = { - null_ls.methods.DIAGNOSTICS, - null_ls.methods.DIAGNOSTICS_ON_OPEN, - null_ls.methods.DIAGNOSTICS_ON_SAVE, - } - - local linter_list_registered = function(filetype) - local registered_providers = list_registered_providers_names(filetype) - -- local providers_for_methods = vim.tbl_flatten(vim.tbl_map(function(m) - -- return registered_providers[m] or {} - -- end, alternative_methods)) - local providers_for_methods = vim.iter(vim.tbl_map(function(m) - return registered_providers[m] or {} - end, alternative_methods)) - - return providers_for_methods - end - -- end for lsp - - local lsp_info = { - function() - local msg = "LS Inactive" - local buf_ft = vim.bo.filetype - -- start register - local buf_clients = vim.lsp.get_clients() - local buf_client_names = {} - if next(buf_clients) == nil then - -- TODO: clean up this if statement - if type(msg) == "boolean" or #msg == 0 then - return "LS Inactive" - end - return msg - end - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" and client.name ~= "copilot" then - table.insert(buf_client_names, client.name) - end - end - -- add formatter - local supported_formatters = list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_formatters) - -- add linter - local supported_linters = linter_list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_linters) - -- decomple - local unique_client_names = vim.fn.uniq(buf_client_names) - local msg = table.concat(unique_client_names, ", ") - return msg - end, - --icon = " ", - icon = icons.ui.Gear .. "", - padding = 1, - } - - local diagnostics = { - "diagnostics", - sources = { "nvim_diagnostic" }, - sections = { "error", "warn" }, - -- symbols = { error = " ", warn = " " }, - symbols = { - error = icons.diagnostics.BoldError .. " ", - warn = icons.diagnostics.BoldWarning .. " ", - }, - colored = true, - update_in_insert = false, - always_visible = false, - } - - local diff = { - "diff", - colored = true, - -- symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols - symbols = { - added = icons.git.LineAdded .. " ", - modified = icons.git.LineModified .. " ", - removed = icons.git.LineRemoved .. " ", - }, -- changes diff symbols - cond = hide_in_width, - } - - local spaces = function() - -- return " " .. vim.api.nvim_buf_get_option(0, "shiftwidth") - return icons.ui.Tab .. " " .. vim.api.nvim_get_option_value(0, "shiftwidth") - end - - local mode = { - "mode", - padding = 1, - separator = { left = " " }, - -- right_padding = 3, - fmt = function(str) - return icons.ui.Neovim .. " " .. str - end, - } - local branch = { - "branch", - padding = 1, - } - - local get_branch = function() - if vim.b.gitsigns_head ~= nil then - return icons.git.Branch2 .. " " .. getLeftSubstring(vim.b.gitsigns_head, 6) - else - return icons.git.Branch2 .. vim.fn.fnamemodify("", ":t") - end - end - - local lsp_progress = {} - local data_ok, lspprogress = pcall(require, "lsp-progress") - if data_ok then - lsp_progress = lspprogress.progress - end - -- stylua: ignore - -- local github=vim.fn.fnamemodify("auto", ":t") - local github={} - local status_ok, _ = pcall(require, "github-theme") - if status_ok then - local C = require("github-theme.lib.color") - local config = require("github-theme.config").options - local s = require("github-theme.spec").load("github_dark_dimmed") - local p = s.palette - local tbg = config.transparent and "NONE" or s.bg0 - - local function blend(color, a) - return C(s.bg1):blend(C(color), a):to_css() - end - - --- Create lualine group colors for github-theme - ---@param color string - local tint = function(color) - return { - a = { bg = color, fg = s.bg1 }, - b = { bg = blend(color, 0.2), fg = blend(color, 0.8) }, - c = { bg = "NONE", fg = blend(color, 0.60) }, - } - end - - local inactive_hi = { bg = tbg, fg = blend(s.fg1, 0.3) } - github = { - normal = tint(p.blue.base), - insert = tint(p.green.base), - command = tint(p.magenta.bright), - visual = tint(p.yellow.base), - replace = tint(p.red.base), - terminal = tint(p.orange), - inactive = { - a = inactive_hi, - b = inactive_hi, - c = inactive_hi, - }, - } - end - - require("lualine").setup({ - options = { - theme = github or "auto", - -- theme = "auto", - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - disabled_filetypes = { - "TelescopePrompt", - "packer", - "alpha", - "dashboard", - "NvimTree", - "Outline", - "DressingInput", - "toggleterm", - "lazy", - "mason", - "neo-tree", - "startuptime", - }, - always_divide_middle = true, - }, - sections = { - lualine_a = { - mode, - }, - lualine_b = { get_branch }, - lualine_c = { lsp_info, diagnostics, lsp_progress }, - lualine_x = { diff, spaces, "filetype" }, - lualine_y = { "progress" }, - lualine_z = { - { "location", separator = { right = " " }, padding = 1 }, - }, - }, - inactive_sections = { - lualine_a = { "filename" }, - lualine_b = {}, - lualine_c = {}, - lualine_x = {}, - lualine_y = {}, - lualine_z = { "location" }, - }, - tabline = {}, - extensions = {}, - }) - end, - }, + -- { + -- "nvim-lualine/lualine.nvim", + -- event = "InsertEnter", + -- config = function() + -- local hide_in_width = function() + -- return vim.fn.winwidth(0) > 80 + -- end + -- local icons = require("user.icons") + -- + -- local getLeftSubstring = function(word, length) + -- if #word > length then + -- return string.sub(word, 1, length) .. "..." + -- else + -- return word + -- end + -- end + -- + -- -- start for lsp + -- local list_registered_providers_names = function(filetype) + -- local s = require("null-ls.sources") + -- local available_sources = s.get_available(filetype) + -- local registered = {} + -- for _, source in ipairs(available_sources) do + -- for method in pairs(source.methods) do + -- registered[method] = registered[method] or {} + -- table.insert(registered[method], source.name) + -- end + -- end + -- return registered + -- end + -- + -- local null_ls = require("null-ls") + -- -- for formatter + -- local list_registered = function(filetype) + -- local method = null_ls.methods.FORMATTING + -- local registered_providers = list_registered_providers_names(filetype) + -- return registered_providers[method] or {} + -- end + -- + -- --- for linter + -- local alternative_methods = { + -- null_ls.methods.DIAGNOSTICS, + -- null_ls.methods.DIAGNOSTICS_ON_OPEN, + -- null_ls.methods.DIAGNOSTICS_ON_SAVE, + -- } + -- + -- local linter_list_registered = function(filetype) + -- local registered_providers = list_registered_providers_names(filetype) + -- -- local providers_for_methods = vim.tbl_flatten(vim.tbl_map(function(m) + -- -- return registered_providers[m] or {} + -- -- end, alternative_methods)) + -- local providers_for_methods = vim.iter(vim.tbl_map(function(m) + -- return registered_providers[m] or {} + -- end, alternative_methods)) + -- + -- return providers_for_methods + -- end + -- -- end for lsp + -- + -- local lsp_info = { + -- function() + -- local msg = "LS Inactive" + -- local buf_ft = vim.bo.filetype + -- -- start register + -- local buf_clients = vim.lsp.get_clients() + -- local buf_client_names = {} + -- if next(buf_clients) == nil then + -- -- TODO: clean up this if statement + -- if type(msg) == "boolean" or #msg == 0 then + -- return "LS Inactive" + -- end + -- return msg + -- end + -- -- add client + -- for _, client in pairs(buf_clients) do + -- if client.name ~= "null-ls" and client.name ~= "copilot" then + -- table.insert(buf_client_names, client.name) + -- end + -- end + -- -- add formatter + -- local supported_formatters = list_registered(buf_ft) + -- vim.list_extend(buf_client_names, supported_formatters) + -- -- add linter + -- local supported_linters = linter_list_registered(buf_ft) + -- vim.list_extend(buf_client_names, supported_linters) + -- -- decomple + -- local unique_client_names = vim.fn.uniq(buf_client_names) + -- local msg = table.concat(unique_client_names, ", ") + -- return msg + -- end, + -- --icon = " ", + -- icon = icons.ui.Gear .. "", + -- padding = 1, + -- } + -- + -- local diagnostics = { + -- "diagnostics", + -- sources = { "nvim_diagnostic" }, + -- sections = { "error", "warn" }, + -- -- symbols = { error = " ", warn = " " }, + -- symbols = { + -- error = icons.diagnostics.BoldError .. " ", + -- warn = icons.diagnostics.BoldWarning .. " ", + -- }, + -- colored = true, + -- update_in_insert = false, + -- always_visible = false, + -- } + -- + -- local diff = { + -- "diff", + -- colored = true, + -- -- symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols + -- symbols = { + -- added = icons.git.LineAdded .. " ", + -- modified = icons.git.LineModified .. " ", + -- removed = icons.git.LineRemoved .. " ", + -- }, -- changes diff symbols + -- cond = hide_in_width, + -- } + -- + -- local spaces = function() + -- -- return " " .. vim.api.nvim_buf_get_option(0, "shiftwidth") + -- return icons.ui.Tab .. " " .. vim.api.nvim_get_option_value(0, "shiftwidth") + -- end + -- + -- local mode = { + -- "mode", + -- padding = 1, + -- separator = { left = " " }, + -- -- right_padding = 3, + -- fmt = function(str) + -- return icons.ui.Neovim .. " " .. str + -- end, + -- } + -- local branch = { + -- "branch", + -- padding = 1, + -- } + -- + -- local get_branch = function() + -- if vim.b.gitsigns_head ~= nil then + -- return icons.git.Branch2 .. " " .. getLeftSubstring(vim.b.gitsigns_head, 6) + -- else + -- return icons.git.Branch2 .. vim.fn.fnamemodify("", ":t") + -- end + -- end + -- + -- local lsp_progress = {} + -- local data_ok, lspprogress = pcall(require, "lsp-progress") + -- if data_ok then + -- lsp_progress = lspprogress.progress + -- end + -- -- stylua: ignore + -- -- local github=vim.fn.fnamemodify("auto", ":t") + -- local github={} + -- local status_ok, _ = pcall(require, "github-theme") + -- if status_ok then + -- local C = require("github-theme.lib.color") + -- local config = require("github-theme.config").options + -- local s = require("github-theme.spec").load("github_dark_dimmed") + -- local p = s.palette + -- local tbg = config.transparent and "NONE" or s.bg0 + -- + -- local function blend(color, a) + -- return C(s.bg1):blend(C(color), a):to_css() + -- end + -- + -- --- Create lualine group colors for github-theme + -- ---@param color string + -- local tint = function(color) + -- return { + -- a = { bg = color, fg = s.bg1 }, + -- b = { bg = blend(color, 0.2), fg = blend(color, 0.8) }, + -- c = { bg = "NONE", fg = blend(color, 0.60) }, + -- } + -- end + -- + -- local inactive_hi = { bg = tbg, fg = blend(s.fg1, 0.3) } + -- github = { + -- normal = tint(p.blue.base), + -- insert = tint(p.green.base), + -- command = tint(p.magenta.bright), + -- visual = tint(p.yellow.base), + -- replace = tint(p.red.base), + -- terminal = tint(p.orange), + -- inactive = { + -- a = inactive_hi, + -- b = inactive_hi, + -- c = inactive_hi, + -- }, + -- } + -- end + -- + -- require("lualine").setup({ + -- options = { + -- theme = github or "auto", + -- -- theme = "auto", + -- component_separators = { left = "", right = "" }, + -- section_separators = { left = "", right = "" }, + -- disabled_filetypes = { + -- "TelescopePrompt", + -- "packer", + -- "alpha", + -- "dashboard", + -- "NvimTree", + -- "Outline", + -- "DressingInput", + -- "toggleterm", + -- "lazy", + -- "mason", + -- "neo-tree", + -- "startuptime", + -- }, + -- always_divide_middle = true, + -- }, + -- sections = { + -- lualine_a = { + -- mode, + -- }, + -- lualine_b = { get_branch }, + -- lualine_c = { lsp_info, diagnostics, lsp_progress }, + -- lualine_x = { diff, spaces, "filetype" }, + -- lualine_y = { "progress" }, + -- lualine_z = { + -- { "location", separator = { right = " " }, padding = 1 }, + -- }, + -- }, + -- inactive_sections = { + -- lualine_a = { "filename" }, + -- lualine_b = {}, + -- lualine_c = {}, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = { "location" }, + -- }, + -- tabline = {}, + -- extensions = {}, + -- }) + -- end, + -- }, } diff --git a/lua/custom/plugins/lualine_onedark.lua b/lua/custom/plugins/lualine_onedark.lua index a040416..2354a7d 100644 --- a/lua/custom/plugins/lualine_onedark.lua +++ b/lua/custom/plugins/lualine_onedark.lua @@ -1,248 +1,248 @@ return { - -- { - -- "nvim-lualine/lualine.nvim", - -- event = "InsertEnter", - -- config = function() - -- local hide_in_width = function() - -- return vim.fn.winwidth(0) > 80 - -- end - -- local icons = require("user.icons") - -- - -- local getLeftSubstring = function(word, length) - -- if #word > length then - -- return string.sub(word, 1, length) .. "..." - -- else - -- return word - -- end - -- end - -- - -- -- start for lsp - -- local list_registered_providers_names = function(filetype) - -- local s = require("null-ls.sources") - -- local available_sources = s.get_available(filetype) - -- local registered = {} - -- for _, source in ipairs(available_sources) do - -- for method in pairs(source.methods) do - -- registered[method] = registered[method] or {} - -- table.insert(registered[method], source.name) - -- end - -- end - -- return registered - -- end - -- - -- local null_ls = require("null-ls") - -- -- for formatter - -- local list_registered = function(filetype) - -- local method = null_ls.methods.FORMATTING - -- local registered_providers = list_registered_providers_names(filetype) - -- return registered_providers[method] or {} - -- end - -- - -- --- for linter - -- local alternative_methods = { - -- null_ls.methods.DIAGNOSTICS, - -- null_ls.methods.DIAGNOSTICS_ON_OPEN, - -- null_ls.methods.DIAGNOSTICS_ON_SAVE, - -- } - -- - -- local linter_list_registered = function(filetype) - -- local registered_providers = list_registered_providers_names(filetype) - -- local providers_for_methods = vim.iter(vim.tbl_map(function(m) - -- return registered_providers[m] or {} - -- end, alternative_methods)) - -- - -- return providers_for_methods - -- end - -- -- end for lsp - -- - -- local lsp_info = { - -- function() - -- local msg = "LS Inactive" - -- local buf_ft = vim.bo.filetype - -- -- start register - -- local buf_clients = vim.lsp.get_clients() - -- local buf_client_names = {} - -- if next(buf_clients) == nil then - -- -- TODO: clean up this if statement - -- if type(msg) == "boolean" or #msg == 0 then - -- return "LS Inactive" - -- end - -- return msg - -- end - -- -- add client - -- for _, client in pairs(buf_clients) do - -- if client.name ~= "null-ls" and client.name ~= "copilot" then - -- table.insert(buf_client_names, client.name) - -- end - -- end - -- -- add formatter - -- local supported_formatters = list_registered(buf_ft) - -- vim.list_extend(buf_client_names, supported_formatters) - -- -- add linter - -- local supported_linters = linter_list_registered(buf_ft) - -- vim.list_extend(buf_client_names, supported_linters) - -- -- decomple - -- local unique_client_names = vim.fn.uniq(buf_client_names) - -- local msg = table.concat(unique_client_names, ", ") - -- return msg - -- end, - -- --icon = " ", - -- icon = icons.ui.Gear .. "", - -- padding = 1, - -- } - -- - -- local diagnostics = { - -- "diagnostics", - -- sources = { "nvim_diagnostic" }, - -- sections = { "error", "warn" }, - -- -- symbols = { error = " ", warn = " " }, - -- symbols = { - -- error = icons.diagnostics.BoldError .. " ", - -- warn = icons.diagnostics.BoldWarning .. " ", - -- }, - -- colored = true, - -- update_in_insert = false, - -- always_visible = false, - -- } - -- - -- local diff = { - -- "diff", - -- colored = true, - -- -- symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols - -- symbols = { - -- added = icons.git.LineAdded .. " ", - -- modified = icons.git.LineModified .. " ", - -- removed = icons.git.LineRemoved .. " ", - -- }, -- changes diff symbols - -- cond = hide_in_width, - -- } - -- - -- local spaces = function() - -- -- return " " .. vim.api.nvim_buf_get_option(0, "shiftwidth") - -- return icons.ui.Tab .. " " .. vim.api.nvim_get_option_value(0, "shiftwidth") - -- end - -- - -- local mode = { - -- "mode", - -- padding = 1, - -- separator = { left = " " }, - -- -- right_padding = 3, - -- fmt = function(str) - -- return icons.ui.Neovim .. " " .. str - -- end, - -- } - -- local branch = { - -- "branch", - -- padding = 1, - -- } - -- - -- local get_branch = function() - -- if vim.b.gitsigns_head ~= nil then - -- return icons.git.Branch2 .. " " .. getLeftSubstring(vim.b.gitsigns_head, 6) - -- else - -- return icons.git.Branch2 .. vim.fn.fnamemodify("", ":t") - -- end - -- end - -- - -- local lsp_progress = {} - -- local data_ok, lspprogress = pcall(require, "lsp-progress") - -- if data_ok then - -- lsp_progress = lspprogress.progress - -- end - -- -- stylua: ignore - -- -- local onedark=vim.fn.fnamemodify("auto", ":t") - -- local onedark={} - -- local is_transparat = true - -- local status_ok, onedarkpro = pcall(require, "onedarkpro.helpers") - -- if status_ok then - -- local colors = onedarkpro.get_colors("onedark") - -- - -- onedark = { - -- normal = { - -- a = { bg = colors.green, fg = colors.bg }, - -- b = { bg = colors.fg_gutter, fg = colors.green }, - -- c = { - -- bg = is_transparat and colors.none or colors.bg_statusline, - -- fg = colors.fg, - -- }, - -- }, - -- - -- insert = { - -- a = { bg = colors.blue, fg = colors.bg }, - -- b = { bg = colors.fg_gutter, fg = colors.blue }, - -- }, - -- visual = { - -- a = { bg = colors.yellow, fg = colors.bg }, - -- b = { bg = colors.fg_gutter, fg = colors.yellow }, - -- }, - -- replace = { - -- a = { bg = colors.red, fg = colors.bg }, - -- b = { bg = colors.fg_gutter, fg = colors.red }, - -- }, - -- command = { - -- a = { bg = colors.purple, fg = colors.bg }, - -- b = { bg = colors.fg_gutter, fg = colors.purple }, - -- }, - -- terminal = { - -- a = { bg = colors.cyan, fg = colors.bg }, - -- b = { bg = colors.fg_gutter, fg = colors.cyan }, - -- }, - -- inactive = { - -- a = { bg = colors.bg, fg = colors.blue }, - -- b = { bg = colors.bg, fg = colors.fg_gutter_inactive, gui = "bold" }, - -- c = { - -- bg = is_transparat and colors.none or colors.bg, - -- fg = colors.fg_gutter_inactive, - -- }, - -- }, - -- } - -- end - -- - -- require("lualine").setup({ - -- options = { - -- theme = onedark, - -- -- theme = "auto", - -- component_separators = { left = "", right = "" }, - -- section_separators = { left = "", right = "" }, - -- disabled_filetypes = { - -- "TelescopePrompt", - -- "packer", - -- "alpha", - -- "dashboard", - -- "NvimTree", - -- "Outline", - -- "DressingInput", - -- "toggleterm", - -- "lazy", - -- "mason", - -- "neo-tree", - -- "startuptime", - -- }, - -- always_divide_middle = true, - -- }, - -- sections = { - -- lualine_a = { - -- mode, - -- }, - -- lualine_b = { get_branch }, - -- lualine_c = { lsp_info, diagnostics, lsp_progress }, - -- lualine_x = { diff, spaces, "filetype" }, - -- lualine_y = { "progress" }, - -- lualine_z = { - -- { "location", separator = { right = " " }, padding = 1 }, - -- }, - -- }, - -- inactive_sections = { - -- lualine_a = { "filename" }, - -- lualine_b = {}, - -- lualine_c = {}, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = { "location" }, - -- }, - -- tabline = {}, - -- extensions = {}, - -- }) - -- end, - -- }, + { + "nvim-lualine/lualine.nvim", + event = "InsertEnter", + config = function() + local hide_in_width = function() + return vim.fn.winwidth(0) > 80 + end + local icons = require("user.icons") + + local getLeftSubstring = function(word, length) + if #word > length then + return string.sub(word, 1, length) .. "..." + else + return word + end + end + + -- start for lsp + local list_registered_providers_names = function(filetype) + local s = require("null-ls.sources") + local available_sources = s.get_available(filetype) + local registered = {} + for _, source in ipairs(available_sources) do + for method in pairs(source.methods) do + registered[method] = registered[method] or {} + table.insert(registered[method], source.name) + end + end + return registered + end + + local null_ls = require("null-ls") + -- for formatter + local list_registered = function(filetype) + local method = null_ls.methods.FORMATTING + local registered_providers = list_registered_providers_names(filetype) + return registered_providers[method] or {} + end + + --- for linter + local alternative_methods = { + null_ls.methods.DIAGNOSTICS, + null_ls.methods.DIAGNOSTICS_ON_OPEN, + null_ls.methods.DIAGNOSTICS_ON_SAVE, + } + + local linter_list_registered = function(filetype) + local registered_providers = list_registered_providers_names(filetype) + local providers_for_methods = vim.iter(vim.tbl_map(function(m) + return registered_providers[m] or {} + end, alternative_methods)) + + return providers_for_methods + end + -- end for lsp + + local lsp_info = { + function() + local msg = "LS Inactive" + local buf_ft = vim.bo.filetype + -- start register + local buf_clients = vim.lsp.get_clients() + local buf_client_names = {} + if next(buf_clients) == nil then + -- TODO: clean up this if statement + if type(msg) == "boolean" or #msg == 0 then + return "LS Inactive" + end + return msg + end + -- add client + for _, client in pairs(buf_clients) do + if client.name ~= "null-ls" and client.name ~= "copilot" then + table.insert(buf_client_names, client.name) + end + end + -- add formatter + local supported_formatters = list_registered(buf_ft) + vim.list_extend(buf_client_names, supported_formatters) + -- add linter + local supported_linters = linter_list_registered(buf_ft) + vim.list_extend(buf_client_names, supported_linters) + -- decomple + local unique_client_names = vim.fn.uniq(buf_client_names) + local msg = table.concat(unique_client_names, ", ") + return msg + end, + --icon = " ", + icon = icons.ui.Gear .. "", + padding = 1, + } + + local diagnostics = { + "diagnostics", + sources = { "nvim_diagnostic" }, + sections = { "error", "warn" }, + -- symbols = { error = " ", warn = " " }, + symbols = { + error = icons.diagnostics.BoldError .. " ", + warn = icons.diagnostics.BoldWarning .. " ", + }, + colored = true, + update_in_insert = false, + always_visible = false, + } + + local diff = { + "diff", + colored = true, + -- symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols + symbols = { + added = icons.git.LineAdded .. " ", + modified = icons.git.LineModified .. " ", + removed = icons.git.LineRemoved .. " ", + }, -- changes diff symbols + cond = hide_in_width, + } + + local spaces = function() + -- return " " .. vim.api.nvim_buf_get_option(0, "shiftwidth") + return icons.ui.Tab .. " " .. vim.api.nvim_get_option_value(0, "shiftwidth") + end + + local mode = { + "mode", + padding = 1, + separator = { left = " " }, + -- right_padding = 3, + fmt = function(str) + return icons.ui.Neovim .. " " .. str + end, + } + local branch = { + "branch", + padding = 1, + } + + local get_branch = function() + if vim.b.gitsigns_head ~= nil then + return icons.git.Branch2 .. " " .. getLeftSubstring(vim.b.gitsigns_head, 6) + else + return icons.git.Branch2 .. vim.fn.fnamemodify("", ":t") + end + end + + local lsp_progress = {} + local data_ok, lspprogress = pcall(require, "lsp-progress") + if data_ok then + lsp_progress = lspprogress.progress + end + -- stylua: ignore + -- local onedark=vim.fn.fnamemodify("auto", ":t") + local onedark={} + local is_transparat = true + local status_ok, onedarkpro = pcall(require, "onedarkpro.helpers") + if status_ok then + local colors = onedarkpro.get_colors("onedark") + + onedark = { + normal = { + a = { bg = colors.green, fg = colors.bg }, + b = { bg = colors.fg_gutter, fg = colors.green }, + c = { + bg = is_transparat and colors.none or colors.bg_statusline, + fg = colors.fg, + }, + }, + + insert = { + a = { bg = colors.blue, fg = colors.bg }, + b = { bg = colors.fg_gutter, fg = colors.blue }, + }, + visual = { + a = { bg = colors.yellow, fg = colors.bg }, + b = { bg = colors.fg_gutter, fg = colors.yellow }, + }, + replace = { + a = { bg = colors.red, fg = colors.bg }, + b = { bg = colors.fg_gutter, fg = colors.red }, + }, + command = { + a = { bg = colors.purple, fg = colors.bg }, + b = { bg = colors.fg_gutter, fg = colors.purple }, + }, + terminal = { + a = { bg = colors.cyan, fg = colors.bg }, + b = { bg = colors.fg_gutter, fg = colors.cyan }, + }, + inactive = { + a = { bg = colors.bg, fg = colors.blue }, + b = { bg = colors.bg, fg = colors.fg_gutter_inactive, gui = "bold" }, + c = { + bg = is_transparat and colors.none or colors.bg, + fg = colors.fg_gutter_inactive, + }, + }, + } + end + + require("lualine").setup({ + options = { + theme = onedark, + -- theme = "auto", + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + disabled_filetypes = { + "TelescopePrompt", + "packer", + "alpha", + "dashboard", + "NvimTree", + "Outline", + "DressingInput", + "toggleterm", + "lazy", + "mason", + "neo-tree", + "startuptime", + }, + always_divide_middle = true, + }, + sections = { + lualine_a = { + mode, + }, + lualine_b = { get_branch }, + lualine_c = { lsp_info, diagnostics, lsp_progress }, + lualine_x = { diff, spaces, "filetype" }, + lualine_y = { "progress" }, + lualine_z = { + { "location", separator = { right = " " }, padding = 1 }, + }, + }, + inactive_sections = { + lualine_a = { "filename" }, + lualine_b = {}, + lualine_c = {}, + lualine_x = {}, + lualine_y = {}, + lualine_z = { "location" }, + }, + tabline = {}, + extensions = {}, + }) + end, + }, } diff --git a/lua/custom/plugins/onedarkpro.lua b/lua/custom/plugins/onedarkpro.lua index e2d2386..f9bc2b1 100644 --- a/lua/custom/plugins/onedarkpro.lua +++ b/lua/custom/plugins/onedarkpro.lua @@ -1,110 +1,114 @@ return { - -- { "navarasu/onedark.nvim", enabled = false }, - -- { - -- "olimorris/onedarkpro.nvim", - -- priority = 1000, -- Ensure it loads first - -- config = function() - -- local is_transparent = false - -- require("onedarkpro").setup({ - -- styles = { - -- types = "NONE", - -- methods = "NONE", - -- numbers = "NONE", - -- strings = "NONE", - -- comments = "italic", - -- keywords = "bold,italic", - -- constants = "NONE", - -- functions = "italic", - -- operators = "NONE", - -- variables = "NONE", - -- parameters = "NONE", - -- conditionals = "italic", - -- virtual_text = "NONE", - -- tags = "italic", - -- }, - -- colors = { - -- onedark = { - -- green = "#99c379", - -- gray = "#8094b4", - -- red = "#e06c75", - -- purple = "#c678dd", - -- yellow = "#e5c07a", - -- blue = "#61afef", - -- cyan = "#56b6c2", - -- bg_statusline = "#282c34", - -- indentline = "#3b4261", - -- float_bg = "#282c34", - -- }, - -- }, - -- options = { - -- cursorline = true, - -- transparency = is_transparent, - -- terminal_colors = true, - -- }, - -- highlights = { - -- -- overide cursor line fill colors - -- LineNr = { fg = "#49505E" }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. - -- CursorLineNr = { fg = "${blue}" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. - -- CursorLine = { bg = "#333842" }, - -- Cursor = { fg = "${bg}", bg = "${fg}" }, -- character under the cursor - -- lCursor = { fg = "${bg}", bg = "${fg}" }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') - -- CursorIM = { fg = "${bg}", bg = "${fg}" }, -- like Cursor, but used when in IME mode |CursorIM| - -- CursorColumn = { bg = "#333842" }, -- Screen-column at the cursor, when 'cursorcolumn' is set. - -- -- overide nvimtree folder icon fill color - -- NvimTreeFolderIcon = { fg = "${gray}" }, - -- -- overide nvimtree text fill color folder opened - -- NvimTreeOpenedFolderName = { fg = "${blue}" }, - -- -- overide nvimtree text fill color root folder - -- NvimTreeRootFolder = { fg = "${yellow}" }, - -- NvimTreeSpecialFile = { fg = "${orange}" }, - -- NvimTreeWinSeparator = { fg = "#202329" }, - -- NvimTreeIndentMarker = { fg = "#3E4450" }, - -- -- overide indenline fill color - -- IblIndent = { fg = "#3E4450" }, - -- -- overide cmp cursorline fill color with #333842 - -- PmenuSel = { bg = "#333842" }, - -- illuminatedWord = { bg = "#3b4261" }, - -- illuminatedCurWord = { bg = "#3b4261" }, - -- IlluminatedWordText = { bg = "#3b4261" }, - -- IlluminatedWordRead = { bg = "#3b4261" }, - -- IlluminatedWordWrite = { bg = "#3b4261" }, - -- StatusLine = { fg = "#f8f8f2", bg = is_transparent and "NONE" or "${bg}" }, - -- StatusLineTerm = { fg = "#f8f8f2", bg = "${bg}" }, - -- BufferLineFill = { bg = is_transparent and "NONE" or "${bg}" }, - -- ["@string.special.url.html"] = { fg = "${green}" }, - -- ["@text.uri.html"] = { fg = "${green}" }, - -- ["@tag.javascript"] = { fg = "${red}" }, - -- ["@tag.attribute"] = { fg = "${orange}", style = "italic" }, - -- ["@constructor.javascript"] = { fg = "${red}" }, - -- ["@variable"] = { fg = "${fg}", style = "NONE" }, -- various variable names - -- ["@variable.builtin"] = { fg = "${red}", style = "NONE" }, - -- ["@variable.member"] = "${cyan}", - -- ["@variable.parameter"] = "${red}", - -- ["@property"] = { fg = "${cyan}" }, -- similar to `@field` - -- NvimTreeGitDirty = { fg = "${yellow}" }, - -- Pmenu = { fg = "${fg}", bg = "${bg}" }, - -- PmenuThumb = { bg = "${gray}" }, -- Popup menu: Thumb of the scrollbar. - -- -- overide lualine fill color with bg color - -- LualineNormal = { bg = "${bg}" }, - -- -- overide lualine_c fill color with bg color - -- LualineC = { bg = "${bg}" }, - -- -- overide lualine_x fill color with bg color - -- LualineX = { bg = "${bg}" }, - -- -- overide which-key fill color with bg color - -- -- WhichKey = { bg = "${bg}" }, - -- -- -- overide which-key fill color with bg color - -- -- WhichKeySeperator = { bg = "${bg}" }, - -- -- -- overide which-key fill color with bg color - -- -- WhichKeyDesc = { fg = "${red}" }, - -- -- -- overide which-key fill color with bg color - -- -- WhichKeyFloat = { bg = "${bg}" }, - -- WhichKeyFloat = { bg = is_transparent and "NONE" or "${bg}" }, - -- -- -- overide which-key fill color with bg color - -- -- WhichKeyValue = { bg = "${bg}" }, - -- -- -- overide which-key fill color with bg color - -- -- WhichKeyBorder = { bg = "${bg}" }, - -- }, - -- }) - -- end, - -- }, + { "navarasu/onedark.nvim", enabled = false }, + { + "olimorris/onedarkpro.nvim", + priority = 1000, -- Ensure it loads first + config = function() + local is_transparent = false + require("onedarkpro").setup({ + styles = { + types = "NONE", + methods = "NONE", + numbers = "NONE", + strings = "NONE", + comments = "italic", + keywords = "bold,italic", + constants = "NONE", + functions = "italic", + operators = "NONE", + variables = "NONE", + parameters = "NONE", + conditionals = "italic", + virtual_text = "NONE", + tags = "italic", + }, + colors = { + onedark = { + green = "#99c379", + gray = "#8094b4", + red = "#e06c75", + purple = "#c678dd", + yellow = "#e5c07a", + blue = "#61afef", + cyan = "#56b6c2", + bg_statusline = "#282c34", + indentline = "#3b4261", + float_bg = "#282c34", + }, + }, + options = { + cursorline = true, + transparency = is_transparent, + terminal_colors = true, + }, + highlights = { + -- overide cursor line fill colors + LineNr = { fg = "#49505E" }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. + CursorLineNr = { fg = "${blue}" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. + CursorLine = { bg = "#333842" }, + Cursor = { fg = "${bg}", bg = "${fg}" }, -- character under the cursor + lCursor = { fg = "${bg}", bg = "${fg}" }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') + CursorIM = { fg = "${bg}", bg = "${fg}" }, -- like Cursor, but used when in IME mode |CursorIM| + CursorColumn = { bg = "#333842" }, -- Screen-column at the cursor, when 'cursorcolumn' is set. + -- overide nvimtree folder icon fill color + NvimTreeFolderIcon = { fg = "${gray}" }, + -- overide nvimtree text fill color folder opened + NvimTreeOpenedFolderName = { fg = "${blue}" }, + -- overide nvimtree text fill color root folder + NvimTreeRootFolder = { fg = "${yellow}" }, + NvimTreeSpecialFile = { fg = "${orange}" }, + NvimTreeWinSeparator = { fg = "#202329" }, + NvimTreeIndentMarker = { fg = "#3E4450" }, + -- overide indenline fill color + IblIndent = { fg = "#3E4450" }, + -- overide cmp cursorline fill color with #333842 + PmenuSel = { bg = "#333842" }, + illuminatedWord = { bg = "#3b4261" }, + illuminatedCurWord = { bg = "#3b4261" }, + IlluminatedWordText = { bg = "#3b4261" }, + IlluminatedWordRead = { bg = "#3b4261" }, + IlluminatedWordWrite = { bg = "#3b4261" }, + StatusLine = { fg = "#f8f8f2", bg = is_transparent and "NONE" or "${bg}" }, + StatusLineTerm = { fg = "#f8f8f2", bg = "${bg}" }, + BufferLineFill = { bg = is_transparent and "NONE" or "${bg}" }, + ["@string.special.url.html"] = { fg = "${green}" }, + ["@lsp.type.parameter"] = { fg = "${gray}" }, + -- ["@text.uri.html"] = { fg = "${green}" }, + -- ["@tag.javascript"] = { fg = "${red}" }, + -- ["@tag.attribute"] = { fg = "${orange}", style = "italic" }, + -- ["@constructor.javascript"] = { fg = "${red}" }, + -- ["@variable"] = { fg = "${fg}", style = "NONE" }, -- various variable names + -- ["@variable.builtin"] = { fg = "${red}", style = "NONE" }, + -- ["@variable.member"] = "${cyan}", + -- ["@variable.parameter"] = "${red}", + -- ["@property"] = { fg = "${cyan}" }, -- similar to `@field` + ["@property.lua"] = { fg = "${red}", bg = "NONE" }, + ["@lsp.type.property.lua"] = { fg = "${cyan}", bg = "NONE" }, + ["@lsp.type.variable.lua"] = { fg = "${red}", bg = "NONE" }, + NvimTreeGitDirty = { fg = "${yellow}" }, + Pmenu = { fg = "${fg}", bg = "${bg}" }, + PmenuThumb = { bg = "${gray}" }, -- Popup menu: Thumb of the scrollbar. + -- overide lualine fill color with bg color + LualineNormal = { bg = "${bg}" }, + -- overide lualine_c fill color with bg color + LualineC = { bg = "${bg}" }, + -- overide lualine_x fill color with bg color + LualineX = { bg = "${bg}" }, + -- overide which-key fill color with bg color + -- WhichKey = { bg = "${bg}" }, + -- -- overide which-key fill color with bg color + -- WhichKeySeperator = { bg = "${bg}" }, + -- -- overide which-key fill color with bg color + -- WhichKeyDesc = { fg = "${red}" }, + -- -- overide which-key fill color with bg color + -- WhichKeyFloat = { bg = "${bg}" }, + WhichKeyFloat = { bg = is_transparent and "NONE" or "${bg}" }, + -- -- overide which-key fill color with bg color + -- WhichKeyValue = { bg = "${bg}" }, + -- -- overide which-key fill color with bg color + -- WhichKeyBorder = { bg = "${bg}" }, + }, + }) + end, + }, }